View Issue Details

IDProjectCategoryView StatusLast Update
0011624Dwarf FortressDwarf Mode -- Locationspublic2020-09-16 12:10
Reporterspinnylights Assigned To 
PrioritynormalSeveritycrashReproducibilityalways
Status newResolutionopen 
PlatformPCOSArch LinuxOS Version5.8.7
Product Version0.47.04 
Summary0011624: Crash with SIGFPE on opening "Locations and Occupations" menu after creating guildhalls
DescriptionAfter designating a few meeting places as guildhalls, the game immediately crashes with a SIGFPE (arithmetic error) signal if I try to open the "Locations and Occupations" menu. A similar (presumably identical in origin) crash occurs if I try to view the details of one of the guildhall locations from the Zones menu.

I'm playing the game using PRINT_MODE:TEXT in a GNU Screen session over SSH.

Stack trace:

                Stack trace of thread 656130:
                #0 0x00000000012b9278 n/a (Dwarf_Fortress + 0xeb9278)
                0000001 0x00007f59be805a0a _Z13render_thingsv (libgraphics.so + 0xf9a0a)
                0000002 0x00007f59be7d0330 _ZN9enablerst10async_loopEv (libgraphics.so + 0xc4330)
                0000003 0x00007f59be7d184c _Z9call_loopPv (libgraphics.so + 0xc584c)
                0000004 0x00007f59bebf04cb n/a (libSDL-1.2.so.0 + 0x104cb)
                0000005 0x00007f59bec3316a n/a (libSDL-1.2.so.0 + 0x5316a)
                0000006 0x00007f59be1e53e9 start_thread (libpthread.so.0 + 0x93e9)
                0000007 0x00007f59be306293 __clone (libc.so.6 + 0x100293)
                
                Stack trace of thread 656134:
                #0 0x00007f59be2fb46f __poll (libc.so.6 + 0xf546f)
                0000001 0x00007f59bdfedba7 n/a (libopenal.so.1 + 0x79ba7)
                0000002 0x00007f59bac6d059 pa_mainloop_poll (libpulse.so.0 + 0x1b059)
                0000003 0x00007f59bac77301 pa_mainloop_iterate (libpulse.so.0 + 0x25301)
                0000004 0x00007f59bac773b1 pa_mainloop_run (libpulse.so.0 + 0x253b1)
                0000005 0x00007f59bdfee49e n/a (libopenal.so.1 + 0x7a49e)
                0000006 0x00007f59be5fec24 execute_native_thread_routine (libstdc++.so.6 + 0xcfc24)
                0000007 0x00007f59be1e53e9 start_thread (libpthread.so.0 + 0x93e9)
                0000008 0x00007f59be306293 __clone (libc.so.6 + 0x100293)
                
                Stack trace of thread 656117:
                #0 0x00007f59be1ee014 do_futex_wait.constprop.0 (libpthread.so.0 + 0x12014)
                0000001 0x00007f59be1ee118 __new_sem_wait_slow.constprop.0 (libpthread.so.0 + 0x12118)
                0000002 0x00007f59bec3341c SDL_SemWait (libSDL-1.2.so.0 + 0x5341c)
                0000003 0x00007f59be7d954e _ZN4ChanIN9enablerst9async_msgEE4readERS1_ (libgraphics.so + 0xcd54e)
                0000004 0x00007f59be7d0033 _ZN9enablerst10async_waitEv (libgraphics.so + 0xc4033)
                0000005 0x00007f59be7d073b _ZN9enablerst8do_frameEv (libgraphics.so + 0xc473b)
                0000006 0x00007f59be7ceba9 _ZN9enablerst17eventLoop_ncursesEv (libgraphics.so + 0xc2ba9)
                0000007 0x00007f59be7d103c _ZN9enablerst4loopESs (libgraphics.so + 0xc503c)
                0000008 0x00007f59be7d1c0a main (libgraphics.so + 0xc5c0a)
                0000009 0x00007f59be22e152 __libc_start_main (libc.so.6 + 0x28152)
                0000010 0x000000000040970f n/a (Dwarf_Fortress + 0x970f)
                
                Stack trace of thread 656135:
                #0 0x00007f59be1ee014 do_futex_wait.constprop.0 (libpthread.so.0 + 0x12014)
                0000001 0x00007f59be1ee118 __new_sem_wait_slow.constprop.0 (libpthread.so.0 + 0x12118)
                0000002 0x00007f59bdff6e74 n/a (libopenal.so.1 + 0x82e74)
                0000003 0x00007f59bdf94e09 n/a (libopenal.so.1 + 0x20e09)
                0000004 0x00007f59be5fec24 execute_native_thread_routine (libstdc++.so.6 + 0xcfc24)
                0000005 0x00007f59be1e53e9 start_thread (libpthread.so.0 + 0x93e9)
                0000006 0x00007f59be306293 __clone (libc.so.6 + 0x100293)
                
                Stack trace of thread 656133:
                #0 0x00007f59be2fb46f __poll (libc.so.6 + 0xf546f)
                0000001 0x00007f59bdfedba7 n/a (libopenal.so.1 + 0x79ba7)
                0000002 0x00007f59bac6d059 pa_mainloop_poll (libpulse.so.0 + 0x1b059)
                0000003 0x00007f59bac77301 pa_mainloop_iterate (libpulse.so.0 + 0x25301)
                0000004 0x00007f59bac773b1 pa_mainloop_run (libpulse.so.0 + 0x253b1)
                0000005 0x00007f59bdfee49e n/a (libopenal.so.1 + 0x7a49e)
                0000006 0x00007f59be5fec24 execute_native_thread_routine (libstdc++.so.6 + 0xcfc24)
                0000007 0x00007f59be1e53e9 start_thread (libpthread.so.0 + 0x93e9)
                0000008 0x00007f59be306293 __clone (libc.so.6 + 0x100293)

Save file: https://milky.flowers/misc/df_guildhall_details_crash_save_spinnylights_9-13-20.tar.gz
Steps To Reproduce1. Load the provided save file.
2. Press "l" to open the "Locations and Occupations" menu.
TagsNo tags attached.

Activities

spinnylights

2020-09-14 15:42

reporter   ~0040732

Last edited: 2020-09-14 15:47

This only seems to occur over SSH, for whatever reason. I got a chance to load this save directly on the host machine and was able to pull up the locations screen without issue.

Also, I don't think guildhalls in particular have anything to do with it, at this point. I tried starting another fortress and got the same crash when I tried to open the locations screen after making a temple.

spinnylights

2020-09-15 11:34

reporter   ~0040734

Last edited: 2020-09-15 14:49

Thinking on this further, I wonder if this issue is due to the dimensions of the terminal emulator on the client device (a Nexus 6)—113x20. I can't see any other reason why this crash would only happen over a remote connection. Maybe something to do with how the locations menu is formatted?

EDIT: I'm almost positive this is the case. The crash doesn't happen if the phone is in portrait mode (upright), but happens immediately if the locations menu is up and the phone is put into landscape mode (sideways).

Ziusudra

2020-09-15 15:05

reporter   ~0040735

That makes some sense since the minimum is 80x25 (see data/init/init.txt). Though it could handle it better. (The upcoming version may handle it differently and/or have different requirements.)

spinnylights

2020-09-16 12:10

reporter   ~0040739

Ah, I see, thanks for the heads-up. Sorry I missed that. Given that, I will say that it works remarkably well at that resolution all things considered—I hope whatever revisions are made don't make it impossible.

Add Note

Note

Issue History

Date Modified Username Field Change
2020-09-13 09:03 spinnylights New Issue
2020-09-14 15:42 spinnylights Note Added: 0040732
2020-09-14 15:46 spinnylights Note Edited: 0040732
2020-09-14 15:47 spinnylights Note Edited: 0040732
2020-09-15 11:34 spinnylights Note Added: 0040734
2020-09-15 14:49 spinnylights Note Edited: 0040734
2020-09-15 15:05 Ziusudra Note Added: 0040735
2020-09-16 12:10 spinnylights Note Added: 0040739