URL: <http://gna.org/bugs/?14031>
Summary: Multiple units unload all crash Project: Freeciv Submitted by: pepeto Submitted on: Wednesday 07/29/2009 at 07:50 Category: client Severity: 4 - Important Priority: 5 - Normal Status: None Assigned to: None Originator Email: Open/Closed: Open Discussion Lock: Any Release: Operating System: None _______________________________________________________ Details: When many transporters are doing unload all, the client usually crashes, because the function could be simplified by: unit_list_iterate(list, punit) { unit_list_unlink_all(list); } unit_list_iterate_end; Back trace: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7f3a986a66f0 (LWP 6313)] 0x000000000041b552 in key_unit_unload_all () at control.c:2471 2471 unit_list_iterate(get_units_in_focus(), punit) { (gdb) bt #0 0x000000000041b552 in key_unit_unload_all () at control.c:2471 #1 0x00007f3a96ca6bbf in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #2 0x00007f3a96cba7e8 in ?? () from /usr/lib/libgobject-2.0.so.0 #3 0x00007f3a96cbc245 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #4 0x00007f3a96cbc633 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #5 0x00007f3a98145b5b in ?? () from /usr/lib/libgtk-x11-2.0.so.0 #6 0x00007f3a96ca6bbf in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #7 0x00007f3a96cba7e8 in ?? () from /usr/lib/libgobject-2.0.so.0 #8 0x00007f3a96cbbf6f in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #9 0x00007f3a96cbc633 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #10 0x00007f3a97f5b506 in gtk_accel_group_activate () from /usr/lib/libgtk-x11-2.0.so.0 #11 0x00007f3a97f5b60f in gtk_accel_groups_activate () from /usr/lib/libgtk-x11-2.0.so.0 #12 0x00007f3a981534f8 in gtk_window_activate_key () from /usr/lib/libgtk-x11-2.0.so.0 #13 0x00007f3a98153569 in ?? () from /usr/lib/libgtk-x11-2.0.so.0 #14 0x00007f3a9803987f in ?? () from /usr/lib/libgtk-x11-2.0.so.0 #15 0x00007f3a96ca6bbf in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #16 0x00007f3a96cbabc8 in ?? () from /usr/lib/libgobject-2.0.so.0 #17 0x00007f3a96cbbf6f in g_signal_emit_valist () ---Type <return> to continue, or q <return> to quit--- from /usr/lib/libgobject-2.0.so.0 #18 0x00007f3a96cbc633 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #19 0x00007f3a98140e55 in ?? () from /usr/lib/libgtk-x11-2.0.so.0 #20 0x00007f3a98032c4d in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0 #21 0x00007f3a98033b35 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0 #22 0x00007f3a97c9d58c in ?? () from /usr/lib/libgdk-x11-2.0.so.0 #23 0x00007f3a9660a384 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #24 0x00007f3a9660d695 in ?? () from /usr/lib/libglib-2.0.so.0 #25 0x00007f3a9660d9b5 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 #26 0x00007f3a98033f03 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 #27 0x00000000004be1da in ui_main (argc=1, argv=0x7fffa06d8ba8) at gui_main.c:1654 #28 0x0000000000414ab0 in main (argc=<value optimized out>, argv=0x7fffa06d8ba8) at civclient.c:417 Patch for both S2_1 and trunk. _______________________________________________________ File Attachments: ------------------------------------------------------- Date: Wednesday 07/29/2009 at 07:50 Name: unload_multiple_units.diff Size: 3kB By: pepeto <http://gna.org/bugs/download.php?file_id=6291> _______________________________________________________ Reply to this item at: <http://gna.org/bugs/?14031> _______________________________________________ Message sent via/by Gna! http://gna.org/ _______________________________________________ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev