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

Reply via email to