Project

General

Profile

Wt crashes

Added by Neel Basu almost 10 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 almost 10 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 almost 10 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 almost 10 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 almost 10 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 9 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 9 years ago

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

    (1-6/6)