[Freeciv-Dev] (PR#37965) Crash in gtk help dialog
URL: http://bugs.freeciv.org/Ticket/Display.html?id=37965 I were using modified rulesets and tilesets at the time. I were looking help for techs and clicked new tech. 0x004fa356 in set_title_topic ( topic=0xfff8ffff Address 0xfff8ffff out of bounds) at ../../../src.patched/client/gui-gtk-2.0/helpdlg.c:127 127 if (strcmp(topic, Freeciv) == 0 || strcmp(topic, About) == 0 (gdb) bt full #0 0x004fa356 in set_title_topic ( topic=0xfff8ffff Address 0xfff8ffff out of bounds) at ../../../src.patched/client/gui-gtk-2.0/helpdlg.c:127 No locals. #1 0x004fde90 in help_update_dialog (pitem=0xc5c4c0) at ../../../src.patched/client/gui-gtk-2.0/helpdlg.c:1187 i = 11106 top = 0x1c5c4e1 Construction #2 0x004fabb0 in activated_topic (view=0x14233b0, data=0x0) at ../../../src.patched/client/gui-gtk-2.0/helpdlg.c:395 path = (GtkTreePath *) 0x19d3cb0 col = (GtkTreeViewColumn *) 0x142fb00 model = (GtkTreeModel *) 0x1a6bdf0 it = {stamp = -1447361622, user_data = 0x1a09780, user_data2 = 0x0, user_data3 = 0x0} pitem = (struct help_item *) 0x1c5c4c0 #3 0x2b6263e5e479 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 No symbol table info available. #4 0x2b6263e6dae1 in g_signal_chain_from_overridden () from /usr/lib/libgobject-2.0.so.0 No symbol table info available. #5 0x2b6263e6ed95 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 No symbol table info available. #6 0x2b6263e6ef73 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 No symbol table info available. #7 0x2b626289b756 in gtk_tree_view_scroll_to_cell () from /usr/lib/libgtk-x11-2.0.so.0 No symbol table info available. #8 0x2b62628a6edd in _gtk_tree_view_column_autosize () from /usr/lib/libgtk-x11-2.0.so.0 No symbol table info available. #9 0x2b62627e064d in _gtk_marshal_BOOLEAN__BOXED () from /usr/lib/libgtk-x11-2.0.so.0 No symbol table info available. #10 0x2b6263e5e479 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 No symbol table info available. #11 0x2b6263e6dc7f in g_signal_chain_from_overridden () from /usr/lib/libgobject-2.0.so.0 No symbol table info available. #12 0x2b6263e6eb5e in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 No symbol table info available. #13 0x2b6263e6ef73 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 No symbol table info available. #14 0x2b62628b6e4e in gtk_widget_get_default_style () from /usr/lib/libgtk-x11-2.0.so.0 No symbol table info available. #15 0x2b62627da2ae in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0 No symbol table info available. #16 0x2b62627db357 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0 No symbol table info available. #17 0x2b6262b2252c in _gdk_events_init () from /usr/lib/libgdk-x11-2.0.so.0 No symbol table info available. #18 0x2b62641c7913 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 No symbol table info available. #19 0x2b62641ca75d in g_main_context_check () from /usr/lib/libglib-2.0.so.0 No symbol table info available. #20 0x2b62641caa46 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 No symbol table info available. #21 0x2b62627db6b2 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 No symbol table info available. #22 0x004f686a in ui_main (argc=1, argv=0x7fff4850ec88) at ../../../src.patched/client/gui-gtk-2.0/gui_main.c:1437 home = (const gchar *) 0x792fa0 /home/cazfi sig = 24 style = (GtkStyle *) 0x9febd0 #23 0x00415332 in main (argc=1, argv=0x7fff4850ec88) at ../../src.patched/client/civclient.c:357 i = 3 loglevel = 2 ui_options = 0 ui_separator = false option = 0x7371b0 � user_tileset = true - ML ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
Re: [Freeciv-Dev] (PR#37965) Crash in gtk help dialog
URL: http://bugs.freeciv.org/Ticket/Display.html?id=37965 This was memory corruption problem. Attached patch fixes one memory bug, which was likely cause to the crash (I managed to reproduce it a couple of times before, but not with this patch) - ML diff -Nurd -X.diff_ignore freeciv/client/helpdata.c freeciv/client/helpdata.c --- freeciv/client/helpdata.c 2007-03-10 19:42:05.0 +0200 +++ freeciv/client/helpdata.c 2007-03-11 22:27:02.0 +0200 @@ -1112,7 +1112,7 @@ } sprintf(buf + strlen(buf), \n); - insert_allows(source, buf + strlen(buf), bufsz); + insert_allows(source, buf + strlen(buf), bufsz - strlen(buf)); if (tech_flag(i, TF_BONUS_TECH)) { sprintf(buf + strlen(buf), _(* The first player to research %s gets ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev