Author Topic: [invalid] Headless SegF in unknown code  (Read 1352 times)

filux

  • MegaGlest Team
  • Draco Rider
  • ********
  • Posts: 310
  • was OpenSuse x64, is Debian testing x64
    • View Profile
[invalid] Headless SegF in unknown code
« on: 21 January 2014, 20:07:06 »
For me it looks similar (Fakir/i686/v3.9.1):
[console/error.log/core_dump]
Code: [Select]
== Current in-game stats (interval 600) ==
Render FPS: -1[-1]
Update FPS: 0[-1]
Time: 7.50 [0.00]
Log buffer count: 0
UnitRangeCellsLookupItemCache: pos [0] size [0] range [0][0] total KB: 0
ExploredCellsLookupItemCache: pos [18] sight [18] [8289][2677] total KB: 43
FowAlphaCellsLookupItemCache: surface count [0] total KB: 0
Selection type: color
Color picking used color list size: 1520
Map: forest_for_four
Tileset: hell
Techtree: megapack
Frame count:0
Total unit count: 18

In [/home/softcoder/Code/megaglest/git/source/glest_game/main/main.cpp::handleSIGSEGV Line: 5602] Error detected: signal 11:
Error saved to logfile [/opt/megaglest//.megaglest/error.log]
Segmentation fault (core dumped)

----------------------------------------------------------------------------------------

[2014-01-21 01:35:35] Runtime Error information:
======================================================
In [/home/softcoder/Code/megaglest/git/source/glest_game/main/main.cpp::handleSIGSEGV Line: 5602] Error detected: signal 11:

----------------------------------------------------------------------------------------

[New LWP 14093]
[New LWP 14102]
[New LWP 14103]
[New LWP 14104]
[New LWP 14105]
[New LWP 14086]
[New LWP 14087]
[New LWP 14088]
[New LWP 14091]
[New LWP 14109]
[New LWP 14085]

warning: Can't read pathname for load map: Input/output error.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/tls/i686/nosegneg/libthread_db.so.1".
Core was generated by `./megaglest --ini-path=./ --data-path=./ --headless-server-mode=vps,exit'.
Program terminated with signal 11, Segmentation fault.
#0  x86_fallback_frame_state (context=0xb23f0a70, context=0xb23f0a70, fs=0xb23f0a70) at ./md-unwind-support.h:127
127     ./md-unwind-support.h: No such file or directory.
#0  x86_fallback_frame_state (context=0xb23f0a70, context=0xb23f0a70, fs=0xb23f0a70) at ./md-unwind-support.h:127
#1  uw_frame_state_for (context=context@entry=0xb23f09f0, fs=fs@entry=0xb23f0a70) at ../../../src/libgcc/unwind-dw2.c:1253
#2  0xb6e25f40 in _Unwind_Backtrace (trace=0xb6d638f0 <backtrace_helper>, trace_argument=0xb23f0b6c) at ../../../src/libgcc/unwind.inc:290
#3  0xb6d639f5 in __GI___backtrace (array=0xb23f0bf8, size=25) at ../sysdeps/i386/backtrace.c:126
#4  0x088c05be in Shared::Platform::PlatformExceptionHandler::getStackTrace () at /home/softcoder/Code/megaglest/git/source/shared_lib/sources/platform/sdl/platform_util.cpp:227
#5  0x083e431d in Glest::Game::ExceptionHandler::handleRuntimeError (msg=0xb23f6c3c "In [/home/softcoder/Code/megaglest/git/source/glest_game/main/main.cpp::handleSIGSEGV Line: 5602] Error detected: signal 11:\n", getStackTraceString=true) at /home/softcoder/Code/megaglest/git/source/glest_game/main/main.cpp:638
#6  0x083e4b21 in Glest::Game::handleSIGSEGV (sig=11) at /home/softcoder/Code/megaglest/git/source/glest_game/main/main.cpp:5606
#7  <signal handler called>
#8  0x00000002 in ?? ()
#9  0x09b2a0b0 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Edit (tomreyn):
Tag [invalid] (please see below for reasoning).
« Last Edit: 24 January 2014, 14:49:55 by tomreyn »

tomreyn

  • Local Moderator
  • Airship
  • ********
  • Posts: 2,764
    • View Profile
    • MegaGlest - the free and open source cross platform 3D real-time strategy game
Re: [wontfix] Headless SegF in unknown code
« Reply #1 on: 21 January 2014, 21:14:17 »
Hmm, I don't see why this one would be related to 4588.aee2417: Headless SegF in ConnectionSlotThread::execute - what makes you think it can be?

I think this one is broken ("corrupt stack"). Just in case, here's a backtrace on all threads:
http://pastie.org/pastes/8655043/text?key=mvgvosv36xuvvaecsaj3q
atibox: Ryzen 1800X (8 cores @3.6GHz), 32 GB RAM, MSI Radeon RX 580 Gaming X 8G, PCI subsystem ID [1462:3417], (Radeon RX 580 chipset, POLARIS10) @3440x1440; latest stable Ubuntu release, (open source) radeon (amdgpu) / mesa video driver
atibox (old): Core2Quad Q9400 (4 cores @2.66GHz), 8 GB RAM, XFX HD-467X-DDF2, PCI subsystem ID [1682:2931], (Radeon HD 4670, RV730 XT) @1680x1050; latest stable Ubuntu release, (open source) radeon / mesa video driver
notebook: HP envy13d020ng
internet access: VDSL2+

· · · How YOU can contribute to MG · Latest development snapshot · How to build yourself · Megapack techtree · Currently hosted MG games · · ·

filux

  • MegaGlest Team
  • Draco Rider
  • ********
  • Posts: 310
  • was OpenSuse x64, is Debian testing x64
    • View Profile
Re: [wontfix] Headless SegF in unknown code
« Reply #2 on: 21 January 2014, 21:33:27 »
Hmm, I don't see why this one would be related to...what makes you think it can be?

The same start:
Code: [Select]
Render FPS: -1[-1]
Update FPS: 0[-1]
Time: 7.50 [0.00]...
The same error:
Code: [Select]
...main.cpp::handleSIGSEGV Line: 5602] Error detected: signal 11:
Forces me to think, that it is somehow related. :)

tomreyn

  • Local Moderator
  • Airship
  • ********
  • Posts: 2,764
    • View Profile
    • MegaGlest - the free and open source cross platform 3D real-time strategy game
Re: [invalid] Headless SegF in unknown code
« Reply #3 on: 22 January 2014, 01:01:49 »
Thanks for the explanation.

Negative FPS, that's interesting, I hadn't noticed this. I'm not sure whether this indicates a problem, or is just a way of saying "right now there is no graphical output" (as you know, the value -1 can just mean as much as "not applicable").

This error message, however, just means that a segmentation fault occurred and the games' internal segfault handler jumped in. You will find this whenever MG crashes on Linux (unless it was disabled by the corresponding command line option).

So while the FPS values are a parallel, I would not say it means this is the same bug. What's relevant to determine whether it's the same bug would be to look at the lines of the trace before (so further down) the internal segfault handler jumped in. In the first crash discussed here (reposrted by me), that's
Code: [Select]
#5  0x0000000000b2f3e3 in Glest::Game::ConnectionSlotThread::execute (this=0x3000db0) at /home/user1/SCM/megaglest-source/source/glest_game/network/connection_slot.cpp:240and in the second crash (reported by Filux) there is no such line (only the segfault handler's actions are available), which is, I guess, due to the stack corruption. Which, I think, sadly just means we are not going to find out what went wrong during this second crash.

Edit:
I looked at this report again with more time at hands and now I think this one is not going to be useful because the relevant information was not recorded n the first place (which is not your fault, Filux!), and there is insufficient indication that it's related to the other bug report referenced. So this one is invalid because we don't even know what happened there.
« Last Edit: 24 January 2014, 14:48:55 by tomreyn »
atibox: Ryzen 1800X (8 cores @3.6GHz), 32 GB RAM, MSI Radeon RX 580 Gaming X 8G, PCI subsystem ID [1462:3417], (Radeon RX 580 chipset, POLARIS10) @3440x1440; latest stable Ubuntu release, (open source) radeon (amdgpu) / mesa video driver
atibox (old): Core2Quad Q9400 (4 cores @2.66GHz), 8 GB RAM, XFX HD-467X-DDF2, PCI subsystem ID [1682:2931], (Radeon HD 4670, RV730 XT) @1680x1050; latest stable Ubuntu release, (open source) radeon / mesa video driver
notebook: HP envy13d020ng
internet access: VDSL2+

· · · How YOU can contribute to MG · Latest development snapshot · How to build yourself · Megapack techtree · Currently hosted MG games · · ·

filux

  • MegaGlest Team
  • Draco Rider
  • ********
  • Posts: 310
  • was OpenSuse x64, is Debian testing x64
    • View Profile
Re: [invalid] Headless SegF in unknown code
« Reply #4 on: 24 January 2014, 16:49:16 »
Code: [Select]
...sadly just means we are not going to find out what went wrong during this second crash...
Do we can determine what was guilty and caused "corrupt stack"?, something on MG side or OS/gdb itself?

tomreyn

  • Local Moderator
  • Airship
  • ********
  • Posts: 2,764
    • View Profile
    • MegaGlest - the free and open source cross platform 3D real-time strategy game
Re: [invalid] Headless SegF in unknown code
« Reply #5 on: 24 January 2014, 17:21:51 »
I don't think we can in this case, no. That's because the core file is basically corrupt. It's one of the very, very few times I ran into such a situation.
atibox: Ryzen 1800X (8 cores @3.6GHz), 32 GB RAM, MSI Radeon RX 580 Gaming X 8G, PCI subsystem ID [1462:3417], (Radeon RX 580 chipset, POLARIS10) @3440x1440; latest stable Ubuntu release, (open source) radeon (amdgpu) / mesa video driver
atibox (old): Core2Quad Q9400 (4 cores @2.66GHz), 8 GB RAM, XFX HD-467X-DDF2, PCI subsystem ID [1682:2931], (Radeon HD 4670, RV730 XT) @1680x1050; latest stable Ubuntu release, (open source) radeon / mesa video driver
notebook: HP envy13d020ng
internet access: VDSL2+

· · · How YOU can contribute to MG · Latest development snapshot · How to build yourself · Megapack techtree · Currently hosted MG games · · ·

filux

  • MegaGlest Team
  • Draco Rider
  • ********
  • Posts: 310
  • was OpenSuse x64, is Debian testing x64
    • View Profile
Re: [invalid] Headless SegF in unknown code
« Reply #6 on: 2 February 2014, 22:30:08 »
I assume that's the same error.
Fakir. Stack is again corrupted but output from the console before crash maybe contain some useful hints this time.

Code: [Select]
*TESTING*: START Waiting for lagging client playerIndex = 1 [Peter] clientLagCount = 16.000000 [0.000000]
*TESTING*: FINISHED Waiting for lagging client playerIndex = 1 [Peter]
*TESTING*: START Waiting for lagging client playerIndex = 1 [Peter] clientLagCount = 37.000000 [18.000000]
*TESTING*: START Waiting for lagging client playerIndex = 0 [Eva] clientLagCount = 0.000000 [10.000000]
*TESTING*: FINISHED Waiting for lagging client playerIndex = 0 [Eva]
*ERROR* [2014-02-02 19:41:21] In [/home/softcoder/Code/megaglest/git/source/shared_lib/sources/platform/posix/socket.cpp::receive Line: 1463] additionalBytes == -1
*ERROR* [2014-02-02 19:41:21] In [network_message.cpp::receive Line: 1669] ERROR header not received as expected
In [/home/softcoder/Code/megaglest/git/source/glest_game/main/main.cpp::handleSIGSEGV Line: 5602] Error detected: signal 11:
Error saved to logfile [/opt/megaglest//.megaglest/error.log]
Segmentation fault (core dumped)
ERROR: Server has quit unexpectedly.

Code: [Select]
[2014-02-02 19:41:21] Runtime Error information:
======================================================
In [/home/softcoder/Code/megaglest/git/source/glest_game/main/main.cpp::handleSIGSEGV Line: 5602] Error detected: signal 11:

Code: [Select]
[New LWP 23365]
[New LWP 23418]
[New LWP 23420]
[New LWP 23421]
[New LWP 23422]
[New LWP 23423]
[New LWP 23450]
[New LWP 23451]
[New LWP 23419]
[New LWP 23359]
[New LWP 23360]
[New LWP 23358]
[New LWP 23357]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/tls/i686/nosegneg/libthread_db.so.1".
Core was generated by `./megaglest --ini-path=./ --data-path=./ --headless-server-mode=vps,exit'.
Program terminated with signal 11, Segmentation fault.
#0  x86_fallback_frame_state (context=0xb2230430, context=0xb2230430, fs=0xb2230430) at ./md-unwind-support.h:127
#0  x86_fallback_frame_state (context=0xb2230430, context=0xb2230430, fs=0xb2230430) at ./md-unwind-support.h:127
#1  uw_frame_state_for (context=context@entry=0xb22303b0, fs=fs@entry=0xb2230430) at ../../../src/libgcc/unwind-dw2.c:1253
#2  0xb6da7f40 in _Unwind_Backtrace (trace=0xb6ce58f0 <backtrace_helper>, trace_argument=0xb223052c) at ../../../src/libgcc/unwind.inc:290
#3  0xb6ce59f5 in __GI___backtrace (array=0xb22305b8, size=25) at ../sysdeps/i386/backtrace.c:126
#4  0x088c05be in Shared::Platform::PlatformExceptionHandler::getStackTrace () at /home/softcoder/Code/megaglest/git/source/shared_lib/sources/platform/sdl/platform_util.cpp:227
#5  0x083e431d in Glest::Game::ExceptionHandler::handleRuntimeError (msg=0xb22365fc "In [/home/softcoder/Code/megaglest/git/source/glest_game/main/main.cpp::handleSIGSEGV Line: 5602] Error detected: signal 11:\n", getStackTraceString=true) at /home/softcoder/Code/megaglest/git/source/glest_game/main/main.cpp:638
#6  0x083e4b21 in Glest::Game::handleSIGSEGV (sig=11) at /home/softcoder/Code/megaglest/git/source/glest_game/main/main.cpp:5606
#7  <signal handler called>
#8  0x00000001 in ?? ()
#9  0x09e51030 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

tomreyn

  • Local Moderator
  • Airship
  • ********
  • Posts: 2,764
    • View Profile
    • MegaGlest - the free and open source cross platform 3D real-time strategy game
Re: [invalid] Headless SegF in unknown code
« Reply #7 on: 3 February 2014, 20:42:39 »
Looks like. This is apparently specific to this server, it doesn't happen elsewhere as far as I can tell.
atibox: Ryzen 1800X (8 cores @3.6GHz), 32 GB RAM, MSI Radeon RX 580 Gaming X 8G, PCI subsystem ID [1462:3417], (Radeon RX 580 chipset, POLARIS10) @3440x1440; latest stable Ubuntu release, (open source) radeon (amdgpu) / mesa video driver
atibox (old): Core2Quad Q9400 (4 cores @2.66GHz), 8 GB RAM, XFX HD-467X-DDF2, PCI subsystem ID [1682:2931], (Radeon HD 4670, RV730 XT) @1680x1050; latest stable Ubuntu release, (open source) radeon / mesa video driver
notebook: HP envy13d020ng
internet access: VDSL2+

· · · How YOU can contribute to MG · Latest development snapshot · How to build yourself · Megapack techtree · Currently hosted MG games · · ·