[bind10-dev] python Segmentation fault in notify_out_test.py

Jeremy C. Reed jreed at isc.org
Tue Oct 30 19:28:58 UTC 2012


On Tue, 30 Oct 2012, Jeremy C. Reed wrote:

> Tests on NetBSD have been failing like:
> 
> Running test: notify_out_test.py
> ..............[1]   Segmentation fault (core dumped) PYTHONPATH=/home...
> *** Error code 139
> 
> http://git.bind10.isc.org/~tester/builder/BIND10/20121030163907-NetBSD6-i386-GCC/logs/unittests.out
> 
> This happens with python31 and python32. Here is a backtrace:
> 
> Core was generated by `python3.2'.
> Program terminated with signal 11, Segmentation fault.
> #0  0xbae55082 in std::string::assign(char const*, unsigned int) ()
>    from /usr/lib/libstdc++.so.7
> (gdb) bt
> #0  0xbae55082 in std::string::assign(char const*, unsigned int) ()
>    from /usr/lib/libstdc++.so.7
> #1  0xbb0721a1 in 
> log4cplus::detail::clear_tostringstream(std::basic_ostringstream<char, 
> std::char_traits<char>, std::allocator<char> >&) ()
>    from /usr/pkg/lib/liblog4cplus-1.1.so.5
> #2  0xbb072285 in log4cplus::detail::get_macro_body_oss() ()
>    from /usr/pkg/lib/liblog4cplus-1.1.so.5
> #3  0xbb242dfd in isc::log::LoggerImpl::outputRaw (this=0xba75b500, 
>     severity=@0xba3ff444, message=...) at logger_impl.cc:141
> #4  0xbb241854 in isc::log::Logger::output (this=0xbb5e5b20, 
>     severity=@0xba3ff444, message=...) at logger.cc:129
> #5  0xbb81b451 in ~Formatter (this=0xba3ff440, __in_chrg=<optimized 
> out>)
>     at ../../../../../src/lib/log/log_formatter.h:167
> #6  (anonymous 
> namespace)::Logger_performOutput<boost::_bi::bind_t<isc::log::Formatter<isc::log::Logger>, 
> boost::_mfi::mf1<isc::log::Formatter<isc::log::Logger>, 
> isc::log::Logger, char const* const&>, 
> boost::_bi::list2<boost::_bi::value<isc::log::Logger*>, boost::arg<2> > 
> > > (function=..., args=0xbb5ff22c, 
>     dbgLevel=false) at log.cc:538
> #7  0xbb81bd1f in (anonymous namespace)::Logger_info 
> (po_self=0xba7941e0, 
>     args=0xbb5ff22c) at log.cc:581
> #8  0xbbabf054 in PyCFunction_Call () from 
> /usr/pkg/lib/libpython3.2.so.1.0
> #9  0xbbb121ed in PyEval_EvalFrameEx () from 
> /usr/pkg/lib/libpython3.2.so.1.0
> #10 0xbbb12066 in PyEval_EvalFrameEx () from 
> /usr/pkg/lib/libpython3.2.so.1.0
> #11 0xbbb13ba1 in PyEval_EvalCodeEx () from 
> /usr/pkg/lib/libpython3.2.so.1.0
> #12 0xbbaad599 in function_call () from /usr/pkg/lib/libpython3.2.so.1.0
> #13 0xbba8a08c in PyObject_Call () from /usr/pkg/lib/libpython3.2.so.1.0
> #14 0xbbb10e93 in PyEval_EvalFrameEx () from 
> /usr/pkg/lib/libpython3.2.so.1.0
> #15 0xbbb12066 in PyEval_EvalFrameEx () from 
> /usr/pkg/lib/libpython3.2.so.1.0
> #16 0xbbb12066 in PyEval_EvalFrameEx () from 
> /usr/pkg/lib/libpython3.2.so.1.0
> #17 0xbbb13ba1 in PyEval_EvalCodeEx () from 
> /usr/pkg/lib/libpython3.2.so.1.0
> #18 0xbbaad4b1 in function_call () from /usr/pkg/lib/libpython3.2.so.1.0
> #19 0xbba8a08c in PyObject_Call () from /usr/pkg/lib/libpython3.2.so.1.0
> #20 0xbba9d195 in method_call () from /usr/pkg/lib/libpython3.2.so.1.0
> #21 0xbba8a08c in PyObject_Call () from /usr/pkg/lib/libpython3.2.so.1.0
> #22 0xbbb0c381 in PyEval_CallObjectWithKeywords ()
>    from /usr/pkg/lib/libpython3.2.so.1.0
> #23 0xbbb445c8 in t_bootstrap () from /usr/pkg/lib/libpython3.2.so.1.0
> #24 0xbba514ea in ?? () from /usr/lib/libpthread.so.1
> #25 0xbb968ea0 in ___lwp_park50 () from /usr/lib/libc.so.12
> #26 0xba200000 in ?? ()
> #27 0xbbac0b2e in PyObject_GetAttr () from 
> /usr/pkg/lib/libpython3.2.so.1.0
> #28 0xbbb0dd30 in PyEval_EvalFrameEx () from 
> /usr/pkg/lib/libpython3.2.so.1.0
> #29 0xbb99487b in free () from /usr/lib/libc.so.12
> #30 0xbbb44058 in PyObject_GC_Del () from 
> /usr/pkg/lib/libpython3.2.so.1.0
> #31 0xbbaac830 in PyFrame_BlockPop () from 
> /usr/pkg/lib/libpython3.2.so.1.0
> #32 0xbb9925b0 in ?? () from /usr/lib/libc.so.12
> ---Type <return> to continue, or q <return> to quit---
> Backtrace stopped: previous frame inner to this frame (corrupt stack?)


It appears to have the segmentation fault at the send_notify:

9395f12c (2011-06-27 13:27:43 +0800 453)         # send notify
9395f12c (2011-06-27 13:27:43 +0800 454)         example_net_info = self._notify._notify_infos[('example.net.', 'IN')]
9395f12c (2011-06-27 13:27:43 +0800 455)         example_net_info.notify_slaves = [('127.0.0.1', 53)]
9395f12c (2011-06-27 13:27:43 +0800 456)         example_net_info.create_socket('127.0.0.1')
9395f12c (2011-06-27 13:27:43 +0800 457)         self._notify.send_notify('example.net')
9395f12c (2011-06-27 13:27:43 +0800 458)         self.assertTrue(self._notify._nonblock_event.isSet())

I am not sure why this happens here as I can't reproduce on my other 
NetBSD system.


More information about the bind10-dev mailing list