[C++-sig] boost.python on OS X 10.3 (Panther)

Harri Hakula hhakula at math.hut.fi
Tue Nov 4 06:52:38 CET 2003


On Nov 3, 2003, at 9:57 PM, Rene Rivera wrote:

> Well I've made some changes to the CVS build (python.jam and
> darwin-tools.jam) which incorporates the changes posted so far.
>
> Feedback on how this works, or doesn't, are most appreciated :-)
>
I get lots of messages like

darwin-C++-action  
bin/boost/libs/python/build/libboost_python.dylib/darwin/debug/shared- 
linkable-true/list.o
c++: -framework: linker input file unused because linking not done
c++: Python: linker input file unused because linking not done

Perhaps we shouldn't have -framework in Cc- and C++-actions?

However, what is most worrying is that on all machines that I have  
access to, I see the
infamous semaphore_wait_trap raising its head. Having consulted with  
Sean Spicer who
never sees it, I'm completely baffled.

Tests stall at injected.test.
Here is what gdb says:
(gdb) attach 22070
Attaching to process 22070.
Reading symbols for shared libraries . done
Reading symbols for shared libraries warning: Pre-compiled symbol file  
"/usr/libexec/gdb/symfiles/python.syms" is out of date (Fri Sep 26  
09:40:51 2003 vs. Fri Sep 26 09:40:47 2003); ignoring
.......................... done
0x90014628 in semaphore_wait_trap ()
(gdb) where
#0  0x90014628 in semaphore_wait_trap ()
#1  0x90002310 in pthread_mutex_lock ()
#2  0x0202ad5c in std::__default_alloc_template<true,  
0>::allocate(unsigned long) () at  
/usr/local/src/boost/boost/python/object/py_function.hpp:125
#3  0x02078d18 in  
std::__simple_alloc<std::_Rb_tree_node<boost::python::converter:: 
registration>, std::__default_alloc_template<true, 0>  
 >::allocate(unsigned long) (__n=Cannot access memory at address 0x88
) at /usr/include/gcc/darwin/3.3/c++/bits/stl_alloc.h:232
#4  0x02078b40 in  
std::_Rb_tree_alloc_base<boost::python::converter::registration,  
std::allocator<boost::python::converter::registration>,  
true>::_M_get_node() (this=0x20e9f58) at  
/usr/include/gcc/darwin/3.3/c++/bits/stl_tree.h:564
#5  0x02078340 in  
std::_Rb_tree_base<boost::python::converter::registration,  
std::allocator<boost::python::converter::registration>  
 >::_Rb_tree_base(std::allocator<boost::python::converter::registration>  
const&) (this=0x20e9f58, __a=@0xbfffbb40) at  
/usr/include/gcc/darwin/3.3/c++/bits/stl_tree.h:579
#6  0x020782f8 in  
std::_Rb_tree_base<boost::python::converter::registration,  
std::allocator<boost::python::converter::registration>  
 >::_Rb_tree_base(std::allocator<boost::python::converter::registration>  
const&) (this=0x20e9f58, __a=@0xbfffbb40) at  
/usr/include/gcc/darwin/3.3/c++/bits/stl_tree.h:579
#7  0x02077a30 in std::_Rb_tree<boost::python::converter::registration,  
boost::python::converter::registration,  
std::_Identity<boost::python::converter::registration>,  
std::less<boost::python::converter::registration>,  
std::allocator<boost::python::converter::registration>  
 >::_Rb_tree(std::less<boost::python::converter::registration> const&,  
std::allocator<boost::python::converter::registration> const&)  
(this=0x20e9f58, __comp=@0xbfffbb50, __a=@0xbfffbb40) at  
/usr/include/gcc/darwin/3.3/c++/bits/stl_tree.h:730
#8  0x020779f0 in std::_Rb_tree<boost::python::converter::registration,  
boost::python::converter::registration,  
std::_Identity<boost::python::converter::registration>,  
std::less<boost::python::converter::registration>,  
std::allocator<boost::python::converter::registration>  
 >::_Rb_tree(std::less<boost::python::converter::registration> const&,  
std::allocator<boost::python::converter::registration> const&)  
(this=0x20e9f58, __comp=@0xbfffbb50, __a=@0xbfffbb40) at  
/usr/include/gcc/darwin/3.3/c++/bits/stl_tree.h:730
#9  0x020774ac in std::set<boost::python::converter::registration,  
std::less<boost::python::converter::registration>,  
std::allocator<boost::python::converter::registration> >::set()  
(this=0x20e9f58) at /usr/include/gcc/darwin/3.3/c++/bits/stl_set.h:123
#10 0x02077464 in std::set<boost::python::converter::registration,  
std::less<boost::python::converter::registration>,  
std::allocator<boost::python::converter::registration> >::set()  
(this=0x20e9f58) at /usr/include/gcc/darwin/3.3/c++/bits/stl_set.h:123
#11 0x02011050 in boost::python::converter::(anonymous  
namespace)::entries() () at  
/usr/local/src/boost/libs/python/src/converter/registry.cpp:71
#12 0x020110d0 in boost::python::converter::(anonymous  
namespace)::get(boost::python::type_info)  
(type={<totally_ordered<boost::python::type_info,boost::python:: 
type_info,boost::detail::empty_base,boost::detail::false_t>> =  
{<totally_ordered1<boost::python::type_info,boost::detail::empty_base>>  
=  
{<less_than_comparable1<boost::python::type_info,boost:: 
equality_comparable1<boost::python::type_info,  
boost::detail::empty_base> >> =  
{<equality_comparable1<boost::python::type_info,boost::detail:: 
empty_base>> = {<empty_base> = {<No data fields>}, <No data fields>},  
<No data fields>}, <No data fields>}, <No data fields>}, m_base_type =  
0x206fc78 "b"}) at  
/usr/local/src/boost/libs/python/src/converter/registry.cpp:142
#13 0x020114ac in  
boost::python::converter::registry::lookup(boost::python::type_info)  
(key={<totally_ordered<boost::python::type_info,boost::python:: 
type_info,boost::detail::empty_base,boost::detail::false_t>> =  
{<totally_ordered1<boost::python::type_info,boost::detail::empty_base>>  
=  
{<less_than_comparable1<boost::python::type_info,boost:: 
equality_comparable1<boost::python::type_info,  
boost::detail::empty_base> >> =  
{<equality_comparable1<boost::python::type_info,boost::detail:: 
empty_base>> = {<empty_base> = {<No data fields>}, <No data fields>},  
<No data fields>}, <No data fields>}, <No data fields>}, m_base_type =  
0x206fc78 "b"}) at  
/usr/local/src/boost/libs/python/src/converter/registry.cpp:231
#14 0x020ab190 in __static_initialization_and_destruction_0(int, int)  
(__initialize_p=1, __priority=65535) at  
/usr/local/src/boost/boost/python/converter/registered.hpp:56
#15 0x020ab3c8 in  
_GLOBAL__I__ZN5boost6python7numeric65_GLOBAL__N__usr_local_src_boost_lib 
s_python_src_numeric.cppebPZ6a5stateE () at  
/usr/local/src/boost/boost/python/object_core.hpp:280
#16 0x8fe178d0 in __dyld_call_module_initializers_for_library ()
#17 0x8fe17648 in __dyld_call_module_initializers ()
#18 0x8fe118ac in __dyld_link_in_need_modules ()
#19 0x8fe11290 in __dyld_bind_lazy_symbol_reference ()
#20 0x8fe01620 in __dyld_stub_binding_helper_interface ()
#21 0x0202b274 in std::__default_alloc_template<true,  
0>::_S_chunk_alloc(unsigned long, int&) () at  
/usr/local/src/boost/boost/python/object/py_function.hpp:125
#22 0x0202b114 in std::__default_alloc_template<true,  
0>::_S_refill(unsigned long) () at  
/usr/local/src/boost/boost/python/object/py_function.hpp:125
#23 0x0202ad70 in std::__default_alloc_template<true,  
0>::allocate(unsigned long) () at  
/usr/local/src/boost/boost/python/object/py_function.hpp:125
#24 0x02078d18 in  
std::__simple_alloc<std::_Rb_tree_node<boost::python::converter:: 
registration>, std::__default_alloc_template<true, 0>  
 >::allocate(unsigned long) (__n=Cannot access memory at address 0x88
) at /usr/include/gcc/darwin/3.3/c++/bits/stl_alloc.h:232
#25 0x02078b40 in  
std::_Rb_tree_alloc_base<boost::python::converter::registration,  
std::allocator<boost::python::converter::registration>,  
true>::_M_get_node() (this=0x20e9f58) at  
/usr/include/gcc/darwin/3.3/c++/bits/stl_tree.h:564
#26 0x02078340 in  
std::_Rb_tree_base<boost::python::converter::registration,  
std::allocator<boost::python::converter::registration>  
 >::_Rb_tree_base(std::allocator<boost::python::converter::registration>  
const&) (this=0x20e9f58, __a=@0xbfffc510) at  
/usr/include/gcc/darwin/3.3/c++/bits/stl_tree.h:579
#27 0x020782f8 in  
std::_Rb_tree_base<boost::python::converter::registration,  
std::allocator<boost::python::converter::registration>  
 >::_Rb_tree_base(std::allocator<boost::python::converter::registration>  
const&) (this=0x20e9f58, __a=@0xbfffc510) at  
/usr/include/gcc/darwin/3.3/c++/bits/stl_tree.h:579
#28 0x02077a30 in std::_Rb_tree<boost::python::converter::registration,  
boost::python::converter::registration,  
std::_Identity<boost::python::converter::registration>,  
std::less<boost::python::converter::registration>,  
std::allocator<boost::python::converter::registration>  
 >::_Rb_tree(std::less<boost::python::converter::registration> const&,  
std::allocator<boost::python::converter::registration> const&)  
(this=0x20e9f58, __comp=@0xbfffc520, __a=@0xbfffc510) at  
/usr/include/gcc/darwin/3.3/c++/bits/stl_tree.h:730
#29 0x020779f0 in std::_Rb_tree<boost::python::converter::registration,  
boost::python::converter::registration,  
std::_Identity<boost::python::converter::registration>,  
std::less<boost::python::converter::registration>,  
std::allocator<boost::python::converter::registration>  
 >::_Rb_tree(std::less<boost::python::converter::registration> const&,  
std::allocator<boost::python::converter::registration> const&)  
(this=0x20e9f58, __comp=@0xbfffc520, __a=@0xbfffc510) at  
/usr/include/gcc/darwin/3.3/c++/bits/stl_tree.h:730
#30 0x020774ac in std::set<boost::python::converter::registration,  
std::less<boost::python::converter::registration>,  
std::allocator<boost::python::converter::registration> >::set()  
(this=0x20e9f58) at /usr/include/gcc/darwin/3.3/c++/bits/stl_set.h:123
#31 0x02077464 in std::set<boost::python::converter::registration,  
std::less<boost::python::converter::registration>,  
std::allocator<boost::python::converter::registration> >::set()  
(this=0x20e9f58) at /usr/include/gcc/darwin/3.3/c++/bits/stl_set.h:123
#32 0x02011050 in boost::python::converter::(anonymous  
namespace)::entries() () at  
/usr/local/src/boost/libs/python/src/converter/registry.cpp:71
#33 0x020110d0 in boost::python::converter::(anonymous  
namespace)::get(boost::python::type_info)  
(type={<totally_ordered<boost::python::type_info,boost::python:: 
type_info,boost::detail::empty_base,boost::detail::false_t>> =  
{<totally_ordered1<boost::python::type_info,boost::detail::empty_base>>  
=  
{<less_than_comparable1<boost::python::type_info,boost:: 
equality_comparable1<boost::python::type_info,  
boost::detail::empty_base> >> =  
{<equality_comparable1<boost::python::type_info,boost::detail:: 
empty_base>> = {<empty_base> = {<No data fields>}, <No data fields>},  
<No data fields>}, <No data fields>}, <No data fields>}, m_base_type =  
0x423a58 "N5boost10shared_ptrI10test_classILi0EEEE"}) at  
/usr/local/src/boost/libs/python/src/converter/registry.cpp:142
#34 0x0201137c in boost::python::converter::registry::insert(void*  
(*)(_object*), void (*)(_object*,  
boost::python::converter::rvalue_from_python_stage1_data*),  
boost::python::type_info) (convertible=0x415b48  
<boost::python::converter::shared_ptr_from_python<test_class<0>  
 >::convertible(_object*)>, construct=0x415bbc  
<boost::python::converter::shared_ptr_from_python<test_class<0>  
 >::construct(_object*,  
boost::python::converter::rvalue_from_python_stage1_data*)>,  
key={<totally_ordered<boost::python::type_info,boost::python:: 
type_info,boost::detail::empty_base,boost::detail::false_t>> =  
{<totally_ordered1<boost::python::type_info,boost::detail::empty_base>>  
=  
{<less_than_comparable1<boost::python::type_info,boost:: 
equality_comparable1<boost::python::type_info,  
boost::detail::empty_base> >> =  
{<equality_comparable1<boost::python::type_info,boost::detail:: 
empty_base>> = {<empty_base> = {<No data fields>}, <No data fields>},  
<No data fields>}, <No data fields>}, <No data fields>}, m_base_type =  
0x423a58 "N5boost10shared_ptrI10test_classILi0EEEE"}) at  
/usr/local/src/boost/libs/python/src/converter/registry.cpp:202
#35 0x00415a10 in  
boost::python::converter::shared_ptr_from_python<test_class<0>  
 >::shared_ptr_from_python() (this=0x423438) at  
/usr/local/src/boost/boost/python/converter/shared_ptr_from_python.hpp: 
19
#36 0x00415988 in  
boost::python::converter::shared_ptr_from_python<test_class<0>  
 >::shared_ptr_from_python() (this=0x423438) at  
/usr/local/src/boost/boost/python/converter/shared_ptr_from_python.hpp: 
19
#37 0x0041b938 in __static_initialization_and_destruction_0(int, int)  
(__initialize_p=1, __priority=65535) at  
/usr/local/src/boost/boost/python/converter/shared_ptr_from_python.hpp: 
49
#38 0x0041bac0 in _GLOBAL__I__Z5emptyv () at  
/usr/local/src/boost/boost/python/object/instance.hpp:31
#39 0x8fe17b38 in __dyld_call_module_initializers_for_objects ()
#40 0x8fe17600 in __dyld_call_module_initializers ()
#41 0x8fe118ac in __dyld_link_in_need_modules ()
#42 0x8fe134e4 in __dyld__dyld_link_module ()
#43 0x9003f5a8 in NSLinkModule ()
#44 0x95fcc4e4 in _PyImport_GetDynLoadFunc ()
#45 0x95fc1b6c in _PyImport_LoadDynamicModule ()
#46 0x95fbf7a4 in PyImport_ExecCodeModuleEx ()
#47 0x95fc08c4 in PyImport_ImportModuleEx ()
#48 0x95fc02e0 in PyImport_ImportModuleEx ()
#49 0x95fbfe00 in PyImport_ImportModule ()
#50 0x95fbffd4 in PyImport_ImportModuleEx ()
#51 0x95f9cbf0 in _PyUnicodeUCS2_IsAlpha ()
#52 0x95f4a8d0 in PyObject_Call ()
#53 0x95fa91ec in PyEval_CallObjectWithKeywords ()
#54 0x95fa6984 in PyEval_EvalCode ()
#55 0x95fa7e30 in PyEval_EvalCodeEx ()
#56 0x95fa4734 in PyEval_EvalCode ()
#57 0x95faab78 in _PyEval_SliceIndex ()
#58 0x95fa5e08 in PyEval_EvalCode ()
#59 0x95fa7e30 in PyEval_EvalCodeEx ()
#60 0x95fa97dc in PyEval_GetFuncDesc ()
#61 0x95fa9580 in PyEval_GetFuncDesc ()
#62 0x95fa6c64 in PyEval_EvalCode ()
#63 0x95fa9728 in PyEval_GetFuncDesc ()
#64 0x95fa9580 in PyEval_GetFuncDesc ()
#65 0x95fa6c64 in PyEval_EvalCode ()
#66 0x95fa7e30 in PyEval_EvalCodeEx ()
#67 0x95fa97dc in PyEval_GetFuncDesc ()
#68 0x95fa9580 in PyEval_GetFuncDesc ()
#69 0x95fa6c64 in PyEval_EvalCode ()
#70 0x95fa7e30 in PyEval_EvalCodeEx ()
#71 0x95fa97dc in PyEval_GetFuncDesc ()
#72 0x95fa9580 in PyEval_GetFuncDesc ()
#73 0x95fa6c64 in PyEval_EvalCode ()
#74 0x95fa7e30 in PyEval_EvalCodeEx ()
#75 0x95fa97dc in PyEval_GetFuncDesc ()
#76 0x95fa9580 in PyEval_GetFuncDesc ()
#77 0x95fa6c64 in PyEval_EvalCode ()
#78 0x95fa7e30 in PyEval_EvalCodeEx ()
#79 0x95fa97dc in PyEval_GetFuncDesc ()
#80 0x95fa9580 in PyEval_GetFuncDesc ()
#81 0x95fa6c64 in PyEval_EvalCode ()
#82 0x95fa7e30 in PyEval_EvalCodeEx ()
#83 0x95fa4734 in PyEval_EvalCode ()
#84 0x95fc85f0 in PyRun_FileExFlags ()
#85 0x95fc7668 in PyRun_SimpleFileExFlags ()
#86 0x95fd1ec0 in Py_Main ()
#87 0x00003c78 in start ()
#88 0x00003aec in start ()
(gdb)
>
> -- grafik - Don't Assume Anything
> -- rrivera (at) acm.org - grafik (at) redshift-software.com
> -- 102708583 (at) icq
>
> _______________________________________________
> C++-sig mailing list
> C++-sig at python.org
> http://mail.python.org/mailman/listinfo/c++-sig

Cheers,

	Harri Hakula





More information about the Cplusplus-sig mailing list