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
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev

Reply via email to