Wt crashes
Added by Neel Basu about 9 years ago
My application used to work well on Fedora 21 However it crashes with Fedora 22 both using libwt.so.38
#0 0x00007ffff3ab0b9d in __cxa_throw () at /lib64/libstdc++.so.6
#1 0x00007ffff7741747 in void boost::throw_exception<boost::lock_error>(boost::lock_error const&) () at /lib64/libboost_thread.so.1.57.0
#2 0x00007ffff6504451 in boost::spirit::classic::grammar<Wt::(anonymous namespace)::ValueListParser, boost::spirit::classic::parser_context<boost::spirit::classic::nil_t> >::~grammar() () at /lib64/libwt.so.38
#3 0x00007ffff6504e42 in Wt::WebRequest::parsePreferredAcceptValue(char const*) const () at /lib64/libwt.so.38
#4 0x00007ffff6505e74 in Wt::WebRequest::parseLocale() const ()
at /lib64/libwt.so.38
#5 0x00007ffff61ba5a4 in Wt::WEnvironment::init(Wt::WebRequest const&) ()
at /lib64/libwt.so.38
#6 0x00007ffff650b1b0 in Wt::WebSession::init(Wt::WebRequest const&) ()
at /lib64/libwt.so.38
#7 0x00007ffff650de49 in Wt::WebSession::handleRequest(Wt::WebSession::Handler&) () at /lib64/libwt.so.38
#8 0x00007ffff64fe66f in Wt::WebController::handleRequest(Wt::WebRequest*) ()
at /lib64/libwt.so.38
#9 0x00007ffff6a64a3f in boost::asio::detail::completion_handler<boost::_bi::bind_t<void, boost::_mfi::mf1<void, Wt::WebController, Wt::WebRequest*>, boost::_bi::list2<boost::_bi::value<Wt::WebController*>, boost::_bi::value<http::server::HTTPRequest*> > > >::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsig---Type <return> to continue, or q <return> to quit---
ldd myapp returns
linux-vdso.so.1 (0x00007ffc9ecae000)
libwthttp.so.38 => /lib64/libwthttp.so.38 (0x00007ff8c8843000)
libwt.so.38 => /lib64/libwt.so.38 (0x00007ff8c7bd7000)
libboost_random.so.1.57.0 => /lib64/libboost_random.so.1.57.0 (0x00007ff8c79d0000)
libboost_regex.so.1.57.0 => /lib64/libboost_regex.so.1.57.0 (0x00007ff8c76cc000)
libboost_signals.so.1.57.0 => /lib64/libboost_signals.so.1.57.0 (0x00007ff8c74b5000)
librt.so.1 => /lib64/librt.so.1 (0x00007ff8c72ac000)
libhpdf-2.2.1.so => /lib64/libhpdf-2.2.1.so (0x00007ff8c6fe4000)
libpng16.so.16 => /lib64/libpng16.so.16 (0x00007ff8c6db1000)
libGraphicsMagick-Q16.so.3 => /lib64/libGraphicsMagick-Q16.so.3 (0x00007ff8c69df000)
libGLEW.so.1.10 => /lib64/libGLEW.so.1.10 (0x00007ff8c6756000)
libGL.so.1 => /lib64/libGL.so.1 (0x00007ff8c64be000)
libX11.so.6 => /lib64/libX11.so.6 (0x00007ff8c617c000)
libpangoft2-1.0.so.0 => /lib64/libpangoft2-1.0.so.0 (0x00007ff8c5f67000)
libpango-1.0.so.0 => /lib64/libpango-1.0.so.0 (0x00007ff8c5d1b000)
libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x00007ff8c5ac8000)
libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007ff8c578e000)
libz.so.1 => /lib64/libz.so.1 (0x00007ff8c5578000)
libssl.so.10 => /lib64/libssl.so.10 (0x00007ff8c5308000)
libcrypto.so.10 => /lib64/libcrypto.so.10 (0x00007ff8c4f20000)
libboost_thread.so.1.57.0 => /lib64/libboost_thread.so.1.57.0 (0x00007ff8c4cf9000)
libboost_system.so.1.57.0 => /lib64/libboost_system.so.1.57.0 (0x00007ff8c4af4000)
libboost_program_options.so.1.57.0 => /lib64/libboost_program_options.so.1.57.0 (0x00007ff8c487c000)
libboost_filesystem.so.1.57.0 => /lib64/libboost_filesystem.so.1.57.0 (0x00007ff8c4665000)
libboost_date_time.so.1.57.0 => /lib64/libboost_date_time.so.1.57.0 (0x00007ff8c4453000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007ff8c4237000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007ff8c3eb5000)
libm.so.6 => /lib64/libm.so.6 (0x00007ff8c3bac000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007ff8c3995000)
libc.so.6 => /lib64/libc.so.6 (0x00007ff8c35d5000)
/lib64/ld-linux-x86-64.so.2 (0x0000558b5d14e000)
libicuuc.so.54 => /lib64/libicuuc.so.54 (0x00007ff8c3243000)
libicui18n.so.54 => /lib64/libicui18n.so.54 (0x00007ff8c2dec000)
libicudata.so.54 => /lib64/libicudata.so.54 (0x00007ff8c13c0000)
liblcms2.so.2 => /lib64/liblcms2.so.2 (0x00007ff8c1166000)
libfreetype.so.6 => /lib64/libfreetype.so.6 (0x00007ff8c0eba000)
libXext.so.6 => /lib64/libXext.so.6 (0x00007ff8c0ca8000)
libSM.so.6 => /lib64/libSM.so.6 (0x00007ff8c0aa0000)
libICE.so.6 => /lib64/libICE.so.6 (0x00007ff8c0882000)
liblzma.so.5 => /lib64/liblzma.so.5 (0x00007ff8c065c000)
libbz2.so.1 => /lib64/libbz2.so.1 (0x00007ff8c044c000)
libltdl.so.7 => /lib64/libltdl.so.7 (0x00007ff8c0241000)
libgomp.so.1 => /lib64/libgomp.so.1 (0x00007ff8c001f000)
libGLU.so.1 => /lib64/libGLU.so.1 (0x00007ff8bfdae000)
libexpat.so.1 => /lib64/libexpat.so.1 (0x00007ff8bfb83000)
libglapi.so.0 => /lib64/libglapi.so.0 (0x00007ff8bf955000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007ff8bf731000)
libXdamage.so.1 => /lib64/libXdamage.so.1 (0x00007ff8bf52d000)
libXfixes.so.3 => /lib64/libXfixes.so.3 (0x00007ff8bf327000)
libX11-xcb.so.1 => /lib64/libX11-xcb.so.1 (0x00007ff8bf125000)
libxcb-glx.so.0 => /lib64/libxcb-glx.so.0 (0x00007ff8bef0b000)
libxcb-dri2.so.0 => /lib64/libxcb-dri2.so.0 (0x00007ff8bed06000)
libxcb-dri3.so.0 => /lib64/libxcb-dri3.so.0 (0x00007ff8beb03000)
libxcb-present.so.0 => /lib64/libxcb-present.so.0 (0x00007ff8be8ff000)
libxcb-randr.so.0 => /lib64/libxcb-randr.so.0 (0x00007ff8be6f1000)
libxcb-xfixes.so.0 => /lib64/libxcb-xfixes.so.0 (0x00007ff8be4e9000)
libxcb-render.so.0 => /lib64/libxcb-render.so.0 (0x00007ff8be2de000)
libxcb-shape.so.0 => /lib64/libxcb-shape.so.0 (0x00007ff8be0da000)
libxcb-sync.so.1 => /lib64/libxcb-sync.so.1 (0x00007ff8bded3000)
libxcb.so.1 => /lib64/libxcb.so.1 (0x00007ff8bdcb0000)
libxshmfence.so.1 => /lib64/libxshmfence.so.1 (0x00007ff8bdaad000)
libXxf86vm.so.1 => /lib64/libXxf86vm.so.1 (0x00007ff8bd8a7000)
libdrm.so.2 => /lib64/libdrm.so.2 (0x00007ff8bd699000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007ff8bd495000)
libgmodule-2.0.so.0 => /lib64/libgmodule-2.0.so.0 (0x00007ff8bd290000)
libgthread-2.0.so.0 => /lib64/libgthread-2.0.so.0 (0x00007ff8bd08e000)
libharfbuzz.so.0 => /lib64/libharfbuzz.so.0 (0x00007ff8bce32000)
libfontconfig.so.1 => /lib64/libfontconfig.so.1 (0x00007ff8bcbee000)
libffi.so.6 => /lib64/libffi.so.6 (0x00007ff8bc9e6000)
libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00007ff8bc798000)
libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007ff8bc4b3000)
libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007ff8bc2af000)
libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007ff8bc07b000)
libuuid.so.1 => /lib64/libuuid.so.1 (0x00007ff8bbe76000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007ff8bbc05000)
libXau.so.6 => /lib64/libXau.so.6 (0x00007ff8bba01000)
libgraphite2.so.3 => /lib64/libgraphite2.so.3 (0x00007ff8bb7e2000)
libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007ff8bb5d3000)
libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007ff8bb3ce000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00007ff8bb1b3000)
Replies (6)
RE: Wt crashes - Added by Neel Basu about 9 years ago
Sorry I couldn't edit my post. However that is not the correct ldd output
this one is ldd myqpp
linux-vdso.so.1 (0x00007ffe1c0fb000)
libboost_filesystem.so.1.57.0 => /lib64/libboost_filesystem.so.1.57.0 (0x00007f9b24a1b000)
libboost_program_options.so.1.57.0 => /lib64/libboost_program_options.so.1.57.0 (0x00007f9b247a2000)
libboost_thread.so.1.57.0 => /lib64/libboost_thread.so.1.57.0 (0x00007f9b2457b000)
libboost_system.so.1.57.0 => /lib64/libboost_system.so.1.57.0 (0x00007f9b24377000)
libboost_serialization.so.1.57.0 => /lib64/libboost_serialization.so.1.57.0 (0x00007f9b24117000)
libboost_date_time.so.1.57.0 => /lib64/libboost_date_time.so.1.57.0 (0x00007f9b23f06000)
libboost_chrono.so.1.57.0 => /lib64/libboost_chrono.so.1.57.0 (0x00007f9b23cff000)
libboost_signals.so.1.57.0 => /lib64/libboost_signals.so.1.57.0 (0x00007f9b23ae7000)
libwthttp.so.38 => /lib64/libwthttp.so.38 (0x00007f9b237c6000)
libwt.so.38 => /lib64/libwt.so.38 (0x00007f9b22b5a000)
libwtfcgi.so.38 => /lib64/libwtfcgi.so.38 (0x00007f9b22917000)
libwtdbo.so.38 => /lib64/libwtdbo.so.38 (0x00007f9b226ac000)
libwtdbosqlite3.so.38 => /lib64/libwtdbosqlite3.so.38 (0x00007f9b2248f000)
libwtdbopostgres.so.38 => /lib64/libwtdbopostgres.so.38 (0x00007f9b2226f000)
libsensiaas-common.so => /home/neel/projects/sensiaas/build/common/libsensiaas-common.so (0x00007f9b21ed1000)
libsensiaas-util.so => /home/neel/projects/sensiaas/build/util/libsensiaas-util.so (0x00007f9b21be4000)
liblog4cpp.so.5 => /lib64/liblog4cpp.so.5 (0x00007f9b219a3000)
libgmp.so.10 => /lib64/libgmp.so.10 (0x00007f9b2172b000)
libpion-net-4.0.so => /lib64/libpion-net-4.0.so (0x00007f9b21487000)
libpion-common-4.0.so => /lib64/libpion-common-4.0.so (0x00007f9b2124b000)
libssl.so.10 => /lib64/libssl.so.10 (0x00007f9b20fdc000)
libcrypto.so.10 => /lib64/libcrypto.so.10 (0x00007f9b20bf4000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f9b20871000)
libm.so.6 => /lib64/libm.so.6 (0x00007f9b20569000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f9b20352000)
libc.so.6 => /lib64/libc.so.6 (0x00007f9b1ff91000)
librt.so.1 => /lib64/librt.so.1 (0x00007f9b1fd89000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f9b1fb6c000)
libz.so.1 => /lib64/libz.so.1 (0x00007f9b1f956000)
libboost_random.so.1.57.0 => /lib64/libboost_random.so.1.57.0 (0x00007f9b1f74f000)
libboost_regex.so.1.57.0 => /lib64/libboost_regex.so.1.57.0 (0x00007f9b1f44b000)
libhpdf-2.2.1.so => /lib64/libhpdf-2.2.1.so (0x00007f9b1f183000)
libpng16.so.16 => /lib64/libpng16.so.16 (0x00007f9b1ef4f000)
libGraphicsMagick-Q16.so.3 => /lib64/libGraphicsMagick-Q16.so.3 (0x00007f9b1eb7e000)
libGLEW.so.1.10 => /lib64/libGLEW.so.1.10 (0x00007f9b1e8f5000)
libGL.so.1 => /lib64/libGL.so.1 (0x00007f9b1e65c000)
libX11.so.6 => /lib64/libX11.so.6 (0x00007f9b1e31b000)
libpangoft2-1.0.so.0 => /lib64/libpangoft2-1.0.so.0 (0x00007f9b1e106000)
libpango-1.0.so.0 => /lib64/libpango-1.0.so.0 (0x00007f9b1deb9000)
libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x00007f9b1dc67000)
libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007f9b1d92d000)
/lib64/ld-linux-x86-64.so.2 (0x00005571b0247000)
libfcgi.so.0 => /lib64/libfcgi.so.0 (0x00007f9b1d721000)
libfcgi++.so.0 => /lib64/libfcgi++.so.0 (0x00007f9b1d51c000)
libsqlite3.so.0 => /lib64/libsqlite3.so.0 (0x00007f9b1d24e000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f9b1d04a000)
libpq.so.5 => /lib64/libpq.so.5 (0x00007f9b1ce1b000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x00007f9b1cc01000)
libicui18n.so.54 => /lib64/libicui18n.so.54 (0x00007f9b1c7aa000)
libicuuc.so.54 => /lib64/libicuuc.so.54 (0x00007f9b1c418000)
libicudata.so.54 => /lib64/libicudata.so.54 (0x00007f9b1a9ed000)
libboost_iostreams.so.1.57.0 => /lib64/libboost_iostreams.so.1.57.0 (0x00007f9b1a7d5000)
libbz2.so.1 => /lib64/libbz2.so.1 (0x00007f9b1a5c4000)
libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00007f9b1a377000)
libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007f9b1a091000)
libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007f9b19e8d000)
libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007f9b19c5a000)
liblcms2.so.2 => /lib64/liblcms2.so.2 (0x00007f9b199ff000)
libfreetype.so.6 => /lib64/libfreetype.so.6 (0x00007f9b19754000)
libXext.so.6 => /lib64/libXext.so.6 (0x00007f9b19541000)
libSM.so.6 => /lib64/libSM.so.6 (0x00007f9b19339000)
libICE.so.6 => /lib64/libICE.so.6 (0x00007f9b1911c000)
liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f9b18ef5000)
libltdl.so.7 => /lib64/libltdl.so.7 (0x00007f9b18ceb000)
libgomp.so.1 => /lib64/libgomp.so.1 (0x00007f9b18ac9000)
libGLU.so.1 => /lib64/libGLU.so.1 (0x00007f9b18857000)
libexpat.so.1 => /lib64/libexpat.so.1 (0x00007f9b1862d000)
libglapi.so.0 => /lib64/libglapi.so.0 (0x00007f9b183ff000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f9b181da000)
libXdamage.so.1 => /lib64/libXdamage.so.1 (0x00007f9b17fd7000)
libXfixes.so.3 => /lib64/libXfixes.so.3 (0x00007f9b17dd1000)
libX11-xcb.so.1 => /lib64/libX11-xcb.so.1 (0x00007f9b17bce000)
libxcb-glx.so.0 => /lib64/libxcb-glx.so.0 (0x00007f9b179b5000)
libxcb-dri2.so.0 => /lib64/libxcb-dri2.so.0 (0x00007f9b177b0000)
libxcb-dri3.so.0 => /lib64/libxcb-dri3.so.0 (0x00007f9b175ac000)
libxcb-present.so.0 => /lib64/libxcb-present.so.0 (0x00007f9b173a9000)
libxcb-randr.so.0 => /lib64/libxcb-randr.so.0 (0x00007f9b1719b000)
libxcb-xfixes.so.0 => /lib64/libxcb-xfixes.so.0 (0x00007f9b16f92000)
libxcb-render.so.0 => /lib64/libxcb-render.so.0 (0x00007f9b16d88000)
libxcb-shape.so.0 => /lib64/libxcb-shape.so.0 (0x00007f9b16b84000)
libxcb-sync.so.1 => /lib64/libxcb-sync.so.1 (0x00007f9b1697c000)
libxcb.so.1 => /lib64/libxcb.so.1 (0x00007f9b1675a000)
libxshmfence.so.1 => /lib64/libxshmfence.so.1 (0x00007f9b16557000)
libXxf86vm.so.1 => /lib64/libXxf86vm.so.1 (0x00007f9b16350000)
libdrm.so.2 => /lib64/libdrm.so.2 (0x00007f9b16143000)
libgmodule-2.0.so.0 => /lib64/libgmodule-2.0.so.0 (0x00007f9b15f3e000)
libgthread-2.0.so.0 => /lib64/libgthread-2.0.so.0 (0x00007f9b15d3c000)
libharfbuzz.so.0 => /lib64/libharfbuzz.so.0 (0x00007f9b15ae0000)
libfontconfig.so.1 => /lib64/libfontconfig.so.1 (0x00007f9b1589c000)
libffi.so.6 => /lib64/libffi.so.6 (0x00007f9b15694000)
libldap_r-2.4.so.2 => /lib64/libldap_r-2.4.so.2 (0x00007f9b15439000)
libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007f9b1522a000)
libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007f9b15025000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f9b14e0a000)
libuuid.so.1 => /lib64/libuuid.so.1 (0x00007f9b14c04000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f9b14994000)
libXau.so.6 => /lib64/libXau.so.6 (0x00007f9b1478f000)
libgraphite2.so.3 => /lib64/libgraphite2.so.3 (0x00007f9b14571000)
liblber-2.4.so.2 => /lib64/liblber-2.4.so.2 (0x00007f9b14361000)
libsasl2.so.3 => /lib64/libsasl2.so.3 (0x00007f9b14144000)
libssl3.so => /lib64/libssl3.so (0x00007f9b13f02000)
libsmime3.so => /lib64/libsmime3.so (0x00007f9b13cda000)
libnss3.so => /lib64/libnss3.so (0x00007f9b139b4000)
libnssutil3.so => /lib64/libnssutil3.so (0x00007f9b13788000)
libplds4.so => /lib64/libplds4.so (0x00007f9b13583000)
libplc4.so => /lib64/libplc4.so (0x00007f9b1337e000)
libnspr4.so => /lib64/libnspr4.so (0x00007f9b13140000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f9b12f09000)
libfreebl3.so => /lib64/libfreebl3.so (0x00007f9b12c8c000)
RE: Wt crashes - Added by Koen Deforche about 9 years ago
Hey,
I'm not sure, it seems some issue with threaded/non-threaded mixup of boost, but I can't see an obvious reason. How did you install Wt and boost?
Koen
RE: Wt crashes - Added by Neel Basu about 9 years ago
Thanks for your response I've installed both Wt and boost from yum repo. I don't want to compile and install Wt from source at the time because I need simplicity in deployment in other machines. It will be a great help to have some quick fix in our CMakeLists.txt to link the proper library.
Thanks.
RE: Wt crashes - Added by Ben Lyndon about 9 years ago
We encountered this problem and solved it by adding #define BOOST_SPIRIT_THREADSAFE before boost/property_tree/ptree.hpp
Ben
RE: Wt crashes - Added by Emeric Poupon over 8 years ago
Hello,
I faced a very similar issue when using a boost property_tree in my application.
Adding -DBOOST_SPIRIT_THREADSAFE or "-D_REENTRANT -DBOOST_SPIRIT_THREADSAFE" in the CXXFLAGS gave me a compile error:
/usr/bin/ld: XXX.o: undefined reference to symbol '_ZN5boost13thread_detail18commit_once_regionERNS_9once_flagE'
//usr/lib/x86_64-linux-gnu/libboost_thread.so.1.58.0: error adding symbols: DSO missing from command line
I am using a manually compiled Wt version on a debian testing.
This is very, very annoying...
Do you have some more ideas on this problem ?
RE: Wt crashes - Added by Emeric Poupon over 8 years ago
Nevermind, explicitely linking to booost_thread solved the problem...