Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
Xerkus opened this issue Aug 5, 2022 · 4 comments
Open

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

Xerkus opened this issue Aug 5, 2022 · 4 comments

Comments

@Xerkus
Copy link

Xerkus commented Aug 5, 2022

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
Copy link
Owner

McArcady commented Aug 9, 2022

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
Copy link
Author

Xerkus commented Aug 9, 2022

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
Copy link

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

@Xerkus
Copy link
Author

Xerkus commented Oct 1, 2022

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants