Dwarf Fortress Bug Tracker - Dwarf Fortress
View Issue Details
0011227Dwarf FortressAdventure Mode -- Conversationpublic2020-01-29 09:452021-04-28 07:50
0011227: Telling Story about Person or Creature Crashes the Game
Telling a story in adventure mode about a person or creature crashes before you can select which person
1. Start adventure mode game
2. Begin a performance
3. About person/creature
4. Crash
No tags attached.
Issue History
2020-01-29 09:45noxiilarxeneNew Issue
2020-02-06 20:11ZiusudraNote Added: 0039924
2020-02-06 20:13ZiusudraNote Edited: 0039924bug_revision_view_page.php?bugnote_id=0039924#r16255
2020-02-06 20:21Shonai_DwellerNote Added: 0039925
2020-02-07 06:19noxiilarxeneNote Added: 0039934
2020-02-07 23:31ZiusudraIssue Monitored: Ziusudra
2020-02-07 23:31ZiusudraIssue End Monitor: Ziusudra
2020-02-07 23:33ZiusudraNote Added: 0039950
2020-02-07 23:38ZiusudraIssue Monitored: Ziusudra
2020-02-07 23:42ZiusudraNote Edited: 0039950bug_revision_view_page.php?bugnote_id=0039950#r16267
2020-02-08 05:26noxiilarxeneNote Added: 0039959
2020-02-08 21:39ZiusudraNote Added: 0039968
2020-02-08 22:42ZiusudraNote Edited: 0039968bug_revision_view_page.php?bugnote_id=0039968#r16279
2021-04-27 18:35lurepaintsNote Added: 0041039
2021-04-27 20:33Shonai_DwellerNote Added: 0041040
2021-04-28 07:50lurepaintsNote Added: 0041041

2020-02-06 20:11   
(edited on: 2020-02-06 20:13)
Probably not helpful but here's a backtrace

Core was generated by `./libs/Dwarf_Fortress'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x0000000000706b04 in ?? ()
[Current thread is 1 (Thread 0x7fc903e50700 (LWP 28819))]
/usr/lib/../share/gcc-9.2.0/python/libstdcxx/v6/xmethods.py:731: SyntaxWarning: list indices must be integers or slices, not str; perhaps you missed a comma?
  refcounts = ['_M_refcount']['_M_pi']
(gdb) bt
0 0x0000000000706b04 in ()
1 0x000000000071a419 in ()
2 0x00007fc906eed234 in interfacest::loop() ()
    at /home/ziusudra/Games/Roguelikes/DwarfFortress/other-versions/0.47.01/libs/libgraphics.so
3 0x0000000000a4678e in mainloop() ()
4 0x00007fc906ed11c5 in enablerst::async_loop() ()
    at /home/ziusudra/Games/Roguelikes/DwarfFortress/other-versions/0.47.01/libs/libgraphics.so
5 0x00007fc906ed14e0 in call_loop(void*) ()
    at /home/ziusudra/Games/Roguelikes/DwarfFortress/other-versions/0.47.01/libs/libgraphics.so
6 0x00007fc9074dc71b in () at /usr/lib/libSDL-1.2.so.0
7 0x00007fc90751d6ba in () at /usr/lib/libSDL-1.2.so.0
8 0x00007fc90675b4cf in start_thread () at /usr/lib/libpthread.so.0
9 0x00007fc90687a2d3 in clone () at /usr/lib/libc.so.6

2020-02-06 20:21   
Works for me (47.01). You'll need to provide a save which crashes to work out what's going on here.

Upload to Bay12's file server and post a link here:
http://dffd.bay12games.com/ [^]
2020-02-07 06:19   
Whatever it was, seems to work in 47.02 - genned new world + vanilla raws to test, and I was able to get it to work
2020-02-07 23:33   
(edited on: 2020-02-07 23:42)
http://dffd.bay12games.com/file.php?id=14754 [^]

talk -> begin a performance -> tell a story -> choose '... person or creature' -> segfault

generated in 0.47.01, crashes in .01 or .02

only modding is to change tiles for grasses and shrubs

default linux package downloaded from bay12 manually installed on Arch linux

I may have some time tomorrow to try generating a new world.

2020-02-08 05:26   
So it's definitely not 100% of the time, nor 0%
2020-02-08 21:39   
(edited on: 2020-02-08 22:42)
OK, so...

I exported the w.g. parameters from the save I linked above.

I then regenerated the world in 0.47.02 and the crash doesn't happen.

But, I also regenerated it in 0.47.01 and the crash also doesn't happen. I made sure to start at the same place and as part of the same religion.

In the linked save, I had been playing for a while before I found the crash. I had gone new places, met new histfigs, and learned new things. It seems likely to me that when first starting out, the adventurer doesn't know about the "person or creature" that triggers the crash.

So, just because it doesn't crash at the beginning, doesn't mean it won't crash sometime later.

2021-04-27 18:35   
I believe the storytelling crash occurs when Villains having fake identities show up on the story telling name-list.

I can replicate this crash by starting in a human civilization with nearby tower, traveling to the big city, head to the fortress, and ask around using Persuasion about the local corruption. As soon as the local Vampire or Intelligent undead villain is referenced, (or not mentioned with blank placeholder), this is when storytelling becomes catastrophic. Funny thing, if you manage to find and kill them, the crash goes away.
2021-04-27 20:33   
Pretty simple to test then. Just start up a party, have one member take on a secret identity, then have another tell a story about him. Does that result in a crash?
2021-04-28 07:50   
No it does not. So far I encounter the problem in a world generated in unmodded in 47.04 and another in 47.05 (running Ubuntu Linux). I start an adventurer (no party) in a human civilization, visit the human sites using the story-telling feature and the intrigue/persuasion like an in-game 'Legends' to learn the lore. Once I come into contact with, or hear mentioned, a certain Vampire or intelligent Undead, the game will always crash when I select tell a story about a person. It does not story-tell crash if I start a new character, but it does once that character encounters the villain. My fix has been to copy the game and load legends into another workspace, currently trying to track another down and kill it to confirm that this gets rid of the issue.