Bug #4553
Wt segfault in WMessageResources::hibernate()
Start date:
11/06/2015
Due date:
% Done:
0%
Estimated time:
Description
Wt can segfault in WMessageResources::hibernate() if loadInMemory_ is false.
The issue occurs if the function is called from two threads simultaneously.
Adding a mutex (see patch) resolves the issue.
The issue is present in Wt 3.3.4 and latest git.
I have not had time to isolate a test-case but the following change in my
application fixes (avoids) the issue
- messageResourceBundle().use(docRoot() + FILE_LANG_EN, false);
- messageResourceBundle().use(docRoot() + FILE_LANG_EN);
Segfault (threads 1 & 19)
Thread 1 (LWP 378): #0 0xb6494894 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:55 #1 0xb6498394 in __GI_abort () at abort.c:89 #2 0xb64cc7b8 in __libc_message (do_abort=<optimized out>, fmt=0xb6584a00 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/posix/libc_fatal.c:175 #3 0xb64d6a74 in malloc_printerr (action=3, str=0xb6584b80 "free(): invalid pointer", ptr=<optimized out>) at malloc.c:4960 #4 0xb64d73ec in _int_free (av=<optimized out>, p=<optimized out>, have_lock=-1364202648) at malloc.c:3831 #5 0xb6a3f660 in __destroy<std::basic_string<char>*> (__last=0xac813ee4, __first=0xac813ee4) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/c++/4.9.2/bits/stl_construct.h:102 #6 _Destroy<std::basic_string<char>*> (__last=0xac813ee4, __first=<optimized out>) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/c++/4.9.2/bits/stl_construct.h:126 #7 _Destroy<std::basic_string<char>*, std::basic_string<char> > (__last=0xac813ee4, __first=<optimized out>) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/c++/4.9.2/bits/stl_construct.h:151 #8 std::vector<std::string, std::allocator<std::string> >::~vector (this=0xac813ecc, __in_chrg=<optimized out>) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/c++/4.9.2/bits/stl_vector.h:424 #9 0xb6b1720c in ~pair (this=0xac813ec8, __in_chrg=<optimized out>) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/c++/4.9.2/bits/stl_pair.h:96 #10 destroy (this=<optimized out>, __p=0xac813ec8) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/c++/4.9.2/ext/new_allocator.h:133 ---Type <return> to continue, or q <return> to quit--- #11 _M_destroy_node (this=0xb1b1400c, __p=0xac813eb8) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/c++/4.9.2/bits/stl_tree.h:409 #12 std::_Rb_tree<std::string, std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > >, std::_Select1st<std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > > > >::_M_erase (this=this@entry=0xb1b1400c, __x=0xac813eb8) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/c++/4.9.2/bits/stl_tree.h:1247 #13 0xb6b17200 in std::_Rb_tree<std::string, std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > >, std::_Select1st<std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > > > >::_M_erase (this=this@entry=0xb1b1400c, __x=0xb1dec958) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/c++/4.9.2/bits/stl_tree.h:1245 #14 0xb6b17200 in std::_Rb_tree<std::string, std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > >, std::_Select1st<std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > > > >::_M_erase (this=this@entry=0xb1b1400c, __x=0xb1d04418) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/c++/4.9.2/bits/stl_tree.h:1245 #15 0xb6b17200 in std::_Rb_tree<std::string, std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > >, std::_Select1st<std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > > > >::_M_erase (this=this@entry=0xb1b1400c, __x=0xb1d045a0) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/c++/4.9.2/bits/stl_tree.h:1245 #16 0xb6b17200 in std::_Rb_tree<std::string, std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > >, std::_Select1st<std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > > > >::_M_erase (this=this@entry=0xb1b1400c, __x=0xb1d008e8) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/c++/4.9.2/bits/stl_tree.h:1245 #17 0xb6b17200 in std::_Rb_tree<std::string, std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > >, std::_Select1st<std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > > > >::_M_erase (this=this@entry=0xb1b1400c, __x=0xb1d02b70) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/c++/4.9.2/bits/stl_tree.h:1245 #18 0xb6b17200 in std::_Rb_tree<std::string, std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > >, std::_Select1st<std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > > > >::_M_erase (this=this@entry=0xb1b1400c, __x=0xb1da7f38) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/c++/4.9.2/bits/stl_tree.h:1245 #19 0xb6b17200 in std::_Rb_tree<std::string, std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > >, std::_Select1st<std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > > > >::_M_erase (this=this@entry=0xb1b1400c, __x=0xb1dcfb10) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/c++/4.9.2/bits/stl_tree.h:1245 #20 0xb6b17200 in std::_Rb_tree<std::string, std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > >, std::_Select1st<std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > > > >::_M_erase (this=0xb1b1400c, __x=0xb1da7c10) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/c++/4.9.2/bits/stl_tree.h:1245 ---Type <return> to continue, or q <return> to quit--- //problem #21 0xb6ba9fbc in clear (this=0xb1b1400c) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/c++/4.9.2/bits/stl_tree.h:908 #22 clear (this=0xb1b1400c) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/c++/4.9.2/bits/stl_map.h:827 //HERE #23 Wt::WMessageResources::hibernate (this=0xb1b13fe0) at /usr/src/debug/wt/3.3.4-3/git/src/Wt/WMessageResources.C:356 //purges memory resources if possible #24 0xb6ba8900 in Wt::WMessageResourceBundle::hibernate (this=0xb1b0e6b0) at /usr/src/debug/wt/3.3.4-3/git/src/Wt/WMessageResourceBundle.C:90 #25 0xb6ade890 in size (this=0xb1b0e6cc, this=0xb1b0e6cc) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/c++/4.9.2/bits/stl_vector.h:655 //pointers match #26 Wt::WCombinedLocalizedStrings::hibernate (this=0xb1b0e6c8) at /usr/src/debug/wt/3.3.4-3/git/src/Wt/WCombinedLocalizedStrings.C:94 #27 0xb6df5938 in operator++ (this=<synthetic pointer>) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/c++/4.9.2/bits/stl_iterator.h:751 #28 __find_if<__gnu_cxx::__normal_iterator<Wt::WebSession::Handler**, std::vector<Wt::WebSession::Handler*> >, __gnu_cxx::__ops::_Iter_equals_val<Wt::WebSession::Handler* const> > (__pred=..., __last=, __first=...) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/c++/4.9.2/bits/stl_algo.h:126 #29 __find_if<__gnu_cxx::__normal_iterator<Wt::WebSession::Handler**, std::vector<Wt::WebSession::Handler*> >, __gnu_cxx::__ops::_Iter_equals_val<Wt::WebSession::Handler* const> > (__pred=..., __last=..., __first=...) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/c++/4.9.2/bits/stl_algo.h:162 #30 find<__gnu_cxx::__normal_iterator<Wt::WebSession::Handler**, std::vector<Wt::WebSession::Handler*> >, Wt::WebSession::Handler*> ( __val=<optimized out>, __last=..., __first=...) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/c++/4.9.2/bits/stl_algo.h:3779 //erase handler?? #31 erase<Wt::WebSession::Handler*> (value=<optimized out>, v=<error reading variable: Cannot access memory at address 0x1780>) at /usr/src/debug/wt/3.3.4-3/git/src/web/WebUtils.h:113 //destructor (different pointers) #32 Wt::WebSession::Handler::~Handler (this=0xaeafed20, __in_chrg=<optimized out>) at /usr/src/debug/wt/3.3.4-3/git/src/web/WebSession.C:1009 #33 0xb6dde288 in ~shared_count (this=0xaeafed14, __in_chrg=<optimized out>) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/boost/smart_ptr/detail/shared_count.hpp:443 #34 ~shared_ptr (this=0xaeafed18, __in_chrg=<optimized out>) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/boost/smart_ptr/shared_ptr.hpp:323 #35 Wt::WebController::handleApplicationEvent (this=<optimized out>, event=...) at /usr/src/debug/wt/3.3.4-3/git/src/web/WebController.C:528 #36 0xb6b6313c in operator() (this=0xaeafed80) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/boost/function/function_template.hpp:767 #37 asio_handler_invoke<boost::function<void()> > (function=...) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/boost/asio/handler_invoke_hook.hpp:69 #38 invoke<boost::function<void()>, boost::function<void()> > (context=..., function=...) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37 #39 boost::asio::detail::completion_handler<boost::function<void ()> >::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsigned int) (owner=0xb1b03ae8, base=<optimized out>) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/boost/asio/detail/completion_handler.hpp:68 #40 0xb6b60988 in complete (bytes_transferred=0, ec=..., owner=..., this=0xb1d82ce0) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/boost/asio/detail/task_io_service_operation.hpp:38 #41 do_run_one (ec=..., this_thread=..., lock=..., this=0xb1b03ae8) ---Type <return> to continue, or q <return> to quit--- at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/boost/asio/detail/impl/task_io_service.ipp:372 #42 boost::asio::detail::task_io_service::run (this=0xb1b03ae8, ec=...) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/boost/asio/detail/impl/task_io_service.ipp:149 #43 0xb6b5e15c in run (this=0xb1b027d4) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/boost/asio/impl/io_service.ipp:59 #44 Wt::WIOService::run (this=0xb1b027d0) at /usr/src/debug/wt/3.3.4-3/git/src/Wt/WIOService.C:180 #45 0xb67bb120 in boost::(anonymous namespace)::thread_proxy (param=<optimized out>) at libs/thread/src/pthread/thread.cpp:173 #46 0xb6f2dde0 in start_thread (arg=0xaeaff450) at pthread_create.c:338 #47 0xb6538a30 in ?? () at ../sysdeps/unix/sysv/linux/arm/clone.S:89 from /opt/poky/1.8/sysroots/cortexa8hf-vfp-neon-poky-linux-gnueabi/lib/libc.so.6 Backtrace stopped: previous frame identical to this frame (corrupt stack?) . . . . . . Thread 19 (LWP 381): #0 0xb6a24f18 in std::_Rb_tree<std::string, std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > >, std::_Select1st<std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > > > >::_M_erase(std::_Rb_tree_node<std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > > >*)@plt () from /opt/poky/1.8/sysroots/cortexa8hf-vfp-neon-poky-linux-gnueabi/usr/lib/libwt.so.38 #1 0xb6b17200 in std::_Rb_tree<std::string, std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > >, std::_Select1st<std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > > > >::_M_erase (this=this@entry=0xb1b1400c, __x=0xb1d674b0) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/c++/4.9.2/bits/stl_tree.h:1245 #2 0xb6b17200 in std::_Rb_tree<std::string, std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > >, std::_Select1st<std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > > > >::_M_erase (this=this@entry=0xb1b1400c, __x=0xb1de9180) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/c++/4.9.2/bits/stl_tree.h:1245 #3 0xb6b17200 in std::_Rb_tree<std::string, std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > >, std::_Select1st<std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > > > >::_M_erase (this=this@entry=0xb1b1400c, __x=0xb1da7b40) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/c++/4.9.2/bits/stl_tree.h:1245 #4 0xb6b17200 in std::_Rb_tree<std::string, std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > >, std::_Select1st<std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > > > >::_M_erase (this=this@entry=0xb1b1400c, __x=0xb1d7df40) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/c++/4.9.2/bits/stl_tree.h:1245 #5 0xb6b17200 in std::_Rb_tree<std::string, std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > >, std::_Select1st<std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > > > >::_M_erase (this=this@entry=0xb1b1400c, __x=0xb1dcc058) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/c++/4.9.2/bits/stl_tree.h:1245 #6 0xb6b17200 in std::_Rb_tree<std::string, std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > >, std::_Select1st<std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > > > >::_M_erase (this=this@entry=0xb1b1400c, __x=0xb1df6d80) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/c++/4.9.2/bits/stl_tree.h:1245 #7 0xb6b17200 in std::_Rb_tree<std::string, std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > >, std::_Select1st<std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > > > >::_M_erase (this=this@entry=0xb1b1400c, __x=0xb1d54f28) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/c++/4.9.2/bits/stl_tree.h:1245 #8 0xb6b17200 in std::_Rb_tree<std::string, std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > >, std::_Select1st<std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > > > >::_M_erase (this=this@entry=0xb1b1400c, __x=0xb1dbbc78) ---Type <return> to continue, or q <return> to quit--- at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/c++/4.9.2/bits/stl_tree.h:1245 #9 0xb6b17200 in std::_Rb_tree<std::string, std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > >, std::_Select1st<std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::vector<std::string, std::allocator<std::string> > > > >::_M_erase (this=0xb1b1400c, __x=0xb1dbce30) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/c++/4.9.2/bits/stl_tree.h:1245 //problem #10 0xb6ba9fbc in clear (this=0xb1b1400c) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/c++/4.9.2/bits/stl_tree.h:908 #11 clear (this=0xb1b1400c) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/c++/4.9.2/bits/stl_map.h:827 //HERE #12 Wt::WMessageResources::hibernate (this=0xb1b13fe0) at /usr/src/debug/wt/3.3.4-3/git/src/Wt/WMessageResources.C:356 //purges memory resources if possible #13 0xb6ba8900 in Wt::WMessageResourceBundle::hibernate (this=0xb1b0e6b0) at /usr/src/debug/wt/3.3.4-3/git/src/Wt/WMessageResourceBundle.C:90 #14 0xb6ade890 in size (this=0xb1b0e6cc, this=0xb1b0e6cc) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/c++/4.9.2/bits/stl_vector.h:655 //pointers match #15 Wt::WCombinedLocalizedStrings::hibernate (this=0xb1b0e6c8) at /usr/src/debug/wt/3.3.4-3/git/src/Wt/WCombinedLocalizedStrings.C:94 #16 0xb6df5938 in operator++ (this=<synthetic pointer>) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/c++/4.9.2/bits/stl_iterator.h:751 #17 __find_if<__gnu_cxx::__normal_iterator<Wt::WebSession::Handler**, std::vector<Wt::WebSession::Handler*> >, __gnu_cxx::__ops::_Iter_equals_val<Wt::WebSession::Handler* const> > (__pred=..., __last=, __first=...) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/c++/4.9.2/bits/stl_algo.h:126 #18 __find_if<__gnu_cxx::__normal_iterator<Wt::WebSession::Handler**, std::vector<Wt::WebSession::Handler*> >, __gnu_cxx::__ops::_Iter_equals_val<Wt::WebSession::Handler* const> > (__pred=..., __last=..., __first=...) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/c++/4.9.2/bits/stl_algo.h:162 #19 find<__gnu_cxx::__normal_iterator<Wt::WebSession::Handler**, std::vector<Wt::WebSession::Handler*> >, Wt::WebSession::Handler*> ( __val=<optimized out>, __last=..., __first=...) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/c++/4.9.2/bits/stl_algo.h:3779 //erase handler?? #20 erase<Wt::WebSession::Handler*> (value=<optimized out>, v=std::vector of length 47166347, capacity -306711676 = {...}) at /usr/src/debug/wt/3.3.4-3/git/src/web/WebUtils.h:113 //destructor (different pointers) #21 Wt::WebSession::Handler::~Handler (this=0xad2fcc70, __in_chrg=<optimized out>) at /usr/src/debug/wt/3.3.4-3/git/src/web/WebSession.C:1009 #22 0xb6df5ac0 in Wt::WebSession::handleWebSocketMessage (session=..., event=(unknown: 2905590896)) at /usr/src/debug/wt/3.3.4-3/git/src/web/WebSession.C:1724 #23 0xb6df808c in atomic_increment (pw=0xb6ade860 <Wt::WCombinedLocalizedStrings::hibernate()+8>) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/boost/smart_ptr/detail/sp_counted_base_sync.hpp:43 #24 weak_add_ref ( this=0xb6df808c <boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void, void (*)(boost::weak_ptr<Wt::WebSession>, Wt::WebReadEvent), boost::_bi::list2<boost::_bi::value<boost::weak_ptr<Wt::WebSession> >, boost::arg<1> > >, void, Wt::WebReadEvent>::invoke(boost::detail::function::function_buffer&, Wt::WebReadEvent)+60>) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/boost/smart_ptr/detail/sp_counted_base_sync.hpp:135 #25 weak_count (r=..., this=0xad2fed54) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/boost/smart_ptr/detail/shared_count.hpp:564 #26 weak_ptr (this=0xad2fed58) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/boost/smart_ptr/weak_ptr.hpp:23 ---Type <return> to continue, or q <return> to quit--- #27 operator()<void (*)(boost::weak_ptr<Wt::WebSession>, Wt::WebReadEvent), boost::_bi::list1<Wt::WebReadEvent&> > (f=<optimized out>, a=<synthetic pointer>, this=<optimized out>) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/boost/bind/bind.hpp:313 #28 operator()<Wt::WebReadEvent> (a1=<synthetic pointer>, this=<optimized out>) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/boost/bind/bind_template.hpp:32 #29 boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void, void (*)(boost::weak_ptr<Wt::WebSession>, Wt::WebReadEvent), boost::_bi::list2<boost::_bi::value<boost::weak_ptr<Wt::WebSession> >, boost::arg<1> > >, void, Wt::WebReadEvent>::invoke ( function_obj_ptr=..., a0=Wt::ReadError) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/boost/function/function_template.hpp:153 #30 0xb686a734 in operator() (a0=<optimized out>, this=0xad2fed7c) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/boost/function/function_template.hpp:767 #31 operator()<boost::function<void(Wt::WebReadEvent)>, boost::_bi::list0> (a=<synthetic pointer>, f=..., this=0xad2fed8c) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/boost/bind/bind.hpp:253 #32 operator() (this=0xad2fed7c) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/boost/bind/bind_template.hpp:20 #33 asio_handler_invoke<boost::_bi::bind_t<boost::_bi::unspecified, boost::function<void(Wt::WebReadEvent)>, boost::_bi::list1<boost::_bi::value<Wt::WebReadEvent> > > > (function=...) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/boost/asio/handler_invoke_hook.hpp:69 #34 invoke<boost::_bi::bind_t<boost::_bi::unspecified, boost::function<void(Wt::WebReadEvent)>, boost::_bi::list1<boost::_bi::value<Wt::WebReadEvent> > >, boost::_bi::bind_t<boost::_bi::unspecified, boost::function<void(Wt::WebReadEvent)>, boost::_bi::list1<boost::_bi::value<Wt::WebReadEvent> > > > (context=..., function=...) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37 #35 boost::asio::detail::completion_handler<boost::_bi::bind_t<boost::_bi::unspecified, boost::function<void (Wt::WebReadEvent)>, boost::_bi::list1<boost::_bi::value<Wt::WebReadEvent> > > >::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsigned int) (owner=0xb1b03ae8, base=0x28a7f8) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/boost/asio/detail/completion_handler.hpp:68 #36 0xb6b60988 in complete (bytes_transferred=0, ec=..., owner=..., this=0x28a7f8) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/boost/asio/detail/task_io_service_operation.hpp:38 #37 do_run_one (ec=..., this_thread=..., lock=..., this=0xb1b03ae8) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/boost/asio/detail/impl/task_io_service.ipp:372 #38 boost::asio::detail::task_io_service::run (this=0xb1b03ae8, ec=...) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/boost/asio/detail/impl/task_io_service.ipp:149 #39 0xb6b5e15c in run (this=0xb1b027d4) at /home/modonovan/poky-fido/build/tmp/sysroots/biotector/usr/include/boost/asio/impl/io_service.ipp:59 #40 Wt::WIOService::run (this=0xb1b027d0) at /usr/src/debug/wt/3.3.4-3/git/src/Wt/WIOService.C:180 #41 0xb67bb120 in boost::(anonymous namespace)::thread_proxy (param=<optimized out>) at libs/thread/src/pthread/thread.cpp:173 #42 0xb6f2dde0 in start_thread (arg=0xad2ff450) at pthread_create.c:338 #43 0xb6538a30 in ?? () at ../sysdeps/unix/sysv/linux/arm/clone.S:89 from /opt/poky/1.8/sysroots/cortexa8hf-vfp-neon-poky-linux-gnueabi/lib/libc.so.6 Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Files
No data to display