View Issue Details

IDProjectCategoryView StatusLast Update
0011574Dwarf FortressWorld Generation -- Generalpublic2020-09-13 08:47
Reporterspinnylights Assigned To 
PrioritynormalSeveritycrashReproducibilitysometimes
Status newResolutionopen 
PlatformX11OSLinuxOS Version5.7.7
Product Version0.47.04 
Summary0011574: PRINT_MODE:TEXT segfault in X11 shortly into history generation
DescriptionWhen using PRINT_MODE:TEXT in X11, the game can crash (segfault, specifically) shortly into history generation. I and another user both encountered this separately while trying to troubleshoot a different problem (see https://bbs.archlinux.org/viewtopic.php?id=257094).

The crash does not seem to occur when running the game at the system console (i.e. outside of a graphical environment). After running the game at the system console in another tty, I haven't been able to reproduce the crash even in X11 in the initial tty, but it was happening consistently beforehand.
Steps To Reproduce1. With a fresh (default) set of user settings, change PRINT_MODE:2D to PRINT_MODE:TEXT in the data/init/init.txt file.
2. Run _Dwarf Fortress_ in a graphical terminal emulator under X11.
3. Pick "Create New World!" at the menu and proceed using the default parameters.
4. Segfault occurs shortly into history generation.
TagsNo tags attached.

Activities

spinnylights

2020-09-13 08:47

reporter   ~0040730

I hit this again a few times the other day while trying to generate a world using PRINT_MODE:TEXT over SSH. This time I was able to get a stack trace:

                Stack trace of thread 869685:
                #0 0x0000000000a893fa n/a (Dwarf_Fortress + 0x6893fa)
                0000001 0x00007f873a049a0a _Z13render_thingsv (libgraphics.so + 0xf9a0a)
                0000002 0x00007f873a014330 _ZN9enablerst10async_loopEv (libgraphics.so + 0xc4330)
                0000003 0x00007f873a01584c _Z9call_loopPv (libgraphics.so + 0xc584c)
                0000004 0x00007f873a4344cb n/a (libSDL-1.2.so.0 + 0x104cb)
                0000005 0x00007f873a47716a n/a (libSDL-1.2.so.0 + 0x5316a)
                0000006 0x00007f8739a293e9 start_thread (libpthread.so.0 + 0x93e9)
                0000007 0x00007f8739b4a293 __clone (libc.so.6 + 0x100293)
                
                Stack trace of thread 869688:
                #0 0x00007f8739b3f46f __poll (libc.so.6 + 0xf546f)
                0000001 0x00007f8739831ba7 n/a (libopenal.so.1 + 0x79ba7)
                0000002 0x00007f87364b1059 pa_mainloop_poll (libpulse.so.0 + 0x1b059)
                0000003 0x00007f87364bb301 pa_mainloop_iterate (libpulse.so.0 + 0x25301)
                0000004 0x00007f87364bb3b1 pa_mainloop_run (libpulse.so.0 + 0x253b1)
                0000005 0x00007f873983249e n/a (libopenal.so.1 + 0x7a49e)
                0000006 0x00007f8739e42c24 execute_native_thread_routine (libstdc++.so.6 + 0xcfc24)
                0000007 0x00007f8739a293e9 start_thread (libpthread.so.0 + 0x93e9)
                0000008 0x00007f8739b4a293 __clone (libc.so.6 + 0x100293)
                
                Stack trace of thread 869689:
                #0 0x00007f8739b3f46f __poll (libc.so.6 + 0xf546f)
                0000001 0x00007f8739831ba7 n/a (libopenal.so.1 + 0x79ba7)
                0000002 0x00007f87364b1059 pa_mainloop_poll (libpulse.so.0 + 0x1b059)
                0000003 0x00007f87364bb301 pa_mainloop_iterate (libpulse.so.0 + 0x25301)
                0000004 0x00007f87364bb3b1 pa_mainloop_run (libpulse.so.0 + 0x253b1)
                0000005 0x00007f873983249e n/a (libopenal.so.1 + 0x7a49e)
                0000006 0x00007f8739e42c24 execute_native_thread_routine (libstdc++.so.6 + 0xcfc24)
                0000007 0x00007f8739a293e9 start_thread (libpthread.so.0 + 0x93e9)
                0000008 0x00007f8739b4a293 __clone (libc.so.6 + 0x100293)
                
                Stack trace of thread 869690:
                #0 0x00007f8739a32014 do_futex_wait.constprop.0 (libpthread.so.0 + 0x12014)
                0000001 0x00007f8739a32118 __new_sem_wait_slow.constprop.0 (libpthread.so.0 + 0x12118)
                0000002 0x00007f873983ae74 n/a (libopenal.so.1 + 0x82e74)
                0000003 0x00007f87397d8e09 n/a (libopenal.so.1 + 0x20e09)
                0000004 0x00007f8739e42c24 execute_native_thread_routine (libstdc++.so.6 + 0xcfc24)
                0000005 0x00007f8739a293e9 start_thread (libpthread.so.0 + 0x93e9)
                0000006 0x00007f8739b4a293 __clone (libc.so.6 + 0x100293)
                
                Stack trace of thread 869662:
                #0 0x00007f8739a32014 do_futex_wait.constprop.0 (libpthread.so.0 + 0x12014)
                0000001 0x00007f8739a32118 __new_sem_wait_slow.constprop.0 (libpthread.so.0 + 0x12118)
                0000002 0x00007f873a47741c SDL_SemWait (libSDL-1.2.so.0 + 0x5341c)
                0000003 0x00007f873a01d54e _ZN4ChanIN9enablerst9async_msgEE4readERS1_ (libgraphics.so + 0xcd54e)
                0000004 0x00007f873a014033 _ZN9enablerst10async_waitEv (libgraphics.so + 0xc4033)
                0000005 0x00007f873a01473b _ZN9enablerst8do_frameEv (libgraphics.so + 0xc473b)
                0000006 0x00007f873a012ba9 _ZN9enablerst17eventLoop_ncursesEv (libgraphics.so + 0xc2ba9)
                0000007 0x00007f873a01503c _ZN9enablerst4loopESs (libgraphics.so + 0xc503c)
                0000008 0x00007f873a015c0a main (libgraphics.so + 0xc5c0a)
                0000009 0x00007f8739a72152 __libc_start_main (libc.so.6 + 0x28152)
                0000010 0x000000000040970f n/a (Dwarf_Fortress + 0x970f)

The crash happens during the "Creatures" step of world generation. It stopped happening when I (a) set the fullscreen dimensions to 0x0 and (b) was careful not to zoom in/out (i.e. change text size) before the crash point was passed. I'm not positive that either of those steps directly prevented the crash, though—could be coincidental in both cases.

Add Note

Note

Issue History

Date Modified Username Field Change
2020-07-07 07:18 spinnylights New Issue
2020-09-13 08:47 spinnylights Note Added: 0040730