URL: <http://gna.org/bugs/?20682>
Summary: unit_virtual_destroy() assertion '!unit_transported(punit)' failed (launching missile from sub to adjacent tile) Project: Freeciv Submitted by: jtn Submitted on: Fri Mar 29 14:56:43 2013 Category: client Severity: 3 - Normal Priority: 5 - Normal Status: None Assigned to: None Originator Email: Open/Closed: Open Release: S2_4 r22619 Discussion Lock: Any Operating System: GNU/Linux Planned Release: 2.4.0 _______________________________________________________ Details: Found a reproducible assertion failure on S2_4: with a submarine carrying a missile adjacent to to enemy units on the coast, move the missile to the units (i.e. attack). Both attacker and defender clients hit this assertion failure. I assume the problem is that the previously invisible missile unit becomes visible only to be destroyed, and that the transported status at the client ends up not what we want. I suspect this isn't related to bug #20542. Haven't checked if something similar happens with Marines. Backtrace from one of the clients (with -F): #0 0x00007f9aa8ac87bb in raise (sig=<value optimised out>) at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:42 No locals. #1 0x00000000005cd9cc in fc_assert_fail (file=0x65a209 "unit.c", function=0x65acc0 "unit_virtual_destroy", line=1718, assertion=<value optimised out>, message=0x65bec0 "nologmsg:%s") at log.c:520 level = LOG_FATAL #2 0x00000000005c74fd in unit_virtual_destroy (punit=0x7bb53a0) at unit.c:1718 __FUNCTION__ = "unit_virtual_destroy" #3 0x000000000045e240 in client_remove_unit (punit=0x7bb53a0) at climisc.c:96 pcity = <value optimised out> ptile = 0x3c3d0a0 hc = 0 old_unit = {utype = 0x9dc270, tile = 0x3c3d0a0, facing = DIR8_SOUTHEAST, owner = 0x3aded80, id = 127, homecity = 0, upkeep = {0, 0, 0, 0, 0, 0}, moves_left = 36, hp = 10, veteran = 1, fuel = 1, goto_tile = 0x0, activity = ACTIVITY_IDLE, activity_count = 0, activity_target = S_LAST, activity_base = -1, changed_from = ACTIVITY_IDLE, changed_from_count = 0, changed_from_target = S_ROAD, changed_from_base = 0, ai_controlled = false, moved = false, paradropped = false, done_moving = false, transporter = 0x7bb98f0, transporting = 0x3c25eb0, battlegroup = -1, has_orders = false, orders = {length = 0, index = 0, repeat = false, vigilant = false, list = 0x0}, {client = {focus_status = FOCUS_AVAIL, transported_by = 126, occupied = false, colored = false, color_index = 0, asking_city_name = false}, server = { debug = false, adv = 0x0, ais = {0x0, 0x0, 0x0}, birth_turn = 0, ord_map = 0, ord_city = 0, vision = 0x0, action_timestamp = 0, action_turn = 0}}} old = 1 __FUNCTION__ = "client_remove_unit" #4 0x0000000000487de0 in client_handle_packet (type=<value optimised out>, packet=0x0) at packhand_gen.c:150 No locals. #5 0x00000000004592fe in client_packet_input (packet=<value optimised out>, type=64) at client_main.c:654 __FUNCTION__ = "client_packet_input" #6 0x000000000045f7a5 in input_from_server (fd=<value optimised out>) at clinet.c:421 result = true packet = 0x0 type = PACKET_UNIT_SHORT_INFO nb = <value optimised out> __FUNCTION__ = "input_from_server" #7 0x000000000044e7e0 in get_net_input (source=<value optimised out>, condition=<value optimised out>, data=<value optimised out>) at gui_main.c:1882 No locals. #8 0x00007f9aa28a19d2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0 No symbol table info available. #9 0x00007f9aa28a5858 in ?? () from /lib/libglib-2.0.so.0 No symbol table info available. #10 0x00007f9aa28a5d65 in g_main_loop_run () from /lib/libglib-2.0.so.0 No symbol table info available. #11 0x00007f9aa4e48bc7 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 No symbol table info available. #12 0x0000000000451ce9 in ui_main (argc=1, argv=0x7fffca56a428) at gui_main.c:1673 home = <value optimised out> sig = <value optimised out> __FUNCTION__ = "ui_main" #13 0x00000000004597e3 in client_main (argc=<value optimised out>, argv=0x7fffca56a428) at client_main.c:590 i = 9 loglevel = LOG_VERBOSE ui_options = <value optimised out> ui_separator = 128 option = <value optimised out> user_tileset = false fatal_assertions = 6 __FUNCTION__ = "client_main" #14 0x00007f9aa696fc4d in __libc_start_main (main=<value optimised out>, argc=<value optimised out>, ubp_av=<value optimised out>, init=<value optimised out>, fini=<value optimised out>, rtld_fini=<value optimised out>, stack_end=0x7fffca56a418) at libc-start.c:226 result = <value optimised out> unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, 5730541663988160977, 4513376, 140736588063776, 0, 0, -5730428219023746607, -5714025152484271663}, mask_was_saved = 0}}, priv = {pad = { 0x0, 0x0, 0x60d4c0, 0x7fffca56a428}, data = {prev = 0x0, cleanup = 0x0, canceltype = 6345920}}} not_first_call = <value optimised out> #15 0x000000000044de89 in _start () No symbol table info available. Last bit of -d3 log from the same client: ... 3: in get_packet_from_connection() [packets.c::471]: got packet type=(PACKET_UNIT_SHORT_INFO)64 len=18 from server 3: in receive_packet_unit_short_info_100() [packets_gen.c::16356]: packet_unit_short_info_100: got info about (127) 3: in receive_packet_unit_short_info_100() [packets_gen.c::16368]: no old info 3: in receive_packet_unit_short_info_100() [packets_gen.c::16375]: got field 'owner' 3: in receive_packet_unit_short_info_100() [packets_gen.c::16384]: got field 'tile' 3: in receive_packet_unit_short_info_100() [packets_gen.c::16393]: got field 'facing' 3: in receive_packet_unit_short_info_100() [packets_gen.c::16402]: got field 'type' 3: in receive_packet_unit_short_info_100() [packets_gen.c::16423]: got field 'hp' 3: in receive_packet_unit_short_info_100() [packets_gen.c::16441]: got field 'activity_base' 3: in receive_packet_unit_short_info_100() [packets_gen.c::16450]: got field 'transported_by' 3: in get_packet_from_connection() [packets.c::471]: got packet type=(PACKET_UNIT_INFO)63 len=11 from server 3: in receive_packet_unit_info_100() [packets_gen.c::14577]: packet_unit_info_100: got info about (109) 3: in receive_packet_unit_info_100() [packets_gen.c::14614]: got field 'facing' 3: in get_packet_from_connection() [packets.c::471]: got packet type=(PACKET_UNIT_COMBAT_INFO)65 len=9 from server 3: in receive_packet_unit_combat_info_100() [packets_gen.c::16777]: packet_unit_combat_info_100: got info about () 3: in receive_packet_unit_combat_info_100() [packets_gen.c::16787]: no old info 3: in receive_packet_unit_combat_info_100() [packets_gen.c::16792]: got field 'attacker_unit_id' 3: in receive_packet_unit_combat_info_100() [packets_gen.c::16801]: got field 'defender_unit_id' 3: in receive_packet_unit_combat_info_100() [packets_gen.c::16810]: got field 'attacker_hp' 3: in my_play() [audio_sdl.c::122]: Playing file "/home/jtn/.freeciv/2.4/freesounds/06_high_technology/f_cruise_missile-47251.ogg" on channel 0 3: in audio_play_tag() [audio.c::281]: No sound file for tag f_explorer (file (null)) 3: in my_play() [audio_sdl.c::122]: Playing file "/home/jtn/.freeciv/2.4/freesounds/f_generic-29618.ogg" on channel 1 3: in get_packet_from_connection() [packets.c::471]: got packet type=(PACKET_UNIT_SHORT_INFO)64 len=18 from server 3: in receive_packet_unit_short_info_100() [packets_gen.c::16356]: packet_unit_short_info_100: got info about (127) 3: in receive_packet_unit_short_info_100() [packets_gen.c::16375]: got field 'owner' 3: in receive_packet_unit_short_info_100() [packets_gen.c::16384]: got field 'tile' 3: in receive_packet_unit_short_info_100() [packets_gen.c::16393]: got field 'facing' 3: in receive_packet_unit_short_info_100() [packets_gen.c::16402]: got field 'type' 3: in receive_packet_unit_short_info_100() [packets_gen.c::16423]: got field 'hp' 3: in receive_packet_unit_short_info_100() [packets_gen.c::16441]: got field 'activity_base' 3: in receive_packet_unit_short_info_100() [packets_gen.c::16450]: got field 'transported_by' 0: in unit_virtual_destroy() [unit.c::1718]: assertion '!unit_transported(punit)' failed. _______________________________________________________ File Attachments: ------------------------------------------------------- Date: Fri Mar 29 14:56:43 2013 Name: SubMissileAttack.sav.bz2 Size: 13kB By: jtn <http://gna.org/bugs/download.php?file_id=17591> _______________________________________________________ Reply to this item at: <http://gna.org/bugs/?20682> _______________________________________________ Message sent via/by Gna! http://gna.org/ _______________________________________________ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev