Page 1 of 1

[SOLVED] Segfault at start after downgrading glibc

Posted: 13 Jul 2018, 19:43
by Zalikowka
Hello. I'm using Slackware64 14.2. I've had newest multilib glibc and gcc from the "Current" version (glibc 2.26, gcc 7.2.0 AFAIR) and Spring 104 compiled in this environment worked perfect.

Few weeks ago I downgraded glibc and gcc to appropriate versions (2.23, 5.3.0) and recompiled Spring with it dependencies (DevIL, OpenAL, SDL2, bullet, libunwind). At engine start I get a dark screen with information about Spring version, scanned archives etc. and catch segfault:

Code: Select all

[f=-000001] [CrashHandler] Error: Segmentation fault (SIGSEGV) in spring 104.0
[f=-000001] [CrashHandler] Error: Halted Stacktrace for Spring 104.0 using libunwind:
[f=-000001] [CrashHandler] Error: [00]                                         spring() [0x927c02]  log_util_prepareSection
[f=-000001] [CrashHandler] Error: [01]                                         spring() [0x927fb2]  log_util_prepareSection
[f=-000001] [CrashHandler] Error: [02]           /lib64/libpthread.so.0(+0x12380) [0x7f561f576380]  __restore_rt
[f=-000001] [CrashHandler] Error: [03]      .../lib64/libSDL2-2.0.so.0(+0x108c3f) [0x7f561f88bc3f]  SDL_LogCritical
[f=-000001] [CrashHandler] Error: [04]       .../lib64/libSDL2-2.0.so.0(+0xe502d) [0x7f561f86802d]  SDL_LogCritical
[f=-000001] [CrashHandler] Error: [05]                                         spring() [0x8bdde3]  std::thread::_State_impl<std::thread::_Invoker<std::tuple<std::_Bind<void (COffscreenGLThread: [...]
[f=-000001] [CrashHandler] Error: [06]                                         spring() [0x8bde5b]  std::thread::_State_impl<std::thread::_Invoker<std::tuple<std::_Bind<void (COffscreenGLThread: [...]
[f=-000001] [CrashHandler] Error: [07]                                         spring() [0x8c8e41]  safe_strcat
[f=-000001] [CrashHandler] Error: [08]                                         spring() [0x8c9088]  safe_strcat
[f=-000001] [CrashHandler] Error: [09]                                         spring() [0x8af9f9]  std::thread::_State_impl<std::thread::_Invoker<std::tuple<std::function<void (gzFile_s*, std:: [...]
[f=-000001] [CrashHandler] Error: [10]                                         spring() [0x45f6aa]  asio::datagram_socket_service<asio::ip::udp>::shutdown_service()
[f=-000001] [CrashHandler] Error: [11]   /lib64/libc.so.6(__libc_start_main+0xe7) [0x7f561bd0bba7]  __libc_start_main
[f=-000001] [CrashHandler] Error: [12]                              spring(_start+0x29) [0x47dc99]  ??
[f=-000001] [WatchDog::DeregisterThread] deregistering controls for thread [main]
[f=-000001] Error: [ExitSpringProcess] errorMsg="Spring has crashed:
Segmentation fault (SIGSEGV).
I tried Spring 100; static version; building with gcc 7.3.0 and glibc 2.27 (don't have old versions anymore) with no luck. Anyway I suppose it's my mistake, but where is it?

Re: Segfault at start after downgrading glibc

Posted: 14 Jul 2018, 10:25
by abma
SDL2 broken? (it crashes somewhere in SDL2/SDL_LogCritical)

Re: Segfault at start after downgrading glibc

Posted: 14 Jul 2018, 13:16
by Zalikowka
abma wrote:SDL2 broken? (it crashes somewhere in SDL2/SDL_LogCritical)
Some other games that use it work fine. Also I've installed pre-compiled SDL2 and the error is still present.

Re: Segfault at start after downgrading glibc

Posted: 02 Oct 2018, 08:14
by Zalikowka
The problem appear after upgrading to 3rd-party multilib glibc for Slackware 14.2. After this step simple downgrading to native glibc won't help.