Project

General

Profile

Actions

Bug #1961

closed

3.2.3: segfault in sdl3 client when selecting nation

Added by Matt Jolly 7 days ago. Updated 4 days ago.

Status:
Closed
Priority:
Normal
Category:
sdl2-client
Target version:
Start date:
03/09/2026
Due date:
% Done:

0%

Estimated time:

Description

Hi Team,

Trying to update our packaging downstream since the 3.2.0 beta and I've come across this behaviour:

nation_button_callback (nation_button=0x7fffe8004520) at ../freeciv-R3_2_3/client/gui-sdl3/dialogs.c:2898
⚠️ warning: 2898 ../freeciv-R3_2_3/client/gui-sdl3/dialogs.c: No such file or directory
(gdb) bt
#0  nation_button_callback (nation_button=0x7fffe8004520) at ../freeciv-R3_2_3/client/gui-sdl3/dialogs.c:2898
#1  0x00005555555d65d1 in widget_pressed_action (pwidget=0x7fffe8004520) at ../freeciv-R3_2_3/client/gui-sdl3/widget.c:399
#2  0x0000555555598148 in main_mouse_button_down_handler (button_event=0x5555556924e8 <main_data+1352>, data=<optimized out>) at ../freeciv-R3_2_3/client/gui-sdl3/gui_main.c:382
#3  0x00005555555a237d in gui_event_loop.constprop.0 (data=data@entry=0x0, loop_action=loop_action@entry=0x0, key_down_handler=key_down_handler@entry=0x5555555971d0 <main_key_down_handler>, 
    key_up_handler=key_up_handler@entry=0x555555597f80 <main_key_up_handler>, textinput_handler=textinput_handler@entry=0x0, finger_down_handler=finger_down_handler@entry=0x555555597fb0 <main_finger_down_handler>, 
    finger_up_handler=0x555555598150 <main_finger_up_handler>, mouse_button_down_handler=0x5555555980a0 <main_mouse_button_down_handler>, mouse_button_up_handler=0x5555555982a0 <main_mouse_button_up_handler>, 
    mouse_motion_handler=0x5555555a19a0 <main_mouse_motion_handler>, finger_motion_handler=0x0) at ../freeciv-R3_2_3/client/gui-sdl3/gui_main.c:845
#4  0x00005555555a34c1 in ui_main (argc=<optimized out>, argv=<optimized out>) at ../freeciv-R3_2_3/client/gui-sdl3/gui_main.c:1136
#5  0x00005555555ea9bf in client_main.constprop.0 (argc=<optimized out>, argv=<optimized out>, postpone_tileset=false) at ../freeciv-R3_2_3/client/client_main.c:699
#6  0x00007ffff63903fb in __libc_start_call_main () from /usr/lib64/libc.so.6
#7  0x00007ffff63904ab in __libc_start_main_impl () from /usr/lib64/libc.so.6
#8  0x000055555556f435 in _start ()

Configured with

meson setup -Db_lto=true --libdir lib64 --localstatedir /var/lib --prefix /usr --sysconfdir /etc --wrap-mode nodownload --build.pkg-config-path /var/tmp/portage/games-strategy/freeciv-3.2.3/temp/lua5.4/pkgconfig:/usr/share/pkgconfig --pkg-config-path /var/tmp/portage/games-strategy/freeciv-3.2.3/temp/lua5.4/pkgconfig:/usr/share/pkgconfig --native-file /var/tmp/portage/games-strategy/freeciv-3.2.3/temp/meson.x86_64-pc-linux-gnu.ini -Db_pch=false -Dwerror=false -Dbuildtype=plain -Dserver=enabled -Dqtver=qt6 -Dsvgflags=true -Dclients=['sdl3', 'qt'] -Dfcmp=[] -Daudio=sdl3 -Dtools=['manual'] -Djson-protocol=false -Dmwand=false -Dnls=true -Dreadline=true -Dsyslua=true /var/tmp/portage/games-strategy/freeciv-3.2.3/work/freeciv-R3_2_3 /var/tmp/portage/games-strategy/freeciv-3.2.3/work/freeciv-3.2.3-build

and built with the following flags:

-march=native -O2 -pipe -flto -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -fdiagnostics-color=always -frecord-gcc-switches

I also note that the SDL3 client nation picker doesn't actually display anything until you scroll, which may be related? I'll have a poke around in a local copy of the source.


Files

Actions

Also available in: Atom PDF