segfault with rotate() using visual 5.4 on Debian i386

Sanjoy Mahajan <[email protected]>
Newsgroups gmane.comp.python.visualpython.user
Message-ID <[email protected]>
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 ()

------------------------------------------------------------------------------
Lotusphere 2011
Register now for Lotusphere 2011 and learn how
to connect the dots, take your collaborative environment
to the next level, and enter the era of Social Business.
http://p.sf.net/sfu/lotusphere-d2d
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.