Bug 1575324

Summary: crawl crashes when loading game
Product: [Fedora] Fedora Reporter: pav
Component: crawlAssignee: Antonio T. (sagitter) <anto.trande>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: 29CC: andreasiro, anto.trande
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: crawl-0.23.0-1.fc29 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-02-18 02:03:58 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Crash log none

Description pav 2018-05-06 00:37:26 UTC
Created attachment 1432190 [details]
Crash log

Description of problem:
crawl crashes when loading game.

Version-Release number of selected component (if applicable):
crawl-0.21.1-3.fc28.x86_64

How reproducible:
Always

Steps to Reproduce:
1. Start 'crawl' on command line.
2. Create new character (e.g. '!' for random one)
3. Press 'S' 'y' to save and quit.
4. Start 'crawl' again and try to continue the saved game.

Actual results:
Game segfaults with message:

We crashed! This is likely due to a bug in Crawl. 
Please submit a bug report at https://crawl.develz.org/mantis/ and include:
- The crash report: /home/pauli/.crawl/morgue/crash-Cien-20180506-023353.txt
- Your save file: /home/pauli/.crawl/saves/Cien.cs
- A description of what you were doing when this crash occurred.

/usr/include/c++/8/bits/basic_string.h:1029: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::const_reference std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::operator[](std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type) const [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::const_reference = const char&; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]: Assertion '__pos <= size()' failed.

Expected results:
Should not crash (makes the whole RPM package unusable).

Additional info:
Debug log attached.

Comment 1 Antonio T. (sagitter) 2018-05-06 08:44:03 UTC
Please, report these infos to upstream too:
https://crawl.develz.org/mantis/main_page.php

Thanks!

Comment 2 pav 2018-05-06 17:17:00 UTC
Was already reported by someone else:
https://crawl.develz.org/mantis/view.php?id=11467

Comment 3 pav 2018-05-06 17:33:55 UTC
The issue is not reproduced if I rebuild crawl from sources
(git clone https://github.com/crawl/crawl.git; cd crawl/crawl-ref/source; make)

So this may be specific to the Fedora package, not upstream bug.

Comment 4 pav 2018-05-06 17:35:29 UTC
Typoed the upstream build commands above, there's "git checkout 0.21.1" before "make" so the version should be the same as in the Fedora package.

Comment 5 Antonio T. (sagitter) 2018-05-07 12:01:34 UTC
Please, test this new build: https://koji.fedoraproject.org/koji/taskinfo?taskID=26835085

Comment 6 Antonio T. (sagitter) 2018-05-08 10:18:13 UTC
*** Bug 1575724 has been marked as a duplicate of this bug. ***

Comment 7 Antonio T. (sagitter) 2018-05-09 10:21:29 UTC
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.

Comment 8 Antonio T. (sagitter) 2018-05-09 10:24:06 UTC
With this rebuild, crawl looks playable on fedora 28; please, test it if you can:

https://koji.fedoraproject.org/koji/taskinfo?taskID=26854907

Comment 9 andreasiro 2018-05-09 12:03:35 UTC
Tested, saved games can be played again on f28. Thanks Antonio!

Comment 10 Antonio T. (sagitter) 2018-05-11 10:17:15 UTC
A f28-rebuild with temporary bug fix is on testing:
https://bodhi.fedoraproject.org/updates/FEDORA-2018-a7e83cad5a

Comment 11 Jan Kurik 2018-08-14 11:10:22 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 29 development cycle.
Changing version to '29'.

Comment 12 Fedora Update System 2019-02-09 11:54:16 UTC
crawl-0.23.0-1.fc29 has been submitted as an update to Fedora 29. https://bodhi.fedoraproject.org/updates/FEDORA-2019-103550670a

Comment 13 Fedora Update System 2019-02-10 04:28:31 UTC
crawl-0.23.0-1.fc29 has been pushed to the Fedora 29 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-103550670a

Comment 14 Fedora Update System 2019-02-18 02:03:58 UTC
crawl-0.23.0-1.fc29 has been pushed to the Fedora 29 stable repository. If problems still persist, please make note of it in this bug report.