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
[email protected]
https://mail.gna.org/listinfo/freeciv-dev