McArcady / lnp-forge

A Dwarf Fortress starter pack builder for Linux & MacOS
Other
240 stars 18 forks source link

dwarf fortress crashes on start on Fedora 36 with TBWT print mode #81

Open Xerkus opened 1 year ago

Xerkus commented 1 year ago

Changing print mode to TWBT or TWBT_Legacy causes DF to segfault and crash on startup. Blank df window briefly appears with blank "error" window over it before closing. I see no error log entries except for the core dump in system journal.

I did a clean install of rpm https://github.com/McArcady/lnp-forge/releases/download/0.47.05-r6/linux-dwarf-pack-0.47.05_r6-1.x86_64.rpm No previous installation existed.

I am not sure if it is a problem with the build or something on my side. This laptop is too weak to decently run DF anyway so I won't be trying to compile locally or debug further for at least a few weeks.

Process 4856 (Dwarf_Fortress) of user 1000 dumped core.

Module /tmp/lnp-WCJxTs/df_47_05_linux/libs/Dwarf_Fortress with build-id 7811622f45f9645664a506bf5e933819b6ca25c0
Metadata for module /tmp/lnp-WCJxTs/df_47_05_linux/libs/Dwarf_Fortress owned by FDO found: {
        "type" : "rpm",
        "name" : "libdrm",
        "version" : "2.4.110-1.fc36",
        "architecture" : "x86_64",
        "osCpe" : "cpe:/o:fedoraproject:fedora:36"
}

Module /tmp/lnp-WCJxTs/df_47_05_linux/hack/libs/libjpeg.so.62.1.0 with build-id 7d9292e80c05f53c55b1c04094091b14e8540d8d
Metadata for module /tmp/lnp-WCJxTs/df_47_05_linux/hack/libs/libjpeg.so.62.1.0 owned by FDO found: {
        "type" : "rpm",
        "name" : "libdrm",
        "version" : "2.4.110-1.fc36",
        "architecture" : "x86_64",
        "osCpe" : "cpe:/o:fedoraproject:fedora:36"
}

Module /tmp/lnp-WCJxTs/df_47_05_linux/hack/liblua.so with build-id 20035100a69e799bc25a9d26c96bee9cd7edc001
Metadata for module /tmp/lnp-WCJxTs/df_47_05_linux/hack/liblua.so owned by FDO found: {
        "type" : "rpm",
        "name" : "libdrm",
        "version" : "2.4.110-1.fc36",
        "architecture" : "x86_64",
        "osCpe" : "cpe:/o:fedoraproject:fedora:36"
}

Module /tmp/lnp-WCJxTs/df_47_05_linux/hack/libprotobuf-lite.so with build-id abdf5756f9f316e192ceb708c3fe5035e7cf1eb9
Metadata for module /tmp/lnp-WCJxTs/df_47_05_linux/hack/libprotobuf-lite.so owned by FDO found: {
        "type" : "rpm",
        "name" : "libdrm",
        "version" : "2.4.110-1.fc36",
        "architecture" : "x86_64",
        "osCpe" : "cpe:/o:fedoraproject:fedora:36"
}

Module /tmp/lnp-WCJxTs/df_47_05_linux/libs/libgcc_s.so.1 with build-id 36311b4457710ae5578c4bf00791ded7359dbb92
Metadata for module /tmp/lnp-WCJxTs/df_47_05_linux/libs/libgcc_s.so.1 owned by FDO found: {
        "type" : "rpm",
        "name" : "libdrm",
        "version" : "2.4.110-1.fc36",
        "architecture" : "x86_64",
        "osCpe" : "cpe:/o:fedoraproject:fedora:36"
}

Module /tmp/lnp-WCJxTs/df_47_05_linux/libs/libgraphics.so with build-id 936cdfd70b3ba82dc3aa2f209c5749829fb49919
Metadata for module /tmp/lnp-WCJxTs/df_47_05_linux/libs/libgraphics.so owned by FDO found: {
        "type" : "rpm",
        "name" : "libdrm",
        "version" : "2.4.110-1.fc36",
        "architecture" : "x86_64",
        "osCpe" : "cpe:/o:fedoraproject:fedora:36"
}

Module /tmp/lnp-WCJxTs/df_47_05_linux/hack/libdfhack.so with build-id 9341e97fb6d3cf6851600ba76aaee2c023754b9e
Metadata for module /tmp/lnp-WCJxTs/df_47_05_linux/hack/libdfhack.so owned by FDO found: {
        "type" : "rpm",
        "name" : "libdrm",
        "version" : "2.4.110-1.fc36",
        "architecture" : "x86_64",
        "osCpe" : "cpe:/o:fedoraproject:fedora:36"
}

Module /tmp/lnp-WCJxTs/df_47_05_linux/set_ptracer_any.so with build-id e08c532e509c44b1a7ba4f13cd65fe6a5ba2a5e3
Module linux-vdso.so.1 with build-id 3f970cb6fd913e2f6ebd5205d26fed0025435ce8
Module libdrm.so.2 with build-id 041b26c70b335196ffbf5cf6801d38890cf0e8ff
Metadata for module libdrm.so.2 owned by FDO found: {
        "type" : "rpm",
        "name" : "libdrm",
        "version" : "2.4.110-1.fc36",
        "architecture" : "x86_64",
        "osCpe" : "cpe:/o:fedoraproject:fedora:36"
}

Module libxcb-glx.so.0 with build-id 2077b4cd06425998469df7f58dab6f1479f61283
Metadata for module libxcb-glx.so.0 owned by FDO found: {
        "type" : "rpm",
        "name" : "libxcb",
        "version" : "1.13.1-9.fc36",
        "architecture" : "x86_64",
        "osCpe" : "cpe:/o:fedoraproject:fedora:36"
}

Module librt.so.1 with build-id 60055ad6068cc7d0b1bc0d0228288e405df013ef
Module libnvidia-glcore.so.470.129.06 with build-id 3c47a74290af64e361d1c6d3db2d9ff58c5630ac
Module libnvidia-tls.so.470.129.06 with build-id 3ca4766f92acd8cdd390b155c8d03fc032ad9a87
Module libnvidia-glsi.so.470.129.06 with build-id c6be8cb7d79dbb9e605a54f99789ee6c745e9c57
Module libGLX_nvidia.so.0 with build-id 770adb36d1578a94a7a57f119f745b74018daacd
Module libpipewire-module-metadata.so with build-id 91540b882676d9ff7b0e521234f9237e19fd1c8f
Metadata for module libpipewire-module-metadata.so owned by FDO found: {
        "type" : "rpm",
        "name" : "pipewire",
        "version" : "0.3.56-1.fc36",
        "architecture" : "x86_64",
        "osCpe" : "cpe:/o:fedoraproject:fedora:36"
}

Module libpipewire-module-client-node.so with build-id 1fa9d50b05594219757d274e877e7b22733a86a3
Metadata for module libpipewire-module-client-node.so owned by FDO found: {
        "type" : "rpm",
        "name" : "pipewire",
        "version" : "0.3.56-1.fc36",
        "architecture" : "x86_64",
        "osCpe" : "cpe:/o:fedoraproject:fedora:36"
}

Module libpipewire-module-protocol-native.so with build-id 4c7a287381d97dcc05858583a82679cfb60b0f11
Metadata for module libpipewire-module-protocol-native.so owned by FDO found: {
        "type" : "rpm",
        "name" : "pipewire",
        "version" : "0.3.56-1.fc36",
        "architecture" : "x86_64",
        "osCpe" : "cpe:/o:fedoraproject:fedora:36"
}

Module libpipewire-module-rt.so with build-id 489c0475da43151092069ca05ce7bb2e6020b008
Metadata for module libpipewire-module-rt.so owned by FDO found: {
        "type" : "rpm",
        "name" : "pipewire",
        "version" : "0.3.56-1.fc36",
        "architecture" : "x86_64",
        "osCpe" : "cpe:/o:fedoraproject:fedora:36"
}

Module libspa-dbus.so with build-id e1ad53720330c155acdc436c3e6e31abf92425b7
Metadata for module libspa-dbus.so owned by FDO found: {
        "type" : "rpm",
        "name" : "pipewire",
        "version" : "0.3.56-1.fc36",
        "architecture" : "x86_64",
        "osCpe" : "cpe:/o:fedoraproject:fedora:36"
}

Module libasyncns.so.0 with build-id 4e12c4bfd3608b4e4b69679dbd61bed6e7fd1ab4
Metadata for module libasyncns.so.0 owned by FDO found: {
        "type" : "rpm",
        "name" : "libasyncns",
        "version" : "0.8-22.fc36",
        "architecture" : "x86_64",
        "osCpe" : "cpe:/o:fedoraproject:fedora:36"
}

Module libpulsecommon-15.0.so with build-id 1b44db205944eb0f35256db3a2affc0c08a6ddf7
Metadata for module libpulsecommon-15.0.so owned by FDO found: {
        "type" : "rpm",
        "name" : "pulseaudio",
        "version" : "15.0-5.fc36",
        "architecture" : "x86_64",
        "osCpe" : "cpe:/o:fedoraproject:fedora:36"
}

Module libpulse.so.0 with build-id 47a56fe79c3265aad602438e6ea27960ae796f69
Metadata for module libpulse.so.0 owned by FDO found: {
        "type" : "rpm",
        "name" : "pulseaudio",
        "version" : "15.0-5.fc36",
        "architecture" : "x86_64",
        "osCpe" : "cpe:/o:fedoraproject:fedora:36"
}

Module libspa-journal.so with build-id d91b4afc9f167560e393faf19b259ab940515e67
Metadata for module libspa-journal.so owned by FDO found: {
        "type" : "rpm",
        "name" : "pipewire",
        "version" : "0.3.56-1.fc36",
        "architecture" : "x86_64",
        "osCpe" : "cpe:/o:fedoraproject:fedora:36"
}

Module libspa-support.so with build-id 8de7ba5ba53d3518ff2be69e997ea6b430297feb
Metadata for module libspa-support.so owned by FDO found: {
        "type" : "rpm",
        "name" : "pipewire",
        "version" : "0.3.56-1.fc36",
        "architecture" : "x86_64",
        "osCpe" : "cpe:/o:fedoraproject:fedora:36"
}

Module libpipewire-0.3.so.0 with build-id fa23a3e6ba9a33e3970ab8584f3f95cbef066da1
Metadata for module libpipewire-0.3.so.0 owned by FDO found: {
        "type" : "rpm",
        "name" : "pipewire",
        "version" : "0.3.56-1.fc36",
        "architecture" : "x86_64",
        "osCpe" : "cpe:/o:fedoraproject:fedora:36"
}

Module libjack.so.0 with build-id 959b27b022a76ac10b1e48d6820d0dddb315e968
Metadata for module libjack.so.0 owned by FDO found: {
        "type" : "rpm",
        "name" : "pipewire",
        "version" : "0.3.56-1.fc36",
        "architecture" : "x86_64",
        "osCpe" : "cpe:/o:fedoraproject:fedora:36"
}

Module libogg.so.0 with build-id 51b01a31c9c7cf0432f1ab32da1b3a324c6e75b6
Metadata for module libogg.so.0 owned by FDO found: {
        "type" : "rpm",
        "name" : "libogg",
        "version" : "1.3.5-3.fc36",
        "architecture" : "x86_64",
        "osCpe" : "cpe:/o:fedoraproject:fedora:36"
}

Module libopus.so.0 with build-id d922cd73905353a5356f2aea7f43d7882b8b9725
Metadata for module libopus.so.0 owned by FDO found: {
        "type" : "rpm",
        "name" : "opus",
        "version" : "1.3.1-10.fc36",
        "architecture" : "x86_64",
        "osCpe" : "cpe:/o:fedoraproject:fedora:36"
}

Module libvorbisenc.so.2 with build-id f73c5115cbf4ec03fd51199035e70105c452c9c9
Metadata for module libvorbisenc.so.2 owned by FDO found: {
        "type" : "rpm",
        "name" : "libvorbis",
        "version" : "1.3.7-5.fc36",
        "architecture" : "x86_64",
        "osCpe" : "cpe:/o:fedoraproject:fedora:36"
}

Module libvorbis.so.0 with build-id 54cf4100a162e93bf55de9202edd4e8ff274525f
Metadata for module libvorbis.so.0 owned by FDO found: {
        "type" : "rpm",
        "name" : "libvorbis",
        "version" : "1.3.7-5.fc36",
        "architecture" : "x86_64",
        "osCpe" : "cpe:/o:fedoraproject:fedora:36"
}

Module libFLAC.so.8 with build-id b07e698f25b5c96b858a4224a09db7009edfd296
Metadata for module libFLAC.so.8 owned by FDO found: {
        "type" : "rpm",
        "name" : "flac",
        "version" : "1.3.4-1.fc36",
        "architecture" : "x86_64",
        "osCpe" : "cpe:/o:fedoraproject:fedora:36"
}

Module libgsm.so.1 with build-id cfab038618d8b0517a9ea4cd9f61e8216ffbcbad
Metadata for module libgsm.so.1 owned by FDO found: {
        "type" : "rpm",
        "name" : "gsm",
        "version" : "1.0.19-7.fc36",
        "architecture" : "x86_64",
        "osCpe" : "cpe:/o:fedoraproject:fedora:36"
}

Module libsndfile.so.1 with build-id a3ae47d4cba9a2f0fc45aa01fac8a116fc841e16
Metadata for module libsndfile.so.1 owned by FDO found: {
        "type" : "rpm",
        "name" : "libsndfile",
        "version" : "1.0.31-7.fc36",
        "architecture" : "x86_64",
        "osCpe" : "cpe:/o:fedoraproject:fedora:36"
}

Module libopenal.so.1 with build-id 9db3070b817f4b39bc1847c241b584ae6b57c9e8
Metadata for module libopenal.so.1 owned by FDO found: {
        "type" : "rpm",
        "name" : "openal-soft",
        "version" : "1.21.1-2.fc36",
        "architecture" : "x86_64",
        "osCpe" : "cpe:/o:fedoraproject:fedora:36"
}

Module libXss.so.1 with build-id f74dc9b97cc64f6b2aabd52dd6c12dddc2579821
Metadata for module libXss.so.1 owned by FDO found: {
        "type" : "rpm",
        "name" : "libXScrnSaver",
        "version" : "1.2.3-10.fc36",
        "architecture" : "x86_64",
        "osCpe" : "cpe:/o:fedoraproject:fedora:36"
}

Module libgpg-error.so.0 with build-id a53c231739d55cc39b97e28c36cd8b3e58a8f8f8
Metadata for module libgpg-error.so.0 owned by FDO found: {
        "type" : "rpm",
        "name" : "libgpg-error",
        "version" : "1.45-1.fc36",
        "architecture" : "x86_64",
        "osCpe" : "cpe:/o:fedoraproject:fedora:36"
}

Module libgcrypt.so.20 with build-id ab80eae398f8814c7dc7bfc27fa3724491a47294
Stack trace of thread 4856:
#0  0x00007ffff5e8e0d4 __pthread_mutex_lock@GLIBC_2.2.5 (libc.so.6 + 0x900d4)
#1  0x00007ffff62cee7f XrmQGetResource (libX11.so.6 + 0x4ae7f)
#2  0x00007ffff62b045a XGetDefault (libX11.so.6 + 0x2c45a)
#3  0x00007ffff5d7b68f _cairo_xlib_surface_get_font_options (libcairo.so.2 + 0xa168f)
#4  0x00007ffff5d453ee cairo_surface_get_font_options (libcairo.so.2 + 0x6b3ee)
#5  0x00007ffff5d03959 _cairo_gstate_ensure_scaled_font (libcairo.so.2 + 0x29959)
#6  0x00007ffff5d03b6e _cairo_gstate_show_text_glyphs (libcairo.so.2 + 0x29b6e)
#7  0x00007ffff5d55dd6 cairo_show_glyphs (libcairo.so.2 + 0x7bdd6)
#8  0x00007ffff7b73ceb pango_cairo_renderer_show_text_glyphs (libpangocairo-1.0.so.0 + 0xaceb)
#9  0x00007ffff7b73d30 pango_cairo_renderer_draw_glyphs (libpangocairo-1.0.so.0 + 0xad30)
#10 0x00007ffff6cd691d pango_renderer_draw_glyphs (libpango-1.0.so.0 + 0x2f91d)
#11 0x00007ffff7b7465f pango_cairo_show_glyph_string (libpangocairo-1.0.so.0 + 0xb65f)
#12 0x00007ffff6cd691d pango_renderer_draw_glyphs (libpango-1.0.so.0 + 0x2f91d)
#13 0x00007ffff6cd69b2 pango_renderer_draw_glyph_item (libpango-1.0.so.0 + 0x2f9b2)
#14 0x00007ffff6cdf4b9 pango_renderer_draw_layout_line (libpango-1.0.so.0 + 0x384b9)
#15 0x00007ffff6cdfb35 pango_renderer_draw_layout (libpango-1.0.so.0 + 0x38b35)
#16 0x00007ffff6d5fce1 gdk_draw_layout_with_colors (libgdk-x11-2.0.so.0 + 0x34ce1)
#17 0x00007ffff6d5ff6d gdk_draw_layout (libgdk-x11-2.0.so.0 + 0x34f6d)
#18 0x00007ffff533027d gtk_default_draw_layout.lto_priv.0 (libgtk-x11-2.0.so.0 + 0x1e727d)
#19 0x00007ffff5290b94 gtk_label_expose (libgtk-x11-2.0.so.0 + 0x147b94)
#20 0x00007ffff529e0b9 _gtk_marshal_BOOLEAN__BOXED (libgtk-x11-2.0.so.0 + 0x1550b9)
#21 0x00007ffff7e3ace5 g_closure_invoke (libgobject-2.0.so.0 + 0x13ce5)
#22 0x00007ffff7e67605 signal_emit_unlocked_R.isra.0 (libgobject-2.0.so.0 + 0x40605)
#23 0x00007ffff7e5758a g_signal_emit_valist (libgobject-2.0.so.0 + 0x3058a)
#24 0x00007ffff7e57cb3 g_signal_emit (libgobject-2.0.so.0 + 0x30cb3)
#25 0x00007ffff53df484 gtk_widget_event_internal.lto_priv.0 (libgtk-x11-2.0.so.0 + 0x296484)
#26 0x00007ffff5212444 gtk_container_propagate_expose (libgtk-x11-2.0.so.0 + 0xc9444)
#27 0x00007ffff51d61dd gtk_box_forall.lto_priv.0 (libgtk-x11-2.0.so.0 + 0x8d1dd)
#28 0x00007ffff5210cd6 gtk_container_expose (libgtk-x11-2.0.so.0 + 0xc7cd6)
#29 0x00007ffff529e0b9 _gtk_marshal_BOOLEAN__BOXED (libgtk-x11-2.0.so.0 + 0x1550b9)
#30 0x00007ffff7e3ace5 g_closure_invoke (libgobject-2.0.so.0 + 0x13ce5)
#31 0x00007ffff7e67605 signal_emit_unlocked_R.isra.0 (libgobject-2.0.so.0 + 0x40605)
#32 0x00007ffff7e5758a g_signal_emit_valist (libgobject-2.0.so.0 + 0x3058a)
#33 0x00007ffff7e57cb3 g_signal_emit (libgobject-2.0.so.0 + 0x30cb3)
#34 0x00007ffff53df484 gtk_widget_event_internal.lto_priv.0 (libgtk-x11-2.0.so.0 + 0x296484)
#35 0x00007ffff5212444 gtk_container_propagate_expose (libgtk-x11-2.0.so.0 + 0xc9444)
#36 0x00007ffff51d61dd gtk_box_forall.lto_priv.0 (libgtk-x11-2.0.so.0 + 0x8d1dd)
#37 0x00007ffff5210cd6 gtk_container_expose (libgtk-x11-2.0.so.0 + 0xc7cd6)
#38 0x00007ffff529e0b9 _gtk_marshal_BOOLEAN__BOXED (libgtk-x11-2.0.so.0 + 0x1550b9)
#39 0x00007ffff7e3ace5 g_closure_invoke (libgobject-2.0.so.0 + 0x13ce5)
#40 0x00007ffff7e67605 signal_emit_unlocked_R.isra.0 (libgobject-2.0.so.0 + 0x40605)
#41 0x00007ffff7e5758a g_signal_emit_valist (libgobject-2.0.so.0 + 0x3058a)
#42 0x00007ffff7e57cb3 g_signal_emit (libgobject-2.0.so.0 + 0x30cb3)
#43 0x00007ffff53df484 gtk_widget_event_internal.lto_priv.0 (libgtk-x11-2.0.so.0 + 0x296484)
#44 0x00007ffff5212444 gtk_container_propagate_expose (libgtk-x11-2.0.so.0 + 0xc9444)
#45 0x00007ffff51d61dd gtk_box_forall.lto_priv.0 (libgtk-x11-2.0.so.0 + 0x8d1dd)
#46 0x00007ffff5210cd6 gtk_container_expose (libgtk-x11-2.0.so.0 + 0xc7cd6)
#47 0x00007ffff529e0b9 _gtk_marshal_BOOLEAN__BOXED (libgtk-x11-2.0.so.0 + 0x1550b9)
#48 0x00007ffff7e3ace5 g_closure_invoke (libgobject-2.0.so.0 + 0x13ce5)
#49 0x00007ffff7e67605 signal_emit_unlocked_R.isra.0 (libgobject-2.0.so.0 + 0x40605)
#50 0x00007ffff7e5758a g_signal_emit_valist (libgobject-2.0.so.0 + 0x3058a)
#51 0x00007ffff7e57cb3 g_signal_emit (libgobject-2.0.so.0 + 0x30cb3)
#52 0x00007ffff53df484 gtk_widget_event_internal.lto_priv.0 (libgtk-x11-2.0.so.0 + 0x296484)
#53 0x00007ffff5212444 gtk_container_propagate_expose (libgtk-x11-2.0.so.0 + 0xc9444)
#54 0x00007ffff5210cd6 gtk_container_expose (libgtk-x11-2.0.so.0 + 0xc7cd6)
#55 0x00007ffff529e0b9 _gtk_marshal_BOOLEAN__BOXED (libgtk-x11-2.0.so.0 + 0x1550b9)
#56 0x00007ffff7e3adb0 g_closure_invoke (libgobject-2.0.so.0 + 0x13db0)
#57 0x00007ffff7e67605 signal_emit_unlocked_R.isra.0 (libgobject-2.0.so.0 + 0x40605)
#58 0x00007ffff7e5758a g_signal_emit_valist (libgobject-2.0.so.0 + 0x3058a)
#59 0x00007ffff7e57cb3 g_signal_emit (libgobject-2.0.so.0 + 0x30cb3)
#60 0x00007ffff53df484 gtk_widget_event_internal.lto_priv.0 (libgtk-x11-2.0.so.0 + 0x296484)
#61 0x00007ffff52a3251 gtk_main_do_event (libgtk-x11-2.0.so.0 + 0x15a251)
#62 0x00007ffff6d7f219 _gdk_window_process_updates_recurse.part.0 (libgdk-x11-2.0.so.0 + 0x54219)
#63 0x00007ffff6d73f1c gdk_window_process_updates_internal (libgdk-x11-2.0.so.0 + 0x48f1c)

Stack trace of thread 4857:
#0  0x00007ffff5e87a19 __futex_abstimed_wait_common (libc.so.6 + 0x89a19)
#1  0x00007ffff5e92c50 __new_sem_wait_slow64.constprop.0 (libc.so.6 + 0x94c50)
#2  0x00007ffff43921c2 SDL_SemWait_REAL (libSDL2-2.0.so.0 + 0x12e1c2)
#3  0x00007ffff42f3111 SDL_TimerThread (libSDL2-2.0.so.0 + 0x8f111)
#4  0x00007ffff4391aef RunThread.lto_priv.0 (libSDL2-2.0.so.0 + 0x12daef)
#5  0x00007ffff5e8ae2d start_thread (libc.so.6 + 0x8ce2d)
#6  0x00007ffff5f101b0 __clone3 (libc.so.6 + 0x1121b0)

Stack trace of thread 4870:
#0  0x00007ffff5f0f78e epoll_wait (libc.so.6 + 0x11178e)
#1  0x00007fffe5494a78 impl_pollfd_wait (libspa-support.so + 0x14a78)
#2  0x00007fffe5487361 loop_iterate (libspa-support.so + 0x7361)
#3  0x00007fffe54e2457 do_loop (libpipewire-0.3.so.0 + 0x42457)
#4  0x00007ffff5e8ae2d start_thread (libc.so.6 + 0x8ce2d)
#5  0x00007ffff5f101b0 __clone3 (libc.so.6 + 0x1121b0)

Stack trace of thread 4869:
#0  0x00007ffff5f0f78e epoll_wait (libc.so.6 + 0x11178e)
#1  0x00007fffe5494a78 impl_pollfd_wait (libspa-support.so + 0x14a78)
#2  0x00007fffe5487361 loop_iterate (libspa-support.so + 0x7361)
#3  0x00007fffe5531192 do_loop (libpipewire-0.3.so.0 + 0x91192)
#4  0x00007ffff5e8ae2d start_thread (libc.so.6 + 0x8ce2d)
#5  0x00007ffff5f101b0 __clone3 (libc.so.6 + 0x1121b0)

Stack trace of thread 4874:
#0  0x00007ffff5e87a19 __futex_abstimed_wait_common (libc.so.6 + 0x89a19)
#1  0x00007ffff5e92c50 __new_sem_wait_slow64.constprop.0 (libc.so.6 + 0x94c50)
#2  0x00007fffe5747c8e _ZL11EventThreadP10ALCcontext.lto_priv.0 (libopenal.so.1 + 0x29c8e)
#3  0x00007ffff64a7b73 execute_native_thread_routine (libstdc++.so.6 + 0xdbb73)
#4  0x00007ffff5e8ae2d start_thread (libc.so.6 + 0x8ce2d)
#5  0x00007ffff5f101b0 __clone3 (libc.so.6 + 0x1121b0)

Stack trace of thread 4873:
#0  0x00007ffff5e87a19 __futex_abstimed_wait_common (libc.so.6 + 0x89a19)
#1  0x00007ffff5e92c50 __new_sem_wait_slow64.constprop.0 (libc.so.6 + 0x94c50)
#2  0x00007fffe57a3707 _ZN12_GLOBAL__N_112JackPlayback9mixerProcEv (libopenal.so.1 + 0x85707)
#3  0x00007ffff64a7b73 execute_native_thread_routine (libstdc++.so.6 + 0xdbb73)
#4  0x00007ffff5e8ae2d start_thread (libc.so.6 + 0x8ce2d)
#5  0x00007ffff5f101b0 __clone3 (libc.so.6 + 0x1121b0)

Stack trace of thread 4865:
#0  0x00007ffff5f0388f __poll (libc.so.6 + 0x10588f)
#1  0x00007fffe5799456 _ZN12_GLOBAL__N_113PulseMainloop4pollEP6pollfdmiPv (libopenal.so.1 + 0x7b456)
#2  0x00007fffe54482bc pa_mainloop_poll (libpulse.so.0 + 0x1e2bc)
#3  0x00007fffe5452a5a pa_mainloop_iterate (libpulse.so.0 + 0x28a5a)
#4  0x00007fffe5452b00 pa_mainloop_run (libpulse.so.0 + 0x28b00)
#5  0x00007fffe57997be _ZN12_GLOBAL__N_113PulseMainloop13mainloop_procEv (libopenal.so.1 + 0x7b7be)
#6  0x00007ffff64a7b73 execute_native_thread_routine (libstdc++.so.6 + 0xdbb73)
#7  0x00007ffff5e8ae2d start_thread (libc.so.6 + 0x8ce2d)
#8  0x00007ffff5f101b0 __clone3 (libc.so.6 + 0x1121b0)

Stack trace of thread 4858:
#0  0x00007ffff5e87a19 __futex_abstimed_wait_common (libc.so.6 + 0x89a19)
#1  0x00007ffff5e92c50 __new_sem_wait_slow64.constprop.0 (libc.so.6 + 0x94c50)
#2  0x00007ffff43921c2 SDL_SemWait_REAL (libSDL2-2.0.so.0 + 0x12e1c2)
#3  0x00007ffff664921e n/a (/tmp/lnp-WCJxTs/df_47_05_linux/libs/libgraphics.so + 0x4921e)
ELF object binary architecture: AMD x86-64
McArcady commented 1 year ago

Are you running in a virtual machine? I was able to reproduce the core in a KVM'd Fedora 36. The root cause seems to be: "OpenGL: Requested single-buffering not available" It may be driver-related.

Xerkus commented 1 year ago

This is laptop with mobile nvidia quadro K4000M card. Not optimus. Driver is legacy 470

xorg-x11-drv-nvidia-470xx.x86_64    3:470.141.03-1.fc36     @rpmfusion-nonfree-updates

Nvidia driver download page offers driver 418.113 so I would assume it is a problem of this specific system.

rkraneis commented 1 year ago

I have the same issue on (native) F36 with Intel graphics; I tried a local build. This breaks, too.

Xerkus commented 1 year ago

I want to report that I have no issue running on newer hardware with latest driver

DF is running Wayland native on nvidia 3080 with PRIME offload on 515.76 driver from negativo.

I do get OpenGL: Requested single-buffering not available in error message box and I believe it is a red herring caused by some interaction between SDL12-compat and TWBT. SDL2 does not support single-buffering from what I learned, so compat package emulating it. Game runs perfectly after that initial test.

I found the code with error in renderer_opengl.hpp file:

report_error("OpenGL", "Requested single-buffering not available");

It appears to be calling this function from enabler.cpp:

// Reports an error to the user, using a MessageBox and stderr.
void report_error(const char *error_preface, const char *error_message)
{
  char *buf = NULL;
  // +4 = +colon +space +newline +nul
  buf = new char[strlen(error_preface) + strlen(error_message) + 4];
  sprintf(buf, "%s: %s\n", error_preface, error_message);
  MessageBox(NULL, buf, "Error", MB_OK);
  fprintf(stderr, "%s", buf);
  delete [] buf;
}   

That in turn calls this from win32_compat.cpp:

int MessageBox(HWND *dummy, const char *text, const char *caption, UINT type)
{
  bool toggle_screen = false;
  int ret = IDOK;
  if (enabler.is_fullscreen()) {
    enabler.toggle_fullscreen();
    toggle_screen = true;
  }
# ifdef __APPLE__ // Cocoa code
  if (type & MB_YESNO) {
    ret = CocoaAlertPanel(caption, text, "Yes", "No", NULL);
    ret = (ret == 0 ? IDNO : IDYES);
  } else {
    CocoaAlertPanel(caption, text, "OK", NULL, NULL);
  }
# else // GTK code
  if (getenv("DISPLAY")) {
    // Have X, will dialog
    GtkWidget *dialog = gtk_message_dialog_new(NULL,
                                               GTK_DIALOG_DESTROY_WITH_PARENT,
                                               type & MB_YESNO ?
                                               GTK_MESSAGE_QUESTION :
                                               GTK_MESSAGE_ERROR,
                                               type & MB_YESNO ?
                                               GTK_BUTTONS_YES_NO :
                                               GTK_BUTTONS_OK,
                                               "%s", text);
    gtk_window_set_position((GtkWindow*)dialog, GTK_WIN_POS_CENTER_ALWAYS);
    gtk_window_set_title((GtkWindow*)dialog, caption);
    gint dialog_ret = gtk_dialog_run(GTK_DIALOG(dialog));
    gtk_widget_destroy(dialog);
    while (gtk_events_pending())
      gtk_main_iteration();

    if (type & MB_YESNO) {
      switch (dialog_ret) {
      default:
      case GTK_RESPONSE_DELETE_EVENT:
      case GTK_RESPONSE_NO:
        ret = IDNO;
        break;
      case GTK_RESPONSE_YES:
        ret = IDYES;
        break;
      }
    }
  } else {
    // Use curses
    init_curses();
    erase();
    gps.force_full_display_count = 1;
    wattrset(*stdscr_p, A_NORMAL | COLOR_PAIR(1));

    mvwaddstr(*stdscr_p, 0, 5, caption);
    mvwaddstr(*stdscr_p, 2, 2, text);
    nodelay(*stdscr_p, false);
    if (type & MB_YESNO) {
      mvwaddstr(*stdscr_p, 5, 0, "Press 'y' or 'n'.");
      refresh();
      while (1) {
        char i = wgetch(*stdscr_p);
        if (i == 'y') {
          ret = IDYES;
          break;
        }
        else if (i == 'n') {
          ret = IDNO;
          break;
        }
      }
    }
    else {
      mvwaddstr(*stdscr_p, 5, 0, "Press any key to continue.");
      refresh();
      wgetch(*stdscr_p);
    }
    nodelay(*stdscr_p, -1);
  }
# endif

  if (toggle_screen) {
    enabler.toggle_fullscreen();
  }

  return ret;
}
#endif

So from what I observed the segfault happens while trying to render that gtk message dialog: the error message window appears and it has the title but no content and at that exact moment dwarf fortress segfaults. There is also no output to stderr in report_error() that should follow the message box.