Update of bug #20626 (project freeciv):
Status: None => Confirmed
Planned Release: => 2.3.5,2.4.0,2.5.0
_______________________________________________________
Follow-up Comment #1:
I can confirm serious trouble with this savegame, although not the exact
symptom of the title.
Loading game into 2.3.4 client and following instructions, I got what looks
like a client segfault:
1: Lost connection to server: lagging connection.
1: in player_research_get() [research.c::64]: assertion '((void *)0) !=
pplayer' failed.
1: Please report this message at http://gna.org/projects/freeciv/
Segmentation fault (core dumped)
(no backtrace, sorry). Repeating the experiment just got "Lost connection to
server: read error", suggesting the server died.
Loading game into separate server and connecting with client, I got a segfault
on the server (no assertion failure). Backtrace:
#0 0x00007fce02a32c7d in _IO_vfprintf_internal (s=0x7ffff600f020,
format=<value optimised out>, ap=0x7ffff600f1b0) at vfprintf.c:1623
len = <value optimised out>
string_malloced = <value optimised out>
step0_jumps = {0, -1811, -1724, -1635, -1543, -1456, -1355, -1165,
-879, -691, -359, -446, -95, -4821, 1919, 1157, 1808, 1895, 1907,
2772, 2526, 1966, 4001, 4091, 2485, -4724, 3071, -177, -4821,
-1254}
space = 0
is_short = 0
use_outdigits = 0
step1_jumps = {0, 0, 0, 0, 0, 0, 0, 0, 0, -691, -359, -446, -95,
-4821, 1919, 1157, 1808, 1895, 1907, 2772, 2526, 1966, 4001, 4091,
2485, -4724, 3071, -177, -4821, 0}
group = 0
prec = <value optimised out>
step2_jumps = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -359, -446, -95, -4821,
1919, 1157, 1808, 1895, 1907, 2772, 2526, 1966, 4001, 4091, 2485,
-4724, 3071, -177, -4821, 0}
string = 0x31 <Address 0x31 out of bounds>
left = 0
is_long_double = 0
width = <value optimised out>
step3a_jumps = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -272, 0, 0, 0, 1919,
1157, 1808, 1895, 1907, 0, 0, 0, 0, 4091, 0, 0, 0, 0, 0, 0}
alt = 0
showsign = 0
is_long = 0
is_char = 0
pad = <value optimised out>
step3b_jumps = {0 <repeats 11 times>, -95, 0, 0, 1919, 1157, 1808,
1895, 1907, 2772, 2526, 1966, 4001, 4091, 2485, -4724, 3071, 0, 0,
0}
step4_jumps = {0 <repeats 14 times>, 1919, 1157, 1808, 1895, 1907,
2772, 2526, 1966, 4001, 4091, 2485, -4724, 3071, 0, 0, 0}
is_negative = <value optimised out>
base = 0
the_arg = {pa_wchar = 1277193825 L'a', pa_int = 1277193825,
pa_long_int = 3978990955651952225,
pa_long_long_int = 3978990955651952225, pa_u_int = 1277193825,
pa_u_long_int = 3978990955651952225,
pa_u_long_long_int = 3978990955651952225,
pa_double = 1.0858648781729312e-42,
pa_long_double = <invalid float value>,
pa_string = 0x373837314c206e61 <Address 0x373837314c206e61 out of
bounds>,
pa_wstring = 0x373837314c206e61 <Address 0x373837314c206e61 out of
bounds>, pa_pointer = 0x373837314c206e61, pa_user = 0x373837314c206e61}
spec = <value optimised out>
_buffer = {__routine = 0x3ff0000000000000, __arg = 0x3ff0000000000000,
__canceltype = 53946656, __prev = 0x4d0dce}
_avail = 0
thousands_sep = 0x0
grouping = 0xffffffffffffffff <Address 0xffffffffffffffff out of
bounds>
done = 24
f = 0x5dbfc2 "s%c%c%s%c"
lead_str_end = 0x5dbfa8 "%c%s tgt="%s" x=%d y=%d%c%s%c%c%s%c"
work_buffer =
"Ȉ370 01 00 00 00 00p205Z 00 00 00 00 00p 00 00 00 00 00 00 00 35226_ 00 00 00
00 00 30 00 00 00 00 00 00 00 62317V 00 00 00 00 00C 00_GB.UTp205Z 00 00 00 00
00321 01 00 00 00 00 00 00L205Z 00 00 00 00 00200326+ 02",
' 00' <repeats 12 times>, "
J) 01 00 00 00 00@357L 03 00 00 00 00@357L 03 00 00 00 00m326V 00 00 00 00
00P354 00366377177 00 00P354 00366377177 00 00361 00 00 00 00 00 00 00257215YQ
00 00 00 00 01 00 00 00 00 00 00 00232U@",
' 00' <repeats 13 times>,
" 01 00 00 00 00 00 00 00200362+ 02 00 00 00 00P354 00366377177 00 00 01",
' 00' <repeats 15 times>, " 03 00 00 00 00 00 00 00265]@ 00 00 00 00 00"...
workstart = 0x0
workend = 0x7ffff600eed8 "]"
ap_save = {{gp_offset = 24, fp_offset = 48,
overflow_arg_area = 0x7ffff600f290,
reg_save_area = 0x7ffff600f1d0}}
nspecs_done = <value optimised out>
save_errno = 2
readonly_format = 0
args_malloced = 0x0
specs = <value optimised out>
specs_malloced = false
jump_table =
" 01 00 00 04 00 16 00 06 00 00a 02 00 03t 00 05bbbbbbbbb 00 00 00 00 00 00 00
32 00 31 00 23 23 23 00 35 00 00f 00 00 00 00 00 00 25 00 00 00 00 22 00r 00 00
00 00 00 00 32 00 24 17 23 23 23n 17 34 00v 30 27 21 26f 00 25 33 20 00 00 22
00r"
__PRETTY_FUNCTION__ = "_IO_vfprintf_internal"
#1 0x00007fce02ae9270 in ___vsnprintf_chk (
s=0x8b1820 "[l tgt="tile" x=48 y=48]]Barbarian Leader[/l]",
maxlen=<value optimised out>, flags=1, slen=<value optimised out>,
format=0x5dbfa8 "%c%s tgt="%s" x=%d y=%d%c%s%c%c%s%c",
args=0x7ffff600f1b0) at vsnprintf_chk.c:65
sf = {f = {_sbf = {_f = {_flags = -72515583,
_IO_read_ptr = 0x8b1820 "[l tgt="tile" x=48 y=48]]Barbarian
Leader[/l]",
_IO_read_end = 0x8b1820 "[l tgt="tile" x=48 y=48]]Barbarian
Leader[/l]",
_IO_read_base = 0x8b1820 "[l tgt="tile" x=48 y=48]]Barbarian
Leader[/l]", _IO_write_base = 0x8b1820 "[l tgt="tile" x=48 y=48]]Barbarian
Leader[/l]",
_IO_write_ptr = 0x8b1838 "]Barbarian Leader[/l]",
_IO_write_end = 0x8b189f "",
_IO_buf_base = 0x8b1820 "[l tgt="tile" x=48 y=48]]Barbarian
Leader[/l]", _IO_buf_end = 0x8b189f "", _IO_save_base = 0x0,
_IO_backup_base = 0x0, _IO_save_end = 0x0, _markers = 0x0,
_chain = 0x0, _fileno = 0, _flags2 = 4,
_old_offset = 44995184, _cur_column = 0,
_vtable_offset = 0 ' 00', _shortbuf = "", _lock = 0x0,
_offset = 9115808, _codecvt = 0x1287810, _wide_data = 0x0,
_freeres_list = 0x0, _freeres_buf = 0x8b191f,
_freeres_size = 19413739, _mode = -1,
_unused2 =
"377177 00 00bl241 02316177 00 00340361 00366377177 00"}, vtable =
0x7fce02d67fc0}, _s = {_allocate_buffer = 0,
_free_buffer = 0x7fce036c944c}},
overflow_buf = ' 00' <repeats 24 times>"370,
362 00366377177 00 00360r( 01 00 00 00 00 01 00 00 00 00 00 00 00300|( 01 00 00
00 00 70344Z 00 00 00 00"}
ret = 0
#2 0x000000000057e860 in vsnprintf (
str=0x8b1820 "[l tgt="tile" x=48 y=48]]Barbarian Leader[/l]", n=128,
format=0x0, ap=0x31) at /usr/include/bits/stdio2.h:78
No locals.
#3 fc_vsnprintf (
str=0x8b1820 "[l tgt="tile" x=48 y=48]]Barbarian Leader[/l]", n=128,
format=0x0, ap=0x31) at support.c:700
r = <value optimised out>
__FUNCTION__ = "fc_vsnprintf"
#4 0x000000000057ea61 in fc_snprintf (str=0x31 <Address 0x31 out of bounds>,
n=6143937, format=0x7ffff600f2b0 "[") at support.c:762
ret = 0
ap = {{gp_offset = 48, fp_offset = 48,
overflow_arg_area = 0x7ffff600f2b0,
reg_save_area = 0x7ffff600f1d0}}
#5 0x00000000004d56a3 in unit_tile_link (punit=0x3372920)
at featured_text.c:1119
buf = "[l tgt="tile" x=48 y=48]]Barbarian Leader[/l]", ' 00' <repeats
82 times>
#6 0x000000000041bafe in unit_lost_with_transport (pplayer=0x22bf280,
pcargo=0x3372920, ptransport=<value optimised out>, killer=0x2293f70)
at unittools.c:1529
No locals.
#7 0x000000000041ee76 in wipe_unit (punit=<value optimised out>,
count_lost=<value optimised out>, killer=<value optimised out>)
at unittools.c:1618
ptransport = <value optimised out>
pcargo = 0x3372920
pcargo_index = 0
pcargo_size = 3
pcity = 0x3370e60
ptile = 0x1f888c8
pplayer = 0x22bf280
putype_save = 0x9de990
drowning = <value optimised out>
homecity_id = <value optimised out>
#8 0x00000000004a38a0 in unit_attack_handling (punit=0x3372e60,
pdefender=<value optimised out>) at unithand.c:1131
loser_link = "[l tgt="tile" x=209 y=103]Caravel[/l]", ' 00' <repeats
11 times>, "`.7 03 00 00 00 00H247V", ' 00' <repeats 13 times>,
"M 22M 00 00 00 00 00 00b7 03 00 00 00 00237206 01 00321 00 00 00 02 00 02 00
01 00 00 00 24 00 00 00 01 00 00 00p 00 00 00 62 00 00 00< 00 00 00300b 00"
winner_link = "[l tgt="unit" id=1696 name="Alpine Troops"
/] 00 63@d223M6331d303?/ 16377350304U263<320301& 02 00 00 00 00316rM 00 00 00
00 00'233l262311&353?p 00 00 00 00 00 00 00d223M6331d303? 24 00 00 00 00 00 00
00`.7 03 00 00 00 00p 00 00 00 00 00 00"
ploser = 0x3372e60
pwinner = 0x226bff0
pcity = <value optimised out>
moves_used = <value optimised out>
def_moves_used = <value optimised out>
old_unit_vet = 1
old_defender_vet = 1
vet = 1
winner_id = 1696
def_tile = 0x1f88920
pplayer = 0x22bf280
__FUNCTION__ = "unit_attack_handling"
#9 0x00000000004a2dd7 in unit_move_handling (punit=0x3372e60,
pdesttile=0x1f88920, igzoc=false, move_diplomat_city=<value optimised
out>)
at unithand.c:1461
victim = 0x0
pplayer = 0x22bf280
pcity = 0x22345a0
__FUNCTION__ = "unit_move_handling"
#10 0x000000000043f954 in ai_unit_attack (punit=0x3372e60, ptile=0x1f88920)
at aitools.c:1018
bodyguard = 0x0
sanity = 1784
alive = <value optimised out>
__FUNCTION__ = "ai_unit_attack"
#11 0x0000000000443cb3 in adv_unit_execute_path (punit=0x3372e60,
path=0x33723c0) at advgoto.c:100
_plr_ = <value optimised out>
ptile = 0x1f88920
id = 1784
is_ai = true
i = 3
__FUNCTION__ = "adv_unit_execute_path"
#12 0x000000000044402b in adv_follow_path (punit=0x3372e60, path=0x33723c0,
ptile=<value optimised out>) at advgoto.c:57
old_tile = 0x1f88920
activity = ACTIVITY_IDLE
alive = <value optimised out>
#13 0x000000000043080d in ai_amphibious_goto_constrained (ferry=0x3372e60,
passenger=0x3372ae0, ptile=0x1f88920, parameter=<value optimised out>)
at aiferry.c:584
alive = <value optimised out>
pplayer = <value optimised out>
pfm = <value optimised out>
path = <value optimised out>
__FUNCTION__ = "ai_amphibious_goto_constrained"
#14 0x0000000000430be3 in aiferry_goto_amphibious (ferry=0x3372e60,
passenger=0x3372ae0, ptile=0x1f88920) at aiferry.c:653
parameter = {land = {start_tile = 0x1f84618, moves_left_initially = 3,
fuel_left_initially = 1, move_rate = 3, fuel = 1,
owner = 0x22bf280, uclass = 0xa27e90, unit_flags = {
vec = " 00b 00 00 00 00 00"}, omniscience = true,
get_MC = 0x582890 <normal_move_unit>, unknown_MC = 6,
get_TB = 0x581ad0 <no_intermediate_fights>, get_EC = 0,
can_invade_tile = 0x55d1b0 <player_can_invade_tile>,
get_zoc = 0x5678c0 <is_my_zoc>, is_pos_dangerous = 0,
get_moves_left_req = 0, get_costs = 0, data = 0x0}, sea = {
start_tile = 0x1f84618, moves_left_initially = 9,
fuel_left_initially = 1, move_rate = 9, fuel = 1,
owner = 0x22bf280, uclass = 0xa27f20, unit_flags = {
vec = " 00 00 00 00b 00 00"}, omniscience = true,
get_MC = 0x582450 <sea_overlap_move>, unknown_MC = 6,
get_TB = 0x581b30 <no_fights>, get_EC = 0,
can_invade_tile = 0x55d1b0 <player_can_invade_tile>, get_zoc = 0,
is_pos_dangerous = 0, get_moves_left_req = 0, get_costs = 0,
data = 0x1f84618}, land_scale = 9, sea_scale = 3, combined = {
start_tile = 0x1f84618, moves_left_initially = 27,
fuel_left_initially = 1, move_rate = 27, fuel = 1,
owner = 0x22bf280, uclass = 0xa27f20, unit_flags = {
vec = " 00 00 00 00 00 00 00"}, omniscience = true,
get_MC = 0x5814f0 <amphibious_move>, unknown_MC = 6,
get_TB = 0x581440 <amphibious_behaviour>,
get_EC = 0x581380 <amphibious_extra_cost>,
can_invade_tile = 0x55d1b0 <player_can_invade_tile>, get_zoc = 0,
is_pos_dangerous = 0x5812e0 <amphibious_is_pos_dangerous>,
get_moves_left_req = 0, get_costs = 0, data = 0x7ffff600f870}}
land_risk_cost = {base_value = 1.883141090436828e-316,
fearfulness = 1.6244621521124349e-316,
enemy_zoc_cost = 1.797040863214849e-316}
sea_risk_cost = {base_value = 4.9406564584124654e-324,
fearfulness = 4.3925312877724167e-312, enemy_zoc_cost = 0}
#15 0x000000000042bada in ai_military_attack_barbarian (pplayer=0x22bf280,
punit=0x3372ae0) at aiunit.c:1691
ferry = 0x3372e60
pc = 0x22345a0
#16 ai_military_attack (pplayer=0x22bf280, punit=0x3372ae0) at aiunit.c:1835
dest_tile = 0x1f84618
id = 1786
ct = 10
pcity = <value optimised out>
__FUNCTION__ = "ai_military_attack"
#17 0x000000000042c8cf in ai_manage_military (pplayer=0x22bf280,
punit=0x3372ae0) at aiunit.c:2090
id = 1786
__FUNCTION__ = "ai_manage_military"
#18 0x000000000042d8dd in ai_manage_unit (pplayer=0x22bf280, punit=0x3372ae0)
at aiunit.c:2275
bodyguard = <value optimised out>
is_ferry = <value optimised out>
__FUNCTION__ = "ai_manage_unit"
#19 0x00000000004311f2 in ai_manage_ferryboat (pplayer=0x22bf280,
punit=0x3372e60) at aiferry.c:1055
boss = <value optimised out>
ptile = <value optimised out>
pcity = <value optimised out>
sanity = 1784
unit_data = 0x3372f70
__FUNCTION__ = "ai_manage_ferryboat"
#20 0x000000000042d9c3 in ai_manage_unit (pplayer=0x22bf280, punit=0x3372e60)
at aiunit.c:2255
bodyguard = <value optimised out>
is_ferry = true
__FUNCTION__ = "ai_manage_unit"
#21 0x000000000042ecf5 in ai_manage_units (pplayer=<value optimised out>)
at aiunit.c:2381
punit = 0x3372e60
punit_index = 11
punit_size = 12
#22 0x00000000004a8e49 in ai_do_first_activities (pplayer=0x22bf280)
at aihand.c:484
No locals.
#23 0x000000000040b0f8 in ai_start_phase () at srv_main.c:759
MY_i = 3
pplayer = 0x22bf280
#24 begin_phase () at srv_main.c:910
No locals.
#25 srv_running () at srv_main.c:2134
eot_timer = 0x1967b80
save_counter = 1
is_new_turn = <value optimised out>
need_send_pending_events = false
__FUNCTION__ = "srv_running"
#26 0x000000000040b8ed in srv_main () at srv_main.c:2580
__FUNCTION__ = "srv_main"
#27 0x00000000004042d3 in main (argc=<value optimised out>,
argv=0x7ffff60101f8) at civserver.c:377
inx = 3
showhelp = false
showvers = false
option = 0x128f9a0 "240{( 01"
__FUNCTION__ = "main"
_______________________________________________________
Reply to this item at:
<http://gna.org/bugs/?20626>
_______________________________________________
Message sent via/by Gna!
http://gna.org/
_______________________________________________
Freeciv-dev mailing list
[email protected]
https://mail.gna.org/listinfo/freeciv-dev