Project

General

Profile

Wt crashes

Added by Neel Basu over 8 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 over 8 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 over 8 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 over 8 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 over 8 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 about 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 about 8 years ago

Nevermind, explicitely linking to booost_thread solved the problem...

    (1-6/6)