URL: <http://gna.org/bugs/?25037>
Summary: Crash after "Map topology and tileset incompatible" error Project: Freeciv Submitted by: jtn Submitted on: Sat 03 Sep 2016 09:08:50 PM BST Category: client-qt Severity: 3 - Normal Priority: 5 - Normal Status: None Assigned to: None Originator Email: Open/Closed: Open Release: S2_6 r33744 Discussion Lock: Any Operating System: GNU/Linux Planned Release: 2.6.0, 3.0.0 Contains string changes: None _______________________________________________________ Details: My S2_6 r33744 Qt client crashed on starting a new game, having popped up a "Map topology and tileset incompatible" error. It looks like it might have re-entered the network processing code while it's put up the dialog, while not having got around to initialising the map? This might be a symptom of an unusual freeciv-client-rc migration history -- I had run an old S2_6 build (r30297 from Oct 2015) earlier today (after having previously run recent S2_6), and noticed it doing some sort of client setting migration, so my rc-file might be a bit odd -- it doesn't seem to mention the per-topology tilesets, for instance, and has default_tileset_name="hexemplio", where it wants to start a server with WRAPX|ISO, so perhaps that's where the incompatibility arises. I don't know if there's a valid migration scenario from 2.5 which will have similar results. I think I've seen other crashes associated with this error popup, without having done mad things to my rc-files. Extract from "-d 3" client log: 3: in get_packet_from_connection() [packets.c::517]: got packet type=(PACKET_MAP_INFO)17 len=9 from server 2: in tileset_error() [tilespec.c::581]: Map topology and tileset incompatible. ... 3: in get_packet_from_connection() [packets.c::517]: got packet type=(PACKET_TILE_INFO)15 len=24 from server 1: in handle_tile_info() [packhand.c::2764]: assertion '((void *)0) != ptile' failed. 1: in handle_tile_info() [packhand.c::2764]: Invalid tile index 1998. 3: in get_packet_from_connection() [packets.c::517]: got packet type=(PACKET_TILE_INFO)15 len=16 from server 1: in handle_tile_info() [packhand.c::2764]: assertion '((void *)0) != ptile' failed. 1: in handle_tile_info() [packhand.c::2764]: Invalid tile index 1890. ... Backtrace at segfault: #0 0x00000000004f9fb9 in unit_list_prepend (pfoo=0x3ff2260, tthis=<error reading variable: Cannot access memory at address 0x20>) at ../utility/speclist.h:272 No locals. #1 handle_unit_packet_common (packet_unit=packet_unit@entry=0x3ff2260) at packhand.c:1750 pcity = <optimised out> punit = 0x3ff2260 need_menus_update = false need_economy_report_update = false need_units_report_update = false repaint_unit = false repaint_city = false old_tile = 0x0 check_focus = false moved = false ret = false __FUNCTION__ = "handle_unit_packet_common" #2 0x00000000004fc863 in handle_unit_info (packet=packet@entry=0x4001a70) at packhand.c:1439 punit = 0x3ff2260 #3 0x0000000000504989 in client_handle_packet ( type=type@entry=PACKET_UNIT_INFO, packet=packet@entry=0x4001a70) at packhand_gen.c:167 No locals. #4 0x00000000004c609f in client_packet_input (packet=packet@entry=0x4001a70, type=63) at client_main.c:759 __FUNCTION__ = "client_packet_input" #5 0x00000000004ccf3c in input_from_server (fd=<optimised out>) at clinet.c:415 type = PACKET_UNIT_INFO packet = 0x4001a70 nb = <optimised out> __FUNCTION__ = "input_from_server" #6 0x00007fd69c76e2a6 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 No symbol table info available. #7 0x00007fd69c7da57e in QSocketNotifier::activated(int, QSocketNotifier::QPrivateSignal) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 No symbol table info available. #8 0x00007fd69c77a2a9 in QSocketNotifier::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 No symbol table info available. #9 0x00007fd69bdf0c8c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 No symbol table info available. #10 0x00007fd69bdf5e56 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 No symbol table info available. #11 0x00007fd69c746c2d in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 No symbol table info available. #12 0x00007fd69c79442f in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 No symbol table info available. #13 0x00007fd6969f1e04 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 No symbol table info available. #14 0x00007fd6969f2048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 No symbol table info available. #15 0x00007fd6969f20ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 No symbol table info available. #16 0x00007fd69c79398c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 No symbol table info available. #17 0x00007fd69c74596b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 No symbol table info available. #18 0x00007fd69bfd7e0d in QDialog::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 No symbol table info available. #19 0x000000000055c5be in show_tileset_error ( msg=msg@entry=0x7fff8025ddb0 "Map topology and tileset incompatible.") at dialogs.cpp:2344 ask = <incomplete type> buf = "Tileset problem, it's probably incompatible with the ruleset:\nMap topology and tileset incompatible.\nProgram will now exit.\000\000\000\000\000\v", '\000' <repeats 11 times>, "\377\377\377\377", '\000' <repeats 16 times>, "\003", '\000' <repeats 19 times>, "\377\177\000\000\000\000\000\000\377\177\000\000\030\000\000\000\060\000\000\000"... #20 0x0000000000517209 in tileset_error (level=level@entry=LOG_NORMAL, format=<optimised out>) at tilespec.c:584 buf = "Map topology and tileset incompatible.\000\000\021", '\000' <repeats 11 times>, "\001\000\000\000\026\317\362\232\326\177\000\000\020\331\362\232\326\177", '\000' <repeats 18 times>, "b\344\362\232\326\177\000\000\000\000\000\000\000\000\000\000p\006\377\003", '\000' <repeats 12 times>, "p\006\377\003", '\000' <repeats 12 times>, "\200\343%\200\377\177\000\000\360\340%\200\377\177\000\000\000\000\000\000\000\000\000\000\003\000\000\000\000\000\000\000%\n\362\232\326\177\000\000p\006\377\003\000\000\000\000\003\000\000\000\000\000\000\000\200\343%\200\377\177\000\000"... args = {{gp_offset = 16, fp_offset = 48, overflow_arg_area = 0x7fff8025e680, reg_save_area = 0x7fff8025e5c0}} __FUNCTION__ = "tileset_error" #21 0x00000000004fcc77 in handle_map_info (xsize=54, ysize=72, topology_id=5) at packhand.c:1953 No locals. #22 0x0000000000504ae6 in client_handle_packet ( type=type@entry=PACKET_MAP_INFO, packet=packet@entry=0x3607570) at packhand_gen.c:73 No locals. #23 0x00000000004c609f in client_packet_input (packet=packet@entry=0x3607570, type=17) at client_main.c:759 __FUNCTION__ = "client_packet_input" #24 0x00000000004ccf3c in input_from_server (fd=<optimised out>) at clinet.c:415 type = PACKET_MAP_INFO packet = 0x3607570 nb = <optimised out> __FUNCTION__ = "input_from_server" #25 0x00007fd69c76e2a6 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 No symbol table info available. #26 0x00007fd69c7da57e in QSocketNotifier::activated(int, QSocketNotifier::QPrivateSignal) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 No symbol table info available. #27 0x00007fd69c77a2a9 in QSocketNotifier::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 No symbol table info available. #28 0x00007fd69bdf0c8c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 No symbol table info available. #29 0x00007fd69bdf5e56 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 No symbol table info available. #30 0x00007fd69c746c2d in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 No symbol table info available. #31 0x00007fd69c79442f in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 No symbol table info available. #32 0x00007fd6969f1e04 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 No symbol table info available. #33 0x00007fd6969f2048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 No symbol table info available. #34 0x00007fd6969f20ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 No symbol table info available. #35 0x00007fd69c79398c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 No symbol table info available. #36 0x00007fd69c74596b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 No symbol table info available. #37 0x00007fd69c74c0e1 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 No symbol table info available. #38 0x000000000047894e in fc_client::main (this=this@entry=0x2624400, qapp=0x22f5c90) at fc_client.cpp:220 No locals. #39 0x0000000000479542 in qtg_ui_main (argc=1, argv=<optimised out>) at gui_main.cpp:184 qpm = <optimised out> app_icon = {d = 0x2c02840} #40 0x00000000004c6793 in client_main (argc=1, argv=0x7fff8025f198) at client_main.c:677 i = 5 loglevel = LOG_VERBOSE ui_options = <optimised out> ui_separator = <optimised out> option = <optimised out> fatal_assertions = -1 aii = 1 __FUNCTION__ = "client_main" #41 0x00007fd69aed4f45 in __libc_start_main ( main=0x478320 <main(int, char**)>, argc=5, argv=0x7fff8025f198, init=<optimised out>, fini=<optimised out>, rtld_fini=<optimised out>, stack_end=0x7fff8025f188) at libc-start.c:287 result = <optimised out> unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, -130520897101257256, 4688612, 140735343358352, 0, 0, 130406083658491352, 116387931907270104}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x6cb850 <__libc_csu_init>, 0x7fff8025f198}, data = { prev = 0x0, cleanup = 0x0, canceltype = 7125072}}} not_first_call = <optimised out> #42 0x0000000000478b0d in _start () No symbol table info available. _______________________________________________________ File Attachments: ------------------------------------------------------- Date: Sat 03 Sep 2016 09:08:50 PM BST Name: freeciv-client-rc-2.6 Size: 11kB By: jtn <http://gna.org/bugs/download.php?file_id=28559> ------------------------------------------------------- Date: Sat 03 Sep 2016 09:08:50 PM BST Name: 26-tileset-topo.log.xz Size: 19kB By: jtn <http://gna.org/bugs/download.php?file_id=28560> _______________________________________________________ Reply to this item at: <http://gna.org/bugs/?25037> _______________________________________________ Message sent via/by Gna! http://gna.org/ _______________________________________________ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev