Actions
Bug #4553
openWt 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
Actions