URL:
  <http://gna.org/bugs/?18796>

                 Summary: Server segfault on turn change
                 Project: Freeciv
            Submitted by: jtn
            Submitted on: Sat Oct  8 12:01:57 2011
                Category: general
                Severity: 3 - Normal
                Priority: 5 - Normal
                  Status: Confirmed
             Assigned to: None
        Originator Email: 
             Open/Closed: Open
                 Release: 2.3.0
         Discussion Lock: Any
        Operating System: GNU/Linux
         Planned Release: 2.3.1

    _______________________________________________________

Details:

On the forum <http://forum.freeciv.org/viewtopic.php?t=7087>, "zekkerj"
reports:

> I'm running FreeCiv 2.3.0 on Ubuntu 10.04, compiled from source 
> package, but the last game I played closed back to the start 
> menu. As I started it from command line, I saw that it claimed 
> "Lost connection to server".
> 
> So I started a separate server client, and loaded again the game 
> file to the last turn before the fault, loaded civclient (gtk2), 
> and advanced to the next turn. The server then crashed with 
> SIGSEGV signal.
> 
> This happens every time I try to run the save file; I don't know 
> if it's a bug in freeciv-server. May I post the save file here, 
> so you can analise it? 

I can reproduce a segfault on head-of-S2_3 (r20303), also on Ubuntu 10.04 as
it happens. My backtrace looks like:


#0  0x000000000044d499 in ai_channel (pplayer=<value optimised out>, 
    c1=<value optimised out>, c2=-1) at advdata.c:925
        ai = 0x2319e90
#1  0x0000000000447aa4 in goto_is_sane (punit=0x240cf20, ptile=0x251ac90, 
    omni=false) at aitools.c:505
        pplayer = 0x233a4d0
        pcity = 0x0
        my_cont = -24944
        target_cont = 0
        __FUNCTION__ = "goto_is_sane"
#2  0x0000000000447ddd in ai_unit_goto_constrained (punit=0x240cf20, 
    ptile=0x251ac90, parameter=0x7fff80af8160) at aitools.c:414
        alive = <value optimised out>
        pfm = <value optimised out>
        path = <value optimised out>
        __FUNCTION__ = "ai_unit_goto_constrained"
#3  0x0000000000452416 in explorer_goto (punit=0x240cf20) at
autoexplorer.c:129
        parameter = {start_tile = 0x2510420, moves_left_initially = 3, 
          fuel_left_initially = 1, move_rate = 24, fuel = 1, 
          owner = 0x233a4d0, uclass = 0xa501a0, unit_flags = {
            vec = "\000\000\000\000\b\000\000"}, omniscience = false, 
          get_MC = 0x59ca90 <seamove>, unknown_MC = 6, 
          get_TB = 0x451a90 <explorer_tb>, get_EC = 0, 
          can_invade_tile = 0x5752b0 <player_can_invade_tile>, get_zoc = 0, 
          is_pos_dangerous = 0, get_moves_left_req = 0, get_costs = 0, 
          data = 0x2510420}
        risk_cost = {base_value = 5.342754748674239e-317, 
          fearfulness = 1.8250271129103972e-316, 
          enemy_zoc_cost = 1.4821969375237396e-323}
#4  manage_auto_explorer (punit=0x240cf20) at autoexplorer.c:366
        pplayer = 0x233a4d0
        init_tile = 0x2510420
        log_most_desirable = 10.651122918380143
        max_dist = 29
        best_tile = 0x251ac90
        best_MC = 27
        pfm = 0x2344e20
        parameter = {start_tile = 0x2510420, moves_left_initially = 3, 
          fuel_left_initially = 1, move_rate = 24, fuel = 1, 
          owner = 0x233a4d0, uclass = 0xa501a0, unit_flags = {
            vec = "\000\000\000\000\b\000\000"}, omniscience = false, 
          get_MC = 0x59ca90 <seamove>, unknown_MC = 6, 
          get_TB = 0x59bdc0 <no_fights_or_unknown>, get_EC = 0, 
          can_invade_tile = 0x5752b0 <player_can_invade_tile>, get_zoc = 0, 
          is_pos_dangerous = 0, get_moves_left_req = 0, get_costs = 0, 
          data = 0x2510420}
        __FUNCTION__ = "manage_auto_explorer"
#5  0x000000000045289a in manage_auto_explorer (punit=0x240cf20)
    at autoexplorer.c:379
        pplayer = 0x233a4d0
        init_tile = 0x25104d0
        log_most_desirable = 10.374740401182295
        max_dist = 11
        best_tile = 0x2510420
        best_MC = 9
        pfm = 0x2344e20
        parameter = {start_tile = 0x25104d0, moves_left_initially = 12, 
          fuel_left_initially = 1, move_rate = 24, fuel = 1, 
          owner = 0x233a4d0, uclass = 0xa501a0, unit_flags = {
            vec = "\000\000\000\000\b\000\000"}, omniscience = false, 
          get_MC = 0x59ca90 <seamove>, unknown_MC = 6, 
          get_TB = 0x59bdc0 <no_fights_or_unknown>, get_EC = 0, 
          can_invade_tile = 0x5752b0 <player_can_invade_tile>, get_zoc = 0, 
          is_pos_dangerous = 0, get_moves_left_req = 0, get_costs = 0, 
          data = 0x25104d0}
        __FUNCTION__ = "manage_auto_explorer"
#6  0x000000000045289a in manage_auto_explorer (punit=0x240cf20)
    at autoexplorer.c:379
        pplayer = 0x233a4d0
        init_tile = 0x2510528
        log_most_desirable = 10.201367449964355
        max_dist = 5
        best_tile = 0x25104d0
        best_MC = 3
        pfm = 0x2344e20
        parameter = {start_tile = 0x2510528, moves_left_initially = 15, 
          fuel_left_initially = 1, move_rate = 24, fuel = 1, 
          owner = 0x233a4d0, uclass = 0xa501a0, unit_flags = {
            vec = "\000\000\000\000\b\000\000"}, omniscience = false, 
          get_MC = 0x59ca90 <seamove>, unknown_MC = 6, 
          get_TB = 0x59bdc0 <no_fights_or_unknown>, get_EC = 0, 
          can_invade_tile = 0x5752b0 <player_can_invade_tile>, get_zoc = 0, 
          is_pos_dangerous = 0, get_moves_left_req = 0, get_costs = 0, 
          data = 0x2510528}
        __FUNCTION__ = "manage_auto_explorer"
#7  0x000000000045289a in manage_auto_explorer (punit=0x240cf20)
    at autoexplorer.c:379
        pplayer = 0x233a4d0
        init_tile = 0x2510580
        log_most_desirable = 9.9914984298588418
        max_dist = 6
        best_tile = 0x2510528
        best_MC = 3
        pfm = 0x2344e20
        parameter = {start_tile = 0x2510580, moves_left_initially = 18, 
          fuel_left_initially = 1, move_rate = 24, fuel = 1, 
          owner = 0x233a4d0, uclass = 0xa501a0, unit_flags = {
            vec = "\000\000\000\000\b\000\000"}, omniscience = false, 
          get_MC = 0x59ca90 <seamove>, unknown_MC = 6, 
          get_TB = 0x59bdc0 <no_fights_or_unknown>, get_EC = 0, 
          can_invade_tile = 0x5752b0 <player_can_invade_tile>, get_zoc = 0, 
          is_pos_dangerous = 0, get_moves_left_req = 0, get_costs = 0, 
          data = 0x2510580}
        __FUNCTION__ = "manage_auto_explorer"
#8  0x000000000045289a in manage_auto_explorer (punit=0x240cf20)
    at autoexplorer.c:379
        pplayer = 0x233a4d0
        init_tile = 0x25105d8
        log_most_desirable = 9.9914984298588418
        max_dist = 6
        best_tile = 0x2510580
        best_MC = 3
        pfm = 0x2344e20
        parameter = {start_tile = 0x25105d8, moves_left_initially = 21, 
          fuel_left_initially = 1, move_rate = 24, fuel = 1, 
          owner = 0x233a4d0, uclass = 0xa501a0, unit_flags = {
            vec = "\000\000\000\000\b\000\000"}, omniscience = false, 
          get_MC = 0x59ca90 <seamove>, unknown_MC = 6, 
          get_TB = 0x59bdc0 <no_fights_or_unknown>, get_EC = 0, 
          can_invade_tile = 0x5752b0 <player_can_invade_tile>, get_zoc = 0, 
          is_pos_dangerous = 0, get_moves_left_req = 0, get_costs = 0, 
          data = 0x25105d8}
        __FUNCTION__ = "manage_auto_explorer"
#9  0x000000000045289a in manage_auto_explorer (punit=0x240cf20)
    at autoexplorer.c:379
        pplayer = 0x233a4d0
        init_tile = 0x2510630
        log_most_desirable = 10.253439950714034
        max_dist = 5
        best_tile = 0x25105d8
        best_MC = 3
        pfm = 0x2344e20
        parameter = {start_tile = 0x2510630, moves_left_initially = 24, 
          fuel_left_initially = 1, move_rate = 24, fuel = 1, 
          owner = 0x233a4d0, uclass = 0xa501a0, unit_flags = {
            vec = "\000\000\000\000\b\000\000"}, omniscience = false, 
          get_MC = 0x59ca90 <seamove>, unknown_MC = 6, 
          get_TB = 0x59bdc0 <no_fights_or_unknown>, get_EC = 0, 
          can_invade_tile = 0x5752b0 <player_can_invade_tile>, get_zoc = 0, 
          is_pos_dangerous = 0, get_moves_left_req = 0, get_costs = 0, 
          data = 0x240cf20}
        __FUNCTION__ = "manage_auto_explorer"
#10 0x000000000041d8d9 in do_explore (punit=0x7f46a27e8e40) at
unittools.c:2276
No locals.
#11 0x000000000041ea94 in update_unit_activity (pplayer=<value optimised
out>)
    at unittools.c:720
        id = 684
        activity = ACTIVITY_IDLE
        ptile = 0x2510630
        check_adjacent_units = false
#12 update_unit_activities (pplayer=<value optimised out>) at
unittools.c:516
        punit = 0x240cf20
        punit_index = 61
        punit_size = <value optimised out>
        __FUNCTION__ = "update_unit_activities"
#13 0x000000000040d159 in begin_phase () at srv_main.c:892
        MY_i = 4
        pplayer = 0x233a4d0
#14 srv_running () at srv_main.c:2132
        save_counter = 1
        is_new_turn = true
        eot_timer = 0x1e131b0
        need_send_pending_events = false
#15 srv_main () at srv_main.c:2570
        __FUNCTION__ = "srv_main"
#16 0x0000000000404237 in main (argc=<value optimised out>, 
    argv=0x7fff80af9218) at civserver.c:375
        inx = 3
        showhelp = false
        showvers = false
        option = 0x17e8950 ""
        __FUNCTION__ = "main"




    _______________________________________________________

File Attachments:


-------------------------------------------------------
Date: Sat Oct  8 12:01:57 2011  Name: segfault.sav.gz  Size: 82kB   By: jtn
Segfault-on-turn-done savefile from &quot;zekkerj&quot; on forum
<http://gna.org/bugs/download.php?file_id=14215>

    _______________________________________________________

Reply to this item at:

  <http://gna.org/bugs/?18796>

_______________________________________________
  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