|Anonymous | Login | Signup for a new account||2019-01-18 13:26 CET|
|Main | My View | View Issues | Change Log | Wiki | Tavern | News|
|Viewing Issue Simple Details|
|ID||Category||Severity||Reproducibility||Date Submitted||Last Update|
|0011467||[DCSS] Bug Report||crash||always||2018-05-03 09:54||2018-05-09 15:57|
|Status||new||Product Branch||0.21 old branch|
|Summary||0011467: Crash when loading save|
Crash when loading save.
OS: Fedora 28
|Tags||No tags attached.|
crash-Zyfyoss-20180503-093457.txt [^] (5,520 bytes) 2018-05-03 09:54 [Show Content]
Zyfyoss.cs [^] (50,561 bytes) 2018-05-03 09:55
|I can't replicate this crash with the release version of 0.21.1 (or trunk) on OS X, so I wonder if there's something system-specific about it. (Also, it appears to be crashing in libc, though it's reported as a recursive crash so maybe there's some memory corruption.) How did you install crawl? Is this crash something that's happening for all crawl games, or just for this save?|
edited on: 2018-05-06 19:44
This occurs on Fedora 28 on any save when using their crawl build "dnf install crawl" (see https://bugzilla.redhat.com/show_bug.cgi?id=1575324 [^] ).
The issue is not reproduced if I rebuild crawl from sources
(git clone https://github.com/crawl/crawl.git; [^] cd crawl/crawl-ref/source; git checkout 0.21.1; make)
Building from upstream git sources (at git checkout 0.21.1; git reset --hard; git clean -f -d -x) with the same flags as the Fedora package:
$ g++ --version
g++ (GCC) 8.0.1 20180324 (Red Hat 8.0.1-0.20)
$ make 'CFOPTIMIZE=-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -mcet -fcf-protection -fPIC' 'STDFLAG=-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -mcet -fcf-protection -std=gnu++11 -fPIC'
however does result the same crash.
So I guess it's either gcc 8 miscompilation, or some real memory protection issue, uncovered by the hardening flags.
>So I guess it's either gcc 8 miscompilation, or some real memory protection issue, uncovered by the hardening flags.
It looks like this crash is caused by '-Wp,-D_GLIBCXX_ASSERTIONS' compiler flag, recently (starting from fedora 28) added to the default C++ compiler flags on Fedora build system.
Any chance to resolve this issue from upstream side?
I think I found this particular issue by inspecting the code, it was sort of obvious once I saw the crash-report with the detailed stack trace posted on the redhat bug tracker. I don't use gcc so can't try out this flag myself, but another devteam member will -- I wouldn't be surprised if it turns up more stuff. The fix is in master as https://github.com/crawl/crawl/commit/0c774a7e83d7 [^]
It will appear in the next stable release of crawl, though that won't happen immediately (on the order of a month or two).
|2018-05-03 09:54||kawacatoose||New Issue|
|2018-05-03 09:54||kawacatoose||File Added: crash-Zyfyoss-20180503-093457.txt|
|2018-05-03 09:55||kawacatoose||File Added: Zyfyoss.cs|
|2018-05-03 15:05||advil||Note Added: 0032224|
|2018-05-06 19:33||pv||Note Added: 0032227|
|2018-05-06 19:34||pv||Note Edited: 0032227|
|2018-05-06 19:44||pv||Note Edited: 0032227|
|2018-05-06 20:00||pv||Note Added: 0032228|
|2018-05-09 12:20||sagitter||Note Added: 0032231|
|2018-05-09 15:57||advil||Note Added: 0032232|
|Mantis 1.1.8[^] Copyright © 2000 - 2009 Mantis Group|