Guest Posted April 27, 2019 Report Share Posted April 27, 2019 I guess that is the other bug. Menu->options->lobby->disable tls Quote Link to comment Share on other sites More sharing options...
Itms Posted April 27, 2019 Report Share Posted April 27, 2019 If it's the TLS bug, we'd be happy to have a backtrace, because currently it only happens on macOS (fixed in the development version) and on recent Fedora (not yet fixed, so every bit of extra information is welcome). Quote Link to comment Share on other sites More sharing options...
Weber K. Posted April 27, 2019 Report Share Posted April 27, 2019 (edited) Thread 1 (Thread 0x7ffff7f87b80 (LWP 3102)): #0 0x00007fffebaa0094 in ?? () from /usr/lib64/../lib64/libgnutls.so.30 No symbol table info available. #1 0x00007fffebaa11d4 in ?? () from /usr/lib64/../lib64/libgnutls.so.30 No symbol table info available. #2 0x00007fffebaa18ad in gnutls_x509_crt_verify () from /usr/lib64/../lib64/libgnutls.so.30 No symbol table info available. #3 0x00007ffff4971d2c in gloox::GnuTLSClient::verifyAgainstCAs(gnutls_x509_crt_int*, gnutls_x509_crt_int**, int) () from /usr/lib64/libgloox.so.13 No symbol table info available. #4 0x00007ffff4971e5d in gloox::GnuTLSClient::getCertInfo() () from /usr/lib64/libgloox.so.13 No symbol table info available. #5 0x00007ffff49746e5 in gloox::GnuTLSBase::handshake() () from /usr/lib64/libgloox.so.13 No symbol table info available. #6 0x00007ffff4974859 in gloox::GnuTLSBase::decrypt(std::string const&) () from /usr/lib64/libgloox.so.13 No symbol table info available. #7 0x00007ffff48ff72b in gloox::ConnectionTCPClient::recv(int) () from /usr/lib64/libgloox.so.13 No symbol table info available. #8 0x000000000043d4ee in Frame () at ../../../source/main.cpp:403 profile2__ = {m_Name = 0xb2aaf8 "frame"} time = <optimized out> realTimeSinceLastFrame = 0.0329228155 __func__ = "Frame" need_update = true I think calling gloox recv() is returning bigger message than allowed oe no message at all. Maybe the server is sending a bigger message or maybe it is filling an input buffer downsized allocated https://stackoverflow.com/questions/3632861/segmentation-fault-on-recv Maybe the server is not sending any message, or maybe the routine is doing just tls handshake with no message. Edited April 27, 2019 by Weber K. 1 Quote Link to comment Share on other sites More sharing options...
Stan` Posted April 27, 2019 Report Share Posted April 27, 2019 Yep definitely looks like the Fedora crash https://trac.wildfiregames.com/ticket/5349 Quote Link to comment Share on other sites More sharing options...
Weber K. Posted April 27, 2019 Report Share Posted April 27, 2019 (edited) Or, maybe it could be this? The problem gloox isn't return anything upon a handleTls call and then crash. https://git.kaidan.im/kaidan/kaidan/commit/fb10738fca1960c120b5d4837d24622b1752cbd1 Edited April 27, 2019 by Weber K. Quote Link to comment Share on other sites More sharing options...
elexis Posted April 27, 2019 Report Share Posted April 27, 2019 One could test by compiling 0 A.D./Pyrogenesis against a newer version of gloox, or one with that patch. Doesn't take much more time than regular 0ad debugging. Quote Link to comment Share on other sites More sharing options...
Weber K. Posted April 27, 2019 Report Share Posted April 27, 2019 (edited) An wise advice! I was doing that right now! But I only upgrade gloox, as I've deleted my sandbox already. Now the error is invalid pointer, in gdb signal is SIGABRT. Thread 1 (Thread 0x7ffff7f87b80 (LWP 23198)): #0 0x00007ffff34443f8 in raise () from /lib64/libc.so.6 No symbol table info available. #1 0x00007ffff3445ffa in abort () from /lib64/libc.so.6 No symbol table info available. #2 0x00007ffff34866f9 in __libc_message () from /lib64/libc.so.6 No symbol table info available. #3 0x00007ffff348ef4a in _int_free () from /lib64/libc.so.6 No symbol table info available. #4 0x00007ffff3492c1c in free () from /lib64/libc.so.6 No symbol table info available. #5 0x00007ffff4902ba4 in gloox::ClientBase::~ClientBase() () from /usr/lib64/libgloox.so.13 No symbol table info available. #6 0x00007ffff491b0a3 in gloox::Client::~Client() () from /usr/lib64/libgloox.so.13 No symbol table info available. #7 0x00007ffff491b1d9 in gloox::Client::~Client() () from /usr/lib64/libgloox.so.13 No symbol table info available. #8 0x0000000000a8d181 in glooxwrapper::Client::~Client (this=0x409e380, __in_chrg=<optimized out>) at ../../../source/lobby/glooxwrapper/glooxwrapper.cpp:330 No locals. #9 0x0000000000a7b713 in XmppClient::~XmppClient (this=0x4317bf0, __in_chrg=<optimized out>) at ../../../source/lobby/XmppClient.cpp:167 No locals. #10 0x0000000000a7c0a0 in XmppClient::~XmppClient (this=0x4317bf0, __in_chrg=<optimized out>) at ../../../source/lobby/XmppClient.cpp:175 No locals. #11 0x0000000000a7402b in JSI_Lobby::StopXmppClient () at ../../../source/lobby/scripting/JSInterface_Lobby.cpp:112 No locals. #12 ScriptInterface_NativeWrapper<void>::call<void (ScriptInterface::CxPrivate*)>(JSContext*, JS::MutableHandle<JS::Value>, void (ScriptInterface::CxPrivate*)) ( fptr=<optimized out>, cx=0x27765c0) at ../../../source/scriptinterface/NativeWrapperDefns.h:86 No locals. #13 ScriptInterface::call<void, &JSI_Lobby::StopXmppClient> (cx=0x27765c0, argc=<optimized out>, vp=0x1097040) at ../../../source/scriptinterface/NativeWrapperDefns.h:125 args = <optimized out> rq = {mContext = 0x27765c0} rval = {<js::RootedBase<JS::Value>> = {<js::MutableValueOperations<JS::Rooted<JS::Value> >> = {<js::ValueOperations<JS::Rooted<JS::Value> >> = {<No data fields>}, <No data fields>}, <No data fields>}, stack = 0x2776628, prev = 0x7fffffffba70, ptr = {data = {asBits = 18444773748872577024, debugView = {payload47 = 0, tag = JSVAL_TAG_UNDEFINED}, s = {payload = {i32 = 0, u32 = 0, why = JS_ELEMENTS_HOLE}}, asDouble = -nan(0x9000000000000), asPtr = 0xfff9000000000000, asWord = 18444773748872577024, asUIntPtr = 18444773748872577024}}} #14 0x00007ffff6e9e0c0 in js::CallJSNative (args=..., native=<optimized out>, cx=0x27765c0) at /home/weberkai/0ad-0.0.23b-alpha/libraries/source/spidermonkey/mozjs-38.0.0/js/src/jscntxtinlines.h:226 No locals. #15 js::Invoke (cx=0x27765c0, args=..., construct=<optimized out>) at /home/weberkai/0ad-0.0.23b-alpha/libraries/source/spidermonkey/mozjs-38.0.0/js/src/vm/Interpreter.cpp:498 gcIfRequested = {runtime = 0xfdb800} initial = <optimized out> state = {<js::RunState> = {_vptr.RunState = 0x27765e0, kind_ = (unknown: 4294949808), script_ = {<js::RootedBase<JSScript*>> = {<No data fields>}, stack = 0x7fff6f652f90, prev = 0x7ffff3fe228f <std::string::replace(unsigned long, unsigned long, char const*, unsigned long)+111>, ptr = 0x27765f0}}, args_ = @0x0, initial_ = (js::INITIAL_CONSTRUCT | unknown: 1869216480), createSingleton_ = 255} ok = <optimized out> #16 0x00007ffff6e92e3d in Interpret (cx=0x27765c0, state=...) at /home/weberkai/0ad-0.0.23b-alpha/libraries/source/spidermonkey/mozjs-38.0.0/js/src/vm/Interpreter.cpp:2602 createSingleton = false ---Type <return> to continue, or q <return> to quit--- Edited April 27, 2019 by Weber K. Quote Link to comment Share on other sites More sharing options...
elexis Posted April 27, 2019 Report Share Posted April 27, 2019 That happens when registering or logging in? (I once added and later unintentionally reverted a login doubleclick protection.) StopXmppClient is called from JS somewhere. Quote Link to comment Share on other sites More sharing options...
Weber K. Posted April 27, 2019 Report Share Posted April 27, 2019 First once I've tried on register, in 1.013. Since crashed, I don't know if my user is registered. All others at login, first backtrace in 1.0.13 and second in 1.022 gloox. Quote Link to comment Share on other sites More sharing options...
Weber K. Posted April 27, 2019 Report Share Posted April 27, 2019 I've double checked. This error occur if user is not registered. I can register with gloox 1.0.22. Then I can enter lobby. Right after, I am still getting segmentation fault. But now is a different one: Thread 1 (Thread 0x7ffff7f87b80 (LWP 23818)): #0 0x00007ffff490b7a0 in gloox::Tag::xmlns(std::string const&) const () from /usr/lib64/libgloox.so.13 No symbol table info available. #1 0x00007ffff490c33d in gloox::Tag::xmlns() const () from /usr/lib64/libgloox.so.13 No symbol table info available. #2 0x0000000000a916f7 in glooxwrapper::Tag::xmlns (this=this@entry=0x27a2a90) at ../../../source/lobby/glooxwrapper/glooxwrapper.cpp:735 No locals. #3 0x0000000000a8bc3c in GameListQuery::GameListQuery (this=0x27a23f0, tag=0x27a2a90) at ../../../source/lobby/StanzaExtensions.cpp:129 c = <optimized out> #4 0x0000000000a8c985 in GameListQuery::newInstance (this=<optimized out>, tag=0x27a2a90) at ../../../source/lobby/StanzaExtensions.h:67 No locals. #5 0x0000000000a95e17 in glooxwrapper::StanzaExtensionWrapper::newInstance (this=0x4329150, tag=0x408c7a0) at ../../../source/lobby/glooxwrapper/glooxwrapper.cpp:257 tagWrapper = 0x27a2a90 ret = <optimized out> #6 0x00007ffff496c4be in gloox::StanzaExtensionFactory::addExtensions(gloox::Stanza&, gloox::Tag*) () from /usr/lib64/libgloox.so.13 No symbol table info available. #7 0x00007ffff49064b6 in gloox::ClientBase::handleTag(gloox::Tag*) () from /usr/lib64/libgloox.so.13 No symbol table info available. #8 0x00007ffff48faa72 in gloox::Parser::closeTag() () from /usr/lib64/libgloox.so.13 No symbol table info available. #9 0x00007ffff48fbcb8 in gloox::Parser::feed(std::string&) () from /usr/lib64/libgloox.so.13 No symbol table info available. #10 0x00007ffff4900aad in gloox::ClientBase::parse(std::string const&) () from /usr/lib64/libgloox.so.13 No symbol table info available. #11 0x00007ffff49726de in gloox::GnuTLSBase::decrypt(std::string const&) () from /usr/lib64/libgloox.so.13 No symbol table info available. #12 0x00007ffff48fcb7e in gloox::ConnectionTCPClient::recv(int) () from /usr/lib64/libgloox.so.13 No symbol table info available. #13 0x000000000043d4ee in Frame () at ../../../source/main.cpp:403 profile2__ = {m_Name = 0xb2aaf8 "frame"} time = <optimized out> realTimeSinceLastFrame = 0.033053346 __func__ = "Frame" need_update = false Quote Link to comment Share on other sites More sharing options...
Weber K. Posted April 27, 2019 Report Share Posted April 27, 2019 (edited) I've tried this command: break StanzaExtensions .cpp:129 if tag This error occur when tag = 0. <- Sorry... Not right... tag=0x3ade4c0 maybe tag->xmlns() is breaking when not defined? Edited April 27, 2019 by Weber K. Quote Link to comment Share on other sites More sharing options...
Weber K. Posted April 27, 2019 Report Share Posted April 27, 2019 This backtrace is when it crashes right after clicking login. The other backtrace I can see the lobby, then it crashes. Thread 1 (Thread 0x7ffff7f87b80 (LWP 24753)): #0 0x00007ffff490b72e in gloox::Tag::xmlns(std::string const&) const () from /usr/lib64/libgloox.so.13 No symbol table info available. #1 0x00007ffff490c33d in gloox::Tag::xmlns() const () from /usr/lib64/libgloox.so.13 No symbol table info available. #2 0x0000000000a916f7 in glooxwrapper::Tag::xmlns (this=this@entry=0x3ade4c0) at ../../../source/lobby/glooxwrapper/glooxwrapper.cpp:735 No locals. #3 0x0000000000a8bc3c in GameListQuery::GameListQuery (this=0x5331bb0, tag=0x3ade4c0) at ../../../source/lobby/StanzaExtensions.cpp:129 c = <optimized out> #4 0x0000000000a8c985 in GameListQuery::newInstance (this=<optimized out>, tag=0x3ade4c0) at ../../../source/lobby/StanzaExtensions.h:67 No locals. #5 0x0000000000a95e17 in glooxwrapper::StanzaExtensionWrapper::newInstance (this=0x4381510, tag=0x25c4050) at ../../../source/lobby/glooxwrapper/glooxwrapper.cpp:257 tagWrapper = 0x3ade4c0 ret = <optimized out> #6 0x00007ffff496c4be in gloox::StanzaExtensionFactory::addExtensions(gloox::Stanza&, gloox::Tag*) () from /usr/lib64/libgloox.so.13 No symbol table info available. #7 0x00007ffff49064b6 in gloox::ClientBase::handleTag(gloox::Tag*) () from /usr/lib64/libgloox.so.13 No symbol table info available. #8 0x00007ffff48faa72 in gloox::Parser::closeTag() () from /usr/lib64/libgloox.so.13 No symbol table info available. #9 0x00007ffff48fbcb8 in gloox::Parser::feed(std::string&) () from /usr/lib64/libgloox.so.13 No symbol table info available. #10 0x00007ffff4900aad in gloox::ClientBase::parse(std::string const&) () from /usr/lib64/libgloox.so.13 No symbol table info available. #11 0x00007ffff49726de in gloox::GnuTLSBase::decrypt(std::string const&) () from /usr/lib64/libgloox.so.13 No symbol table info available. #12 0x00007ffff48fcb7e in gloox::ConnectionTCPClient::recv(int) () from /usr/lib64/libgloox.so.13 No symbol table info available. #13 0x000000000043d4ee in Frame () at ../../../source/main.cpp:403 profile2__ = {m_Name = 0xb2aaf8 "frame"} time = <optimized out> realTimeSinceLastFrame = 0.0330168754 __func__ = "Frame" need_update = false Quote Link to comment Share on other sites More sharing options...
Weber K. Posted April 29, 2019 Report Share Posted April 29, 2019 (edited) Hello all! Thank you very much! You are awesome! Good news! Fix released:https://code.wildfiregames.com/D1852 I applied with: patch -p0 < D1852.diff And I can connect to lobby! No crash! Here are my packages: (Maybe the patch and this list could be included in https://trac.wildfiregames.com/wiki/BuildInstructions#Slackware ) boost-1.59.0-x86_64-1 icu4c-56.1-x86_64-2 libogg-1.3.2-x86_64-1 cmake-3.5.2-x86_64-1.txz curl-7.64.0-x86_64-2_slack14.2.txz enet-1.3.12-x86_64-1_slonly.txz gcc-5.5.0-x86_64-1_slack14.2.txz gcc-g++-5.5.0-x86_64-1_slack14.2.txz guile-2.0.11-x86_64-2.txz libXcursor-1.1.15-x86_64-1_slack14.2.txz libpng-1.6.27-x86_64-1_slack14.2.txz libsodium-1.0.16-x86_64-1_slonly.txz libvorbis-1.3.6-x86_64-1_slack14.2.txz libxml2-2.9.5-x86_64-1_slack14.2.txz make-4.1-x86_64-2.txz mozilla-nss-3.40.1-x86_64-1_slack14.2.txz pkg-config-0.29.2-x86_64-1_slack14.2.txz premake-4.4_beta5-x86_64-1_slonly.txz zlib-1.2.11-x86_64-1_slack14.2.txz OpenAL-1.18.1-x86_64-1alien.txz libzip-1.0.1-x86_64-3_slack14.2.txz sdl2-2.0.3-x86_64-1jsc.txz miniupnpc-2.0-x86_64-1_slonly.txz wxGTK3-3.0.4-x86_64-2ponce.txz flex-2.6.0-x86_64-1.txz libSM-1.2.2-x86_64-2.txz binutils-2.26-x86_64-3.txz gloox-1.0.22-x86_64-1_SBo.tgz perl-5.22.2-x86_64-1.txz python-2.7.16-x86_64-1_slack14.2.txz python-setuptools-22.0.5-x86_64-1.txz pip-9.0.3-x86_64-1_slonly.txz sed-4.2.2-x86_64-1.txz kernel-headers-4.4.157-x86-1.txz OpenGL (mesa 11.2.2) 2.9.0 git (not used, downloaded tarball) Edited April 29, 2019 by Weber K. 1 Quote Link to comment Share on other sites More sharing options...
Imarok Posted April 29, 2019 Report Share Posted April 29, 2019 8 hours ago, Weber K. said: the patch and this list could be included in https://trac.wildfiregames.com/wiki/BuildInstructions#Slackware ) Feel free to do so. How did you fix the gloox issue? Quote Link to comment Share on other sites More sharing options...
Weber K. Posted April 30, 2019 Report Share Posted April 30, 2019 (edited) 15 hours ago, Imarok said: How did you fix the gloox issue? I've created a new chroot jail sandbox for compiling and in this new sandbox I've upgraded a lot of packages. After compiling in this new sandbox, lobby was not crashing. This way, I don't know if only upgrading gloox to 1.0.22 and recompiling is enough for solving TLS problem or not. But I've provided all packages of my test environment, as reference. Edited April 30, 2019 by Weber K. Quote Link to comment Share on other sites More sharing options...
Weber K. Posted April 30, 2019 Report Share Posted April 30, 2019 15 hours ago, Imarok said: the patch and this list could be included in https://trac.wildfiregames.com/wiki/BuildInstructions#Slackware ) Feel free to do so. Did it! Please, as english is not my mother tongue, can someone look for typos and style corrections? Thank you very much! 1 1 Quote Link to comment Share on other sites More sharing options...
andy5995 Posted April 30, 2019 Report Share Posted April 30, 2019 4 hours ago, Weber K. said: Did it! Please, as english is not my mother tongue, can someone look for typos and style corrections? Thank you very much! Thank you very much, @Weber K. And yes, I'll review it for grammar within the next couple days. Quote Link to comment Share on other sites More sharing options...
andy5995 Posted May 1, 2019 Report Share Posted May 1, 2019 On 4/29/2019 at 11:50 PM, Weber K. said: Did it! Please, as english is not my mother tongue, can someone look for typos and style corrections? Thank you very much! LGTM! 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.