View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
---|---|---|---|---|---|---|---|---|---|
0004646 | Spring engine | General | public | 2015-01-10 17:08 | 2015-01-12 04:34 | ||||
Reporter | abma | ||||||||
Assigned To | abma | ||||||||
Priority | normal | Severity | crash | Reproducibility | have not tried | ||||
Status | resolved | Resolution | fixed | ||||||
Product Version | 98.0.1+git | ||||||||
Target Version | Fixed in Version | ||||||||
Summary | 0004646: double free in rts/System/Platform/Linux/CrashHandler.cpp:737 (=crash handler crashes) | ||||||||
Description | code is: ExtractSymbols(lines, stacktrace) { ... free(lines); } 737: ExtractSymbols(lines, stacktrace) 739: free(lines); sadly removing the double-free() makes the crashhandler not work anymore :-| Stacktrace is always empty when removing it. | ||||||||
Tags | No tags attached. | ||||||||
Checked infolog.txt for Errors | |||||||||
Attached Files |
|
![]() |
|
lamer (reporter) 2015-01-10 19:17 |
How to reproduce? I never had anything but HaltedStacktrace(). I see only references to Stacktrace() in rts/System/SafeVector.cpp:19 rts/System/SafeVector.cpp:33 rts/System/Platform/Linux/CrashHandler.cpp:1042 739: free(lines); looks wrong. Is stacktrace empty on remove or it hangs until manual kill? Just curious. |
cleanrock (reporter) 2015-01-10 19:43 |
I may be off here but to me it looks like libunwind stack trace is garbage for spring static builds, if so its pretty useless imo. |
lamer (reporter) 2015-01-10 22:10 |
@cleanrock: LocateSymbolFile (rts/System/Platform/Linux/CrashHandler.cpp:160) will try to locate symbols in different places, so one have to provide those symbols/files too with static build. But i have no idea whats the benefits of libunwind vs old style (i don't know crashhandler before libunwind), looks like new crashhandler is WIP as it didn't work for archlinux/osx OOB. |
abma (administrator) 2015-01-11 18:55 |
set DebugGLStacktraces=1 and hope that you find an opengl error :) setting ForceShaders = 1 triggers this for me. else you could try to use config from 0004644... |
abma (administrator) 2015-01-11 19:24 |
https://github.com/spring/spring/blob/develop/rts/Rendering/GL/myGL.cpp#L160 |
lamer (reporter) 2015-01-11 19:51 Last edited: 2015-01-11 19:51 |
Got it. DebugGLStacktraces=1 was sufficient (except that i copied old config from 91 engine). Stacktrace() is definitely broken, got quickfix (tested), can make PR a bit later. |
lamer (reporter) 2015-01-11 23:09 |
https://github.com/spring/spring/pull/153 |
lamer (reporter) 2015-01-12 00:45 |
Still can't figure out what was wrong with old CrashHandler without libunwind. Less dependencies is better, and the golden rule: if it ain't broke, don't fix it. |
abma (administrator) 2015-01-12 04:34 |
thanks a lot! fixed by https://github.com/spring/spring/pull/153 |
![]() |
|||
Date Modified | Username | Field | Change |
---|---|---|---|
2015-01-10 17:08 | abma | New Issue | |
2015-01-10 17:10 | abma | Description Updated | View Revisions |
2015-01-10 17:11 | abma | Summary | double free in rts/System/Platform/Linux/CrashHandler.cpp:737 => double free in rts/System/Platform/Linux/CrashHandler.cpp:737 (=crash handler crashes) |
2015-01-10 19:17 | lamer | Note Added: 0013909 | |
2015-01-10 19:43 | cleanrock | Note Added: 0013910 | |
2015-01-10 22:10 | lamer | Note Added: 0013911 | |
2015-01-11 18:55 | abma | Note Added: 0013912 | |
2015-01-11 19:24 | abma | Note Added: 0013913 | |
2015-01-11 19:33 | abma | File Added: infolog.txt | |
2015-01-11 19:51 | lamer | Note Added: 0013914 | |
2015-01-11 19:51 | lamer | Note Edited: 0013914 | View Revisions |
2015-01-11 23:09 | lamer | Note Added: 0013915 | |
2015-01-12 00:45 | lamer | Note Added: 0013917 | |
2015-01-12 04:34 | abma | Note Added: 0013918 | |
2015-01-12 04:34 | abma | Status | new => resolved |
2015-01-12 04:34 | abma | Resolution | open => fixed |
2015-01-12 04:34 | abma | Assigned To | => abma |