Follow-up Comment #8, bug #16668 (project freeciv): Thanks for taking this on.
Tried file #26486 against S2_6 r31617. The Gtk2 client (specifically) seems to segfault in the absence of the new per-topology client options (so if I happen to run Gtk3 or Qt first, the new options get written to my rc-file and then Gtk2 is apparently fine. default_tileset_name="amplio2" in my freeciv-client-rc-2.6 (prior to running this code). #0 0x00007fe96250911d in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0 No symbol table info available. #1 0x00007fe96250a7c1 in gdk_rgb_get_colormap () from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0 No symbol table info available. #2 0x00007fe96250165b in gdk_pixbuf_render_pixmap_and_mask () from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0 No symbol table info available. #3 0x000000000046d1d9 in ctor_sprite (pixbuf=0x1664400) at ../../../client/gui-gtk-2.0/sprite.c:189 sprite = 0x15a1fc0 has_alpha = <optimised out> has_mask = false #4 0x000000000046d53f in load_gfxfile ( filename=filename@entry=0x15b2240 "/home/jtn/src/freeciv/git/bS2_6/../data/misc/treaty.png") at ../../../client/gui-gtk-2.0/sprite.c:257 im = <optimised out> err = 0x0 __FUNCTION__ = "load_gfxfile" #5 0x00000000004c9398 in load_gfx_file (gfx_filename=0x15818e0 "misc/treaty") at ../../client/tilespec.c:1416 real_full_name = 0x15b2240 "/home/jtn/src/freeciv/git/bS2_6/../data/misc/treaty.png" full_name = 0x7ffcea325538 "misc/treaty.png" gfx_fileexts = 0x92c6b0 <ext+272> gfx_fileext = <optimised out> s = <optimised out> __FUNCTION__ = "load_gfx_file" #6 0x00000000004cb09f in ensure_big_sprite (sf=0x1640640) at ../../client/tilespec.c:1454 file = 0x15a2c20 gfx_filename = <optimised out> #7 load_sprite ( tag_name=tag_name@entry=0x67d779 "treaty.disagree_thumb_down", t=0x16149a0) at ../../client/tilespec.c:2367 sf_w = 32764 sf_h = 22844224 ss = 0x15c9340 #8 0x00000000004cc395 in tileset_lookup_sprite_tags (t=t@entry=0x16149a0) at ../../client/tilespec.c:2671 buffer = "\260[2\352\374\177\000\000\222\bd\000\000\000\000\000\320V2\352\374\177\000\000\365\315c\000\000\000\000\000\030\224\\\001\000\000\000\000\030\000\000\000\060\000\000\000\300[2\352\374\177\000\000\340Z2\352\374\177\000\000tilespec.prefered_themes\000\000tes2.tag\000y\000\000\000\000\001", '\000' <repeats 31 times>, "\340$d\001", '\000' <repeats 28 times>, "\004\306e\000\000\000\000\000n/src/fr\220W2\352\374\177\000\000pY2\352\374\177\000\000"... buffer2 = "\300X2\352\374\177\000\000ɛc\000\000\000\000\000\030", '\000' <repeats 23 times>, "@\355Z\001\000\000\000\000\340X2\352\374\177\000\000\266\234c", '\000' <repeats 21 times>, "\020Y2\352\374\177\000\000\t\350a\000\000\000\000\000 ,Z\001\000\000\000\000\001\000\000\000\000\000\000\000x[2\352\374\177\000\000\000\000\000\000\000\000\000\000\200Z2\352\374\177\000\000dE\204a\351\177\000\000\000\000\000\000\000\000\000\000\360TZ\001\000\000\000\000hW\260a\351\177\000\000`UZ\001\000\000\000\000P,Z\001\000\000\000\000\000.prefer UZ\001\000\000\000\000\361"... W = 96 H = 48 i = <optimised out> j = <optimised out> f = <optimised out> __FUNCTION__ = "tileset_lookup_sprite_tags" #9 0x00000000004daa9e in tileset_load_tiles (t=0x16149a0) at ../../client/tilespec.c:3130 No locals. #10 tilespec_reread ( new_tileset_name=new_tileset_name@entry=0x9214a5 <gui_options+2053> "amplio2", game_fully_initialized=<optimised out>) at ../../client/tilespec.c:1272 id = <optimised out> center_tile = 0x0 state = <optimised out> name = <optimised out> tileset_name = <optimised out> old_name = 0x7ffcea325ce8 "amplio2" i = 160 __FUNCTION__ = "tilespec_reread" #11 0x00000000004dafae in tilespec_reread_callback (poption=<optimised out>) at ../../client/tilespec.c:1383 tileset_name = 0x9214a5 <gui_options+2053> "amplio2" state = <optimised out> __FUNCTION__ = "tilespec_reread_callback" #12 0x00000000004ba3da in option_changed ( poption=0x91b8e0 <client_options+1792>) at ../../client/options.c:650 No locals. #13 0x00000000004baeeb in option_str_set ( poption=0x91b8e0 <client_options+1792>, str=<optimised out>) at ../../client/options.c:825 No locals. #14 0x00000000004da7b2 in tilespec_try_read (tileset_name=<optimised out>, verbose=verbose@entry=false) at ../../client/tilespec.c:1215 __FUNCTION__ = "tilespec_try_read" #15 0x0000000000478656 in client_main (argc=1, argv=0x7ffcea326148) at ../../client/client_main.c:665 i = 1 loglevel = LOG_NORMAL ui_options = <optimised out> ui_separator = <optimised out> option = <optimised out> fatal_assertions = -1 aii = 2 __FUNCTION__ = "client_main" #16 0x00007fe961768ec5 in __libc_start_main (main=0x449de0 <main>, argc=1, argv=0x7ffcea326148, init=<optimised out>, fini=<optimised out>, rtld_fini=<optimised out>, stack_end=0x7ffcea326138) at libc-start.c:287 result = <optimised out> unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, -790452621252361109, 4496880, 140724237656384, 0, 0, 792189210027754603, 780668006626755691}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x65da40 <__libc_csu_init>, 0x7ffcea326148}, data = { prev = 0x0, cleanup = 0x0, canceltype = 6675008}}} not_first_call = <optimised out> #17 0x0000000000449e19 in _start () No symbol table info available. (The pathname to treaty.png mentioned in frame #5 does exist) _______________________________________________________ Reply to this item at: <http://gna.org/bugs/?16668> _______________________________________________ Message sent via/by Gna! http://gna.org/ _______________________________________________ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev