From: Sanjoy M. <sa...@MI...> - 2009-08-12 19:31:50
|
On Debian GNU/Linux (i386, 'unstable' distribution), I get a segfault with the following vpython script. I'm using v5.11 as packaged in Debian, with Python 2.5.4 from Debian. Does anyone see the same problem? I eventually figured out one problem with the script: the "F -= ball.m*g" line needs a vector on the right-hand side. But I don't think it should segfault even with that mistake. By the way, valgrind is not very happy with the script, and also gives something of a backtrace for the segfault. I've included the end of the output of "valgrind --leak-check=full python /tmp/script.py" -Sanjoy from visual import * cd = 0.5 # drag coefficient for a sphere ball = sphere(pos=(0,0,0), # in m color=color.red, radius=0.05) # in m ball.v = vector(10,0,10) # in m/s ball.m = 0.5 g = 10 endpoint = sphere(pos=(20,0,0)) startpoint = sphere(pos=(0,0,0)) scene.autoscale = 0 trail = curve() dt = 0.0001 area = pi * ball.radius**2 # cross-sectional area of ball while 1: rate(int(1/dt)) ball.pos += ball.v*dt # use updated velocity to update position trail.append(pos=ball.pos) F = -0.5 * cd * area * ball.v * ball.v.mag F -= ball.m*g ball.v += F/ball.m*dt # force changes the velocity And here is the valgrind output: ==3275== Memcheck, a memory error detector. ==3275== Copyright (C) 2002-2008, and GNU GPL'd, by Julian Seward et al. ==3275== Using LibVEX rev 1884, a library for dynamic binary translation. ==3275== Copyright (C) 2004-2008, and GNU GPL'd, by OpenWorks LLP. ==3275== Using valgrind-3.4.1-Debian, a dynamic binary instrumentation framework. ==3275== Copyright (C) 2000-2008, and GNU GPL'd, by Julian Seward et al. ==3275== For more details, rerun with: -v ........... snipped a bunch of stuff here .................. ==3275== Thread 2: ==3275== Conditional jump or move depends on uninitialised value(s) ==3275== at 0x9239325: _mesa_LightModelfv (in /usr/lib/dri/i915_dri.so) ==3275== by 0x5DC2219: cvisual::display_kernel::enable_lights(cvisual::view&) (in /usr/lib/python2.5/site-packages/cvisualmodule.so.3.0.0) ==3275== by 0x5DC5AF9: cvisual::display_kernel::draw(cvisual::view&, int, bool, bool) (in /usr/lib/python2.5/site-packages/cvisualmodule.so.3.0.0) ==3275== by 0x5DC8B85: cvisual::display_kernel::render_scene() (in /usr/lib/python2.5/site-packages/cvisualmodule.so.3.0.0) ==3275== by 0x5DECC7E: cvisual::render_surface::paint(Gtk::Window*, bool, bool) (in /usr/lib/python2.5/site-packages/cvisualmodule.so.3.0.0) ==3275== by 0x5DE4A00: cvisual::display::paint() (in /usr/lib/python2.5/site-packages/cvisualmodule.so.3.0.0) ==3275== by 0x5DB0E75: cvisual::render_manager::paint_displays(std::vector<cvisual::display*, std::allocator<cvisual::display*> > const&, bool) (in /usr/lib/python2.5/site-packages/cvisualmodule.so.3.0.0) ==3275== by 0x5DE477D: cvisual::gui_main::poll() (in /usr/lib/python2.5/site-packages/cvisualmodule.so.3.0.0) ==3275== by 0x5DE981B: sigc::internal::slot_call0<sigc::bound_mem_functor0<bool, cvisual::gui_main>, bool>::call_it(sigc::internal::slot_rep*) (in /usr/lib/python2.5/site-packages/cvisualmodule.so.3.0.0) ==3275== by 0x6704BE4: (within /usr/lib/libglibmm-2.4.so.1.2.0) ==3275== by 0x6F6BA25: (within /usr/lib/libglib-2.0.so.0.2000.4) ==3275== by 0x6F6B367: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.2000.4) ==3275== ==3275== Thread 1: ==3275== Invalid read of size 4 ==3275== at 0x710E967: __cxa_allocate_exception (in /usr/lib/libstdc++.so.6.0.12) ==3275== by 0x7017F9D: boost::python::throw_error_already_set() (in /usr/lib/libboost_python-mt-py25.so.1.38.0) ==3275== by 0x700FD19: boost::python::objects::function::argument_error(_object*, _object*) const (in /usr/lib/libboost_python-mt-py25.so.1.38.0) ==3275== by 0x701023B: boost::python::objects::function::call(_object*, _object*) const (in /usr/lib/libboost_python-mt-py25.so.1.38.0) ==3275== by 0x7010456: (within /usr/lib/libboost_python-mt-py25.so.1.38.0) ==3275== by 0x5DAECFB: boost::function0<void>::operator()() const (in /usr/lib/python2.5/site-packages/cvisualmodule.so.3.0.0) ==3275== by 0x701802A: boost::python::detail::exception_handler::operator()(boost::function0<void> const&) const (in /usr/lib/libboost_python-mt-py25.so.1.38.0) ==3275== by 0x5DF9221: boost::detail::function::function_obj_invoker2<boost::_bi::bind_t<bool, boost::python::detail::translate_exception<std::runtime_error, void (*)(std::runtime_error)>, boost::_bi::list3<boost::arg<1>, boost::arg<2>, boost::_bi::value<void (*)(std::runtime_error)> > >, bool, boost::python::detail::exception_handler const&, boost::function0<void> const&>::invoke(boost::detail::function::function_buffer&, boost::python::detail::exception_handler const&, boost::function0<void> const&) (in /usr/lib/python2.5/site-packages/cvisualmodule.so.3.0.0) ==3275== by 0x701800D: boost::python::detail::exception_handler::operator()(boost::function0<void> const&) const (in /usr/lib/libboost_python-mt-py25.so.1.38.0) ==3275== by 0x5DF8F91: boost::detail::function::function_obj_invoker2<boost::_bi::bind_t<bool, boost::python::detail::translate_exception<std::invalid_argument, void (*)(std::invalid_argument)>, boost::_bi::list3<boost::arg<1>, boost::arg<2>, boost::_bi::value<void (*)(std::invalid_argument)> > >, bool, boost::python::detail::exception_handler const&, boost::function0<void> const&>::invoke(boost::detail::function::function_buffer&, boost::python::detail::exception_handler const&, boost::function0<void> const&) (in /usr/lib/python2.5/site-packages/cvisualmodule.so.3.0.0) ==3275== by 0x701800D: boost::python::detail::exception_handler::operator()(boost::function0<void> const&) const (in /usr/lib/libboost_python-mt-py25.so.1.38.0) ==3275== by 0x5DF8EE1: boost::detail::function::function_obj_invoker2<boost::_bi::bind_t<bool, boost::python::detail::translate_exception<std::out_of_range, void (*)(std::out_of_range)>, boost::_bi::list3<boost::arg<1>, boost::arg<2>, boost::_bi::value<void (*)(std::out_of_range)> > >, bool, boost::python::detail::exception_handler const&, boost::function0<void> const&>::invoke(boost::detail::function::function_buffer&, boost::python::detail::exception_handler const&, boost::function0<void> const&) (in /usr/lib/python2.5/site-packages/cvisualmodule.so.3.0.0) ==3275== Address 0xc is not stack'd, malloc'd or (recently) free'd ==3275== ==3275== Process terminating with default action of signal 11 (SIGSEGV) ==3275== Access not within mapped region at address 0xC ==3275== at 0x710E967: __cxa_allocate_exception (in /usr/lib/libstdc++.so.6.0.12) ==3275== by 0x7017F9D: boost::python::throw_error_already_set() (in /usr/lib/libboost_python-mt-py25.so.1.38.0) ==3275== by 0x700FD19: boost::python::objects::function::argument_error(_object*, _object*) const (in /usr/lib/libboost_python-mt-py25.so.1.38.0) ==3275== by 0x701023B: boost::python::objects::function::call(_object*, _object*) const (in /usr/lib/libboost_python-mt-py25.so.1.38.0) ==3275== by 0x7010456: (within /usr/lib/libboost_python-mt-py25.so.1.38.0) ==3275== by 0x5DAECFB: boost::function0<void>::operator()() const (in /usr/lib/python2.5/site-packages/cvisualmodule.so.3.0.0) ==3275== by 0x701802A: boost::python::detail::exception_handler::operator()(boost::function0<void> const&) const (in /usr/lib/libboost_python-mt-py25.so.1.38.0) ==3275== by 0x5DF9221: boost::detail::function::function_obj_invoker2<boost::_bi::bind_t<bool, boost::python::detail::translate_exception<std::runtime_error, void (*)(std::runtime_error)>, boost::_bi::list3<boost::arg<1>, boost::arg<2>, boost::_bi::value<void (*)(std::runtime_error)> > >, bool, boost::python::detail::exception_handler const&, boost::function0<void> const&>::invoke(boost::detail::function::function_buffer&, boost::python::detail::exception_handler const&, boost::function0<void> const&) (in /usr/lib/python2.5/site-packages/cvisualmodule.so.3.0.0) ==3275== by 0x701800D: boost::python::detail::exception_handler::operator()(boost::function0<void> const&) const (in /usr/lib/libboost_python-mt-py25.so.1.38.0) ==3275== by 0x5DF8F91: boost::detail::function::function_obj_invoker2<boost::_bi::bind_t<bool, boost::python::detail::translate_exception<std::invalid_argument, void (*)(std::invalid_argument)>, boost::_bi::list3<boost::arg<1>, boost::arg<2>, boost::_bi::value<void (*)(std::invalid_argument)> > >, bool, boost::python::detail::exception_handler const&, boost::function0<void> const&>::invoke(boost::detail::function::function_buffer&, boost::python::detail::exception_handler const&, boost::function0<void> const&) (in /usr/lib/python2.5/site-packages/cvisualmodule.so.3.0.0) ==3275== by 0x701800D: boost::python::detail::exception_handler::operator()(boost::function0<void> const&) const (in /usr/lib/libboost_python-mt-py25.so.1.38.0) ==3275== by 0x5DF8EE1: boost::detail::function::function_obj_invoker2<boost::_bi::bind_t<bool, boost::python::detail::translate_exception<std::out_of_range, void (*)(std::out_of_range)>, boost::_bi::list3<boost::arg<1>, boost::arg<2>, boost::_bi::value<void (*)(std::out_of_range)> > >, bool, boost::python::detail::exception_handler const&, boost::function0<void> const&>::invoke(boost::detail::function::function_buffer&, boost::python::detail::exception_handler const&, boost::function0<void> const&) (in /usr/lib/python2.5/site-packages/cvisualmodule.so.3.0.0) ==3275== If you believe this happened as a result of a stack overflow in your ==3275== program's main thread (unlikely but possible), you can try to increase ==3275== the size of the main thread stack using the --main-stacksize= flag. ==3275== The main thread stack size used in this run was 8388608. ==3275== ==3275== ERROR SUMMARY: 747 errors from 61 contexts (suppressed: 729 from 6) ==3275== malloc/free: in use at exit: 17,259,192 bytes in 13,131 blocks. ==3275== malloc/free: 28,721 allocs, 15,590 frees, 35,738,068 bytes allocated. ==3275== For counts of detected errors, rerun with: -v ==3275== Use --track-origins=yes to see where uninitialised values come from ==3275== searching for pointers to 13,131 not-freed blocks. ==3275== checked 31,834,460 bytes. ==3275== ==3275== ==3275== 24 bytes in 1 blocks are possibly lost in loss record 304 of 593 ==3275== at 0x4025A2E: operator new(unsigned int) (vg_replace_malloc.c:224) ==3275== by 0x64E2D25: Gdk::Window_Class::wrap_new(_GObject*) (in /usr/lib/libgdkmm-2.4.so.1.0.30) ==3275== by 0x67134F2: (within /usr/lib/libglibmm-2.4.so.1.2.0) ==3275== by 0x67135A7: Glib::wrap_auto(_GObject*, bool) (in /usr/lib/libglibmm-2.4.so.1.2.0) ==3275== by 0x64E2F9C: Glib::wrap(_GdkWindowObject*, bool) (in /usr/lib/libgdkmm-2.4.so.1.0.30) ==3275== by 0x63402F4: Gtk::Widget::get_parent_window() (in /usr/lib/libgtkmm-2.4.so.1.0.30) ==3275== by 0x5DEC890: cvisual::render_surface::on_configure_event(_GdkEventConfigure*) (in /usr/lib/python2.5/site-packages/cvisualmodule.so.3.0.0) ==3275== by 0x6341E12: Gtk::Widget_Class::configure_event_callback(_GtkWidget*, _GdkEventConfigure*) (in /usr/lib/libgtkmm-2.4.so.1.0.30) ==3275== by 0x6861AE5: (within /usr/lib/libgtk-x11-2.0.so.0.1600.5) ==3275== by 0x6E60298: (within /usr/lib/libgobject-2.0.so.0.2000.4) ==3275== by 0x6E61B12: g_closure_invoke (in /usr/lib/libgobject-2.0.so.0.2000.4) ==3275== by 0x6E757E6: (within /usr/lib/libgobject-2.0.so.0.2000.4) ==3275== ==3275== ==3275== 24 bytes in 1 blocks are possibly lost in loss record 306 of 593 ==3275== at 0x4025A2E: operator new(unsigned int) (vg_replace_malloc.c:224) ==3275== by 0x5F1BD95: Gdk::GL::Config_Class::wrap_new(_GObject*) (in /usr/lib/libgdkglextmm-x11-1.2.so.0.0.0) ==3275== by 0x67134F2: (within /usr/lib/libglibmm-2.4.so.1.2.0) ==3275== by 0x67135A7: Glib::wrap_auto(_GObject*, bool) (in /usr/lib/libglibmm-2.4.so.1.2.0) ==3275== by 0x5F1BEBC: Glib::wrap(_GdkGLConfig*, bool) (in /usr/lib/libgdkglextmm-x11-1.2.so.0.0.0) ==3275== by 0x5F1C178: Gdk::GL::Config::create(Gdk::GL::ConfigMode) (in /usr/lib/libgdkglextmm-x11-1.2.so.0.0.0) ==3275== by 0x5DED3F2: cvisual::render_surface::render_surface(cvisual::display_kernel&, cvisual::mouse_manager&, bool) (in /usr/lib/python2.5/site-packages/cvisualmodule.so.3.0.0) ==3275== by 0x5DE57B3: cvisual::display::create() (in /usr/lib/python2.5/site-packages/cvisualmodule.so.3.0.0) ==3275== by 0x5DE91E0: cvisual::gui_main::add_display_impl() (in /usr/lib/python2.5/site-packages/cvisualmodule.so.3.0.0) ==3275== by 0x5DE97DB: sigc::internal::slot_call0<sigc::bound_mem_functor0<void, cvisual::gui_main>, void>::call_it(sigc::internal::slot_rep*) (in /usr/lib/python2.5/site-packages/cvisualmodule.so.3.0.0) ==3275== by 0x6702A48: Glib::DispatchNotifier::pipe_io_handler(Glib::IOCondition) (in /usr/lib/libglibmm-2.4.so.1.2.0) ==3275== by 0x6702B84: sigc::internal::slot_call1<sigc::bound_mem_functor1<bool, Glib::DispatchNotifier, Glib::IOCondition>, bool, Glib::IOCondition>::call_it(sigc::internal::slot_rep*, Glib::IOCondition const&) (in /usr/lib/libglibmm-2.4.so.1.2.0) ==3275== ==3275== ==3275== 40 bytes in 1 blocks are possibly lost in loss record 360 of 593 ==3275== at 0x4025A2E: operator new(unsigned int) (vg_replace_malloc.c:224) ==3275== by 0x626A475: Gtk::VBox_Class::wrap_new(_GObject*) (in /usr/lib/libgtkmm-2.4.so.1.0.30) ==3275== by 0x67134F2: (within /usr/lib/libglibmm-2.4.so.1.2.0) ==3275== by 0x67135A7: Glib::wrap_auto(_GObject*, bool) (in /usr/lib/libglibmm-2.4.so.1.2.0) ==3275== by 0x6343B64: Glib::wrap(_GtkWidget*, bool) (in /usr/lib/libgtkmm-2.4.so.1.0.30) ==3275== by 0x60E1859: Gnome::Glade::Xml::get_widget(Glib::ustring const&) (in /usr/lib/libglademm-2.4.so.1.0.5) ==3275== by 0x5DE6675: cvisual::display::create() (in /usr/lib/python2.5/site-packages/cvisualmodule.so.3.0.0) ==3275== by 0x5DE91E0: cvisual::gui_main::add_display_impl() (in /usr/lib/python2.5/site-packages/cvisualmodule.so.3.0.0) ==3275== by 0x5DE97DB: sigc::internal::slot_call0<sigc::bound_mem_functor0<void, cvisual::gui_main>, void>::call_it(sigc::internal::slot_rep*) (in /usr/lib/python2.5/site-packages/cvisualmodule.so.3.0.0) ==3275== by 0x6702A48: Glib::DispatchNotifier::pipe_io_handler(Glib::IOCondition) (in /usr/lib/libglibmm-2.4.so.1.2.0) ==3275== by 0x6702B84: sigc::internal::slot_call1<sigc::bound_mem_functor1<bool, Glib::DispatchNotifier, Glib::IOCondition>, bool, Glib::IOCondition>::call_it(sigc::internal::slot_rep*, Glib::IOCondition const&) (in /usr/lib/libglibmm-2.4.so.1.2.0) ==3275== by 0x67048D1: Glib::IOSource::dispatch(sigc::slot_base*) (in /usr/lib/libglibmm-2.4.so.1.2.0) ==3275== ==3275== ==3275== 100 bytes in 1 blocks are definitely lost in loss record 430 of 593 ==3275== at 0x402601E: malloc (vg_replace_malloc.c:207) ==3275== by 0x710E954: __cxa_allocate_exception (in /usr/lib/libstdc++.so.6.0.12) ==3275== by 0x7017F9D: boost::python::throw_error_already_set() (in /usr/lib/libboost_python-mt-py25.so.1.38.0) ==3275== by 0x700FD19: boost::python::objects::function::argument_error(_object*, _object*) const (in /usr/lib/libboost_python-mt-py25.so.1.38.0) ==3275== by 0x701023B: boost::python::objects::function::call(_object*, _object*) const (in /usr/lib/libboost_python-mt-py25.so.1.38.0) ==3275== by 0x7010456: (within /usr/lib/libboost_python-mt-py25.so.1.38.0) ==3275== by 0x5DAECFB: boost::function0<void>::operator()() const (in /usr/lib/python2.5/site-packages/cvisualmodule.so.3.0.0) ==3275== by 0x701802A: boost::python::detail::exception_handler::operator()(boost::function0<void> const&) const (in /usr/lib/libboost_python-mt-py25.so.1.38.0) ==3275== by 0x5DF9221: boost::detail::function::function_obj_invoker2<boost::_bi::bind_t<bool, boost::python::detail::translate_exception<std::runtime_error, void (*)(std::runtime_error)>, boost::_bi::list3<boost::arg<1>, boost::arg<2>, boost::_bi::value<void (*)(std::runtime_error)> > >, bool, boost::python::detail::exception_handler const&, boost::function0<void> const&>::invoke(boost::detail::function::function_buffer&, boost::python::detail::exception_handler const&, boost::function0<void> const&) (in /usr/lib/python2.5/site-packages/cvisualmodule.so.3.0.0) ==3275== by 0x701800D: boost::python::detail::exception_handler::operator()(boost::function0<void> const&) const (in /usr/lib/libboost_python-mt-py25.so.1.38.0) ==3275== by 0x5DF8F91: boost::detail::function::function_obj_invoker2<boost::_bi::bind_t<bool, boost::python::detail::translate_exception<std::invalid_argument, void (*)(std::invalid_argument)>, boost::_bi::list3<boost::arg<1>, boost::arg<2>, boost::_bi::value<void (*)(std::invalid_argument)> > >, bool, boost::python::detail::exception_handler const&, boost::function0<void> const&>::invoke(boost::detail::function::function_buffer&, boost::python::detail::exception_handler const&, boost::function0<void> const&) (in /usr/lib/python2.5/site-packages/cvisualmodule.so.3.0.0) ==3275== by 0x701800D: boost::python::detail::exception_handler::operator()(boost::function0<void> const&) const (in /usr/lib/libboost_python-mt-py25.so.1.38.0) ==3275== ==3275== ==3275== 160 (40 direct, 120 indirect) bytes in 1 blocks are definitely lost in loss record 454 of 593 ==3275== at 0x402601E: malloc (vg_replace_malloc.c:207) ==3275== by 0x417FA68: (within /lib/i686/cmov/libc-2.9.so) ==3275== by 0x4180325: __nss_database_lookup (in /lib/i686/cmov/libc-2.9.so) ==3275== by 0x7F08F2B: ??? ==3275== by 0x7F09C84: ??? ==3275== by 0x4127711: getpwnam_r (in /lib/i686/cmov/libc-2.9.so) ==3275== by 0x6F9F9D3: (within /usr/lib/libglib-2.0.so.0.2000.4) ==3275== by 0x6FA1454: g_get_home_dir (in /usr/lib/libglib-2.0.so.0.2000.4) ==3275== by 0x68A90F7: (within /usr/lib/libgtk-x11-2.0.so.0.1600.5) ==3275== by 0x68ABC2A: (within /usr/lib/libgtk-x11-2.0.so.0.1600.5) ==3275== by 0x685C67E: (within /usr/lib/libgtk-x11-2.0.so.0.1600.5) ==3275== by 0x6F7A244: g_option_context_parse (in /usr/lib/libglib-2.0.so.0.2000.4) ==3275== ==3275== ==3275== 168 bytes in 1 blocks are possibly lost in loss record 466 of 593 ==3275== at 0x40240D2: calloc (vg_replace_malloc.c:397) ==3275== by 0x401119B: _dl_allocate_tls (in /lib/ld-2.9.so) ==3275== by 0x4047652: pthread_create@@GLIBC_2.1 (in /lib/i686/cmov/libpthread-2.9.so) ==3275== by 0x703A30E: boost::thread::start_thread() (in /usr/lib/libboost_thread-mt.so.1.38.0) ==3275== by 0x5DE5054: cvisual::gui_main::init_thread() (in /usr/lib/python2.5/site-packages/cvisualmodule.so.3.0.0) ==3275== by 0x5DE7B38: cvisual::gui_main::add_display(cvisual::display*) (in /usr/lib/python2.5/site-packages/cvisualmodule.so.3.0.0) ==3275== by 0x5DE7EFC: cvisual::display::activate(bool) (in /usr/lib/python2.5/site-packages/cvisualmodule.so.3.0.0) ==3275== by 0x5DC3855: cvisual::display_kernel::set_visible(bool) (in /usr/lib/python2.5/site-packages/cvisualmodule.so.3.0.0) ==3275== by 0x5DC3ECF: cvisual::display_kernel::implicit_activate() (in /usr/lib/python2.5/site-packages/cvisualmodule.so.3.0.0) ==3275== by 0x5DC401B: cvisual::display_kernel::add_renderable(boost::shared_ptr<cvisual::renderable>) (in /usr/lib/python2.5/site-packages/cvisualmodule.so.3.0.0) ==3275== by 0x5E51D18: boost::python::objects::caller_py_function_impl<boost::python::detail::caller<void (cvisual::display_kernel::*)(boost::shared_ptr<cvisual::renderable>), boost::python::default_call_policies, boost::mpl::vector3<void, cvisual::display_kernel&, boost::shared_ptr<cvisual::renderable> > > >::operator()(_object*, _object*) (in /usr/lib/python2.5/site-packages/cvisualmodule.so.3.0.0) ==3275== by 0x70101CF: boost::python::objects::function::call(_object*, _object*) const (in /usr/lib/libboost_python-mt-py25.so.1.38.0) ==3275== ==3275== ==3275== 200 bytes in 2 blocks are possibly lost in loss record 471 of 593 ==3275== at 0x40240D2: calloc (vg_replace_malloc.c:397) ==3275== by 0x7F4CB3F: (within /usr/lib/libdrm_intel.so.1.0.0) ==3275== by 0x7F48462: drm_intel_bo_alloc (in /usr/lib/libdrm_intel.so.1.0.0) ==3275== by 0x91E6954: intel_get_prim_space (in /usr/lib/dri/i915_dri.so) ==3275== by 0x91EC6DB: (within /usr/lib/dri/i915_dri.so) ==3275== by 0x91F2063: (within /usr/lib/dri/i915_dri.so) ==3275== by 0x92945C7: (within /usr/lib/dri/i915_dri.so) ==3275== by 0x928A3C3: _tnl_run_pipeline (in /usr/lib/dri/i915_dri.so) ==3275== by 0x91DDA88: (within /usr/lib/dri/i915_dri.so) ==3275== by 0x928A9D4: _tnl_draw_prims (in /usr/lib/dri/i915_dri.so) ==3275== by 0x928979B: vbo_save_playback_vertex_list (in /usr/lib/dri/i915_dri.so) ==3275== by 0x921375E: (within /usr/lib/dri/i915_dri.so) ==3275== ==3275== ==3275== 432 bytes in 1 blocks are possibly lost in loss record 482 of 593 ==3275== at 0x402613C: realloc (vg_replace_malloc.c:429) ==3275== by 0x80F7B78: _PyObject_GC_Resize (in /usr/bin/python2.5) ==3275== by 0x811626B: PyFrame_New (in /usr/bin/python2.5) ==3275== by 0x80CF84D: PyEval_EvalFrameEx (in /usr/bin/python2.5) ==3275== by 0x80CF89C: PyEval_EvalFrameEx (in /usr/bin/python2.5) ==3275== by 0x80CF89C: PyEval_EvalFrameEx (in /usr/bin/python2.5) ==3275== by 0x80CF89C: PyEval_EvalFrameEx (in /usr/bin/python2.5) ==3275== by 0x80D00C4: PyEval_EvalCodeEx (in /usr/bin/python2.5) ==3275== by 0x80CE9FB: PyEval_EvalFrameEx (in /usr/bin/python2.5) ==3275== by 0x80D00C4: PyEval_EvalCodeEx (in /usr/bin/python2.5) ==3275== by 0x80CE9FB: PyEval_EvalFrameEx (in /usr/bin/python2.5) ==3275== by 0x80D00C4: PyEval_EvalCodeEx (in /usr/bin/python2.5) ==3275== ==3275== ==3275== 800 bytes in 20 blocks are possibly lost in loss record 495 of 593 ==3275== at 0x40240D2: calloc (vg_replace_malloc.c:397) ==3275== by 0x6F7387B: g_malloc0 (in /usr/lib/libglib-2.0.so.0.2000.4) ==3275== by 0x6E7AA2B: (within /usr/lib/libgobject-2.0.so.0.2000.4) ==3275== by 0x6E7AAA5: (within /usr/lib/libgobject-2.0.so.0.2000.4) ==3275== by 0x6E7D0D7: g_type_init_with_debug_flags (in /usr/lib/libgobject-2.0.so.0.2000.4) ==3275== by 0x6E7D251: g_type_init (in /usr/lib/libgobject-2.0.so.0.2000.4) ==3275== by 0x6C26CD2: gdk_pre_parse_libgtk_only (in /usr/lib/libgdk-x11-2.0.so.0.1600.5) ==3275== by 0x685C816: (within /usr/lib/libgtk-x11-2.0.so.0.1600.5) ==3275== by 0x6F79D2C: g_option_context_parse (in /usr/lib/libglib-2.0.so.0.2000.4) ==3275== by 0x685C311: gtk_parse_args (in /usr/lib/libgtk-x11-2.0.so.0.1600.5) ==3275== by 0x685C393: gtk_init_check (in /usr/lib/libgtk-x11-2.0.so.0.1600.5) ==3275== by 0x685C3D3: gtk_init (in /usr/lib/libgtk-x11-2.0.so.0.1600.5) ==3275== ==3275== ==3275== 3,524 (196 direct, 3,328 indirect) bytes in 1 blocks are definitely lost in loss record 523 of 593 ==3275== at 0x402601E: malloc (vg_replace_malloc.c:207) ==3275== by 0x923725C: _mesa_malloc (in /usr/lib/dri/i915_dri.so) ==3275== by 0x918FB53: driConcatConfigs (in /usr/lib/dri/i915_dri.so) ==3275== by 0x91C0A67: (within /usr/lib/dri/i915_dri.so) ==3275== by 0x91919BA: (within /usr/lib/dri/i915_dri.so) ==3275== by 0x6025AB4: (within /usr/lib/libGL.so.1.2) ==3275== by 0x6002ADD: (within /usr/lib/libGL.so.1.2) ==3275== by 0x5FFE359: (within /usr/lib/libGL.so.1.2) ==3275== by 0x5FFF0C5: glXChooseVisual (in /usr/lib/libGL.so.1.2) ==3275== by 0x5F676FE: (within /usr/lib/libgdkglext-x11-1.0.so.0.0.0) ==3275== by 0x5F465D8: (within /usr/lib/libgdkglext-x11-1.0.so.0.0.0) ==3275== by 0x5F46724: (within /usr/lib/libgdkglext-x11-1.0.so.0.0.0) ==3275== ==3275== ==3275== 49,487 bytes in 50 blocks are possibly lost in loss record 576 of 593 ==3275== at 0x402601E: malloc (vg_replace_malloc.c:207) ==3275== by 0x8095413: PyString_FromStringAndSize (in /usr/bin/python2.5) ==3275== by 0x80E8744: (within /usr/bin/python2.5) ==3275== by 0x80E88DC: (within /usr/bin/python2.5) ==3275== by 0x80E8A26: (within /usr/bin/python2.5) ==3275== by 0x80E9478: PyMarshal_ReadLastObjectFromFile (in /usr/bin/python2.5) ==3275== by 0x80E38C2: (within /usr/bin/python2.5) ==3275== by 0x80E4CD6: (within /usr/bin/python2.5) ==3275== by 0x80E4F69: (within /usr/bin/python2.5) ==3275== by 0x80E553B: (within /usr/bin/python2.5) ==3275== by 0x80E5891: PyImport_ImportModuleLevel (in /usr/bin/python2.5) ==3275== by 0x80C8423: (within /usr/bin/python2.5) ==3275== ==3275== ==3275== 50,388 bytes in 139 blocks are possibly lost in loss record 578 of 593 ==3275== at 0x402601E: malloc (vg_replace_malloc.c:207) ==3275== by 0x80F8DCA: _PyObject_GC_NewVar (in /usr/bin/python2.5) ==3275== by 0x81162A7: PyFrame_New (in /usr/bin/python2.5) ==3275== by 0x80CF84D: PyEval_EvalFrameEx (in /usr/bin/python2.5) ==3275== by 0x80D00C4: PyEval_EvalCodeEx (in /usr/bin/python2.5) ==3275== by 0x80CE9FB: PyEval_EvalFrameEx (in /usr/bin/python2.5) ==3275== by 0x80D00C4: PyEval_EvalCodeEx (in /usr/bin/python2.5) ==3275== by 0x80D02D6: PyEval_EvalCode (in /usr/bin/python2.5) ==3275== by 0x80E3528: PyImport_ExecCodeModuleEx (in /usr/bin/python2.5) ==3275== by 0x80E37EB: (within /usr/bin/python2.5) ==3275== by 0x80E4CD6: (within /usr/bin/python2.5) ==3275== by 0x80E4F69: (within /usr/bin/python2.5) ==3275== ==3275== ==3275== 58,946 bytes in 218 blocks are possibly lost in loss record 579 of 593 ==3275== at 0x4025A2E: operator new(unsigned int) (vg_replace_malloc.c:224) ==3275== by 0x70EC145: std::string::_Rep::_S_create(unsigned int, unsigned int, std::allocator<char> const&) (in /usr/lib/libstdc++.so.6.0.12) ==3275== by 0x70ED050: (within /usr/lib/libstdc++.so.6.0.12) ==3275== by 0x70ED235: std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (in /usr/lib/libstdc++.so.6.0.12) ==3275== by 0x5DC361F: cvisual::display_kernel::display_kernel() (in /usr/lib/python2.5/site-packages/cvisualmodule.so.3.0.0) ==3275== by 0x5DE4A44: cvisual::display::display() (in /usr/lib/python2.5/site-packages/cvisualmodule.so.3.0.0) ==3275== by 0x5E51358: boost::python::objects::make_holder<0>::apply<boost::python::objects::value_holder<cvisual::display>, boost::mpl::vector0<mpl_::na> >::execute(_object*) (in /usr/lib/python2.5/site-packages/cvisualmodule.so.3.0.0) ==3275== by 0x5E09940: boost::python::objects::caller_py_function_impl<boost::python::detail::caller<void (*)(_object*), boost::python::default_call_policies, boost::mpl::vector2<void, _object*> > >::operator()(_object*, _object*) (in /usr/lib/python2.5/site-packages/cvisualmodule.so.3.0.0) ==3275== by 0x70101CF: boost::python::objects::function::call(_object*, _object*) const (in /usr/lib/libboost_python-mt-py25.so.1.38.0) ==3275== by 0x7010456: (within /usr/lib/libboost_python-mt-py25.so.1.38.0) ==3275== by 0x5DAECFB: boost::function0<void>::operator()() const (in /usr/lib/python2.5/site-packages/cvisualmodule.so.3.0.0) ==3275== by 0x701802A: boost::python::detail::exception_handler::operator()(boost::function0<void> const&) const (in /usr/lib/libboost_python-mt-py25.so.1.38.0) ==3275== ==3275== ==3275== 60,232 bytes in 55 blocks are possibly lost in loss record 580 of 593 ==3275== at 0x4023F3A: memalign (vg_replace_malloc.c:460) ==3275== by 0x4023FEE: posix_memalign (vg_replace_malloc.c:569) ==3275== by 0x6F88BAE: (within /usr/lib/libglib-2.0.so.0.2000.4) ==3275== by 0x6F8A32B: g_slice_alloc (in /usr/lib/libglib-2.0.so.0.2000.4) ==3275== by 0x6F8A464: g_slice_alloc0 (in /usr/lib/libglib-2.0.so.0.2000.4) ==3275== by 0x6E823EA: g_type_create_instance (in /usr/lib/libgobject-2.0.so.0.2000.4) ==3275== by 0x6E67264: (within /usr/lib/libgobject-2.0.so.0.2000.4) ==3275== by 0x6E67A95: g_object_newv (in /usr/lib/libgobject-2.0.so.0.2000.4) ==3275== by 0x6E68655: g_object_new_valist (in /usr/lib/libgobject-2.0.so.0.2000.4) ==3275== by 0x6E687CD: g_object_new (in /usr/lib/libgobject-2.0.so.0.2000.4) ==3275== by 0x6C4DA27: gdk_display_open (in /usr/lib/libgdk-x11-2.0.so.0.1600.5) ==3275== by 0x6C26B94: gdk_display_open_default_libgtk_only (in /usr/lib/libgdk-x11-2.0.so.0.1600.5) ==3275== ==3275== LEAK SUMMARY: ==3275== definitely lost: 336 bytes in 3 blocks. ==3275== indirectly lost: 3,448 bytes in 26 blocks. ==3275== possibly lost: 220,741 bytes in 489 blocks. ==3275== still reachable: 17,034,667 bytes in 12,613 blocks. ==3275== suppressed: 0 bytes in 0 blocks. ==3275== Reachable blocks (those to which a pointer was found) are not shown. ==3275== To see them, rerun with: --leak-check=full --show-reachable=yes |