From: Sanjoy M. <sa...@ol...> - 2010-12-20 03:10:51
|
I compiled visual 5.4 from source for my laptop, a Thinkpad T60 that runs a Debian testing/unstable mix. The following short program gives a segfault: from visual import * b=box() scene.autoscale=0 b.rotate(pi/4) It's using the boost 1.42.0 libraries and python 2.6.6. Here's the backtrace when it is run under gdb. Any other debugging steps to do? $ LIBGL_ALWAYS_SOFTWARE=1 PYTHONPATH="/usr/local/lib/python2.6/site-packages" gdb --args python "/home/sanjoy/admin/bug/vpython/test.py" (gdb) run Starting program: /usr/bin/python /home/sanjoy/admin/bug/vpython/test.py [Thread debugging using libthread_db enabled] [New Thread 0xb533cb70 (LWP 32322)] Program received signal SIGSEGV, Segmentation fault. 0xb676cbb7 in __cxa_allocate_exception () from /usr/lib/libstdc++.so.6 (gdb) bt #0 0xb676cbb7 in __cxa_allocate_exception () from /usr/lib/libstdc++.so.6 #1 0xb7a269f7 in cvisual::py_rotate<cvisual::primitive> (args=..., kwargs=DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece or DW_OP_bit_piece. ) at ../../visual-5.4_release/src/python/wrap_primitive.cpp:48 #2 0xb7a2665d in operator() (this=0x83067a8, args=0x84a7dac, kw=0x0) at /usr/include/boost/python/raw_function.hpp:36 #3 boost::python::objects::full_py_function_impl<boost::python::detail::raw_dispatcher<boost::python::api::object (*)(boost::python::tuple, boost::python::dict)>, boost::mpl::vector1<PyObject*> >::operator() (this=0x83067a8, args=0x84a7dac, kw=0x0) at /usr/include/boost/python/object/py_function.hpp:94 #4 0xb67f701f in boost::python::objects::function::call(_object*, _object*) const () from /usr/lib/libboost_python-py26.so.1.42.0 #5 0xb67f7257 in ?? () from /usr/lib/libboost_python-py26.so.1.42.0 #6 0xb67fe532 in boost::python::detail::exception_handler::operator()(boost::function0<void> const&) const () from /usr/lib/libboost_python-py26.so.1.42.0 #7 0xb79dbd82 in operator() (function_obj_ptr=..., a0=..., a1=...) at /usr/include/boost/python/detail/translate_exception.hpp:48 #8 operator()<bool, boost::python::detail::translate_exception<std::runtime_error, void (*)(std::runtime_error)>, boost::_bi::list2<const boost::python::detail::exception_handler&, const boost::function0<void>&> > ( function_obj_ptr=..., a0=..., a1=...) at /usr/include/boost/bind/bind.hpp:382 #9 operator()<boost::python::detail::exception_handler, boost::function0<void> > (function_obj_ptr=..., a0=..., a1=...) at /usr/include/boost/bind/bind_template.hpp:102 #10 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 (function_obj_ptr=..., a0=..., a1=...) at /usr/include/boost/function/function_template.hpp:132 #11 0xb67fe511 in boost::python::detail::exception_handler::operator()(boost::function0<void> const&) const () from /usr/lib/libboost_python-py26.so.1.42.0 #12 0xb79dbb22 in operator() (function_obj_ptr=..., a0=..., a1=...) at /usr/include/boost/python/detail/translate_exception.hpp:48 #13 operator()<bool, boost::python::detail::translate_exception<std::invalid_argument, void (*)(std::invalid_argument)>, boost::_bi::list2<const boost::python::detail::exception_handler&, const boost::function0<void>&> > ( function_obj_ptr=..., a0=..., a1=...) at /usr/include/boost/bind/bind.hpp:382 #14 operator()<boost::python::detail::exception_handler, boost::function0<void> > (function_obj_ptr=..., a0=..., a1=...) at /usr/include/boost/bind/bind_template.hpp:102 #15 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 ( function_obj_ptr=..., a0=..., a1=...) at /usr/include/boost/function/function_template.hpp:132 #16 0xb67fe511 in boost::python::detail::exception_handler::operator()(boost::function0<void> const&) const () from /usr/lib/libboost_python-py26.so.1.42.0 #17 0xb79dba72 in operator() (function_obj_ptr=..., a0=..., a1=...) at /usr/include/boost/python/detail/translate_exception.hpp:48 #18 operator()<bool, boost::python::detail::translate_exception<std::out_of_range, void (*)(std::out_of_range)>, boost::_bi::list2<const boost::python::detail::exception_handler&, const boost::function0<void>&> > (function_obj_ptr=..., a0=..., a1=...) at /usr/include/boost/bind/bind.hpp:382 #19 operator()<boost::python::detail::exception_handler, boost::function0<void> > (function_obj_ptr=..., a0=..., a1=...) at /usr/include/boost/bind/bind_template.hpp:102 #20 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 (function_obj_ptr=..., a0=..., a1=...) at /usr/include/boost/function/function_template.hpp:132 #21 0xb67fe303 in boost::python::handle_exception_impl(boost::function0<void>) () from /usr/lib/libboost_python-py26.so.1.42.0 #22 0xb67f3da6 in ?? () from /usr/lib/libboost_python-py26.so.1.42.0 #23 0x0806232a in PyObject_Call () #24 0x080e016b in PyEval_EvalFrameEx () #25 0x080e2507 in PyEval_EvalCodeEx () #26 0x080e2607 in PyEval_EvalCode () #27 0x080ffcbd in PyRun_FileExFlags () #28 0x080fff22 in PyRun_SimpleFileExFlags () #29 0x0805dd81 in Py_Main () #30 0x0805cf6b in main () |