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

                 Summary: Segmentation fault in tile_get_known at tile.c:480
                 Project: Freeciv
            Submitted by: andreasr
            Submitted on: Mon 12 Aug 2013 06:25:05 AM GMT
                Category: freeciv-web
                Severity: 3 - Normal
                Priority: 5 - Normal
                  Status: None
             Assigned to: None
        Originator Email: 
             Open/Closed: Open
                 Release: 
         Discussion Lock: Any
        Operating System: GNU/Linux
         Planned Release: 

    _______________________________________________________

Details:

I get a Segmentation fault in the Freeciv server sometimes, on the Freeciv-web
servers running on http://play.freeciv.org/

The segmentation fault happens while the AI is moving one of their units, in a
part of the code which isn't modified to be Freeciv-web specific in any way. I
therefore think this is a bug which is general to all Freeciv servers of this
revision. As can be seen from the backtrace, the pplayer parameter is null. I
also have a core dump if you need more info. Any help fixing it?

This is on Freeciv trunk revision 23091.

Program terminated with signal 11, Segmentation fault.
#0  dbv_isset (pdbv=pdbv@entry=0xaa4, bit=3217) at bitvector.c:120

bt full
#0  dbv_isset (pdbv=pdbv@entry=0xaa4, bit=3217) at bitvector.c:120
No locals.
#1  0x0819d537 in tile_get_known (ptile=ptile@entry=0x8e21e90,
    pplayer=pplayer@entry=0x0) at tile.c:480
No locals.
#2  0x08193157 in can_player_see_unit_at (pplayer=pplayer@entry=0x0,
    punit=punit@entry=0x8f9fe48, ptile=ptile@entry=0x8e21e90) at player.c:857
        pcity = <optimized out>
#3  0x0806514b in remove_unit_gone_out_of_sight (punit=punit@entry=0x8f9fe48,
    old_tile=old_tile@entry=0x8e21e90, dest=<optimized out>)
    at unittools.c:2381
        pplayer = 0x0
        pconn_iter = 0x0
        pconn = 0x8287b38 <connections+1720>
#4  0x0806871f in unit_move (punit=punit@entry=0x8f9fe48,
    pdesttile=pdesttile@entry=0x8e22d60, move_cost=3) at unittools.c:3475
        pplayer = 0x8caa820
        psrctile = 0x8e21e90
        pcity = <optimized out>
        ptransporter = <optimized out>
        old_vision = <optimized out>
        new_vision = <optimized out>
        pcargo_units = 0x8f9ff00
        saved_id = 131
        unit_lives = true
        adj = <optimized out>
        facing = DIR8_SOUTHEAST
        bowner = <optimized out>
        radius_sq = {2, 2}
#5  0x080dcc5e in unit_move_handling (punit=punit@entry=0x8f9fe48,
    pdesttile=pdesttile@entry=0x8e22d60, igzoc=igzoc@entry=false,
    move_diplomat_city=move_diplomat_city@entry=false) at unithand.c:1762
        move_cost = <optimized out>
        pplayer = 0x8caa820
        pcity = <optimized out>
        __FUNCTION__ = "unit_move_handling"
#6  0x0811a954 in dai_unit_attack (ait=0x82f30c0 <ai_types>, punit=0x8f9fe48,
    ptile=0x8e22d60) at aitools.c:914
        bodyguard = 0x0
        sanity = 131
        alive = <optimized out>
#7  0x0811aa06 in dai_unit_move_or_attack (ait=0x82f30c0 <ai_types>,
    punit=punit@entry=0x8f9fe48, ptile=ptile@entry=0x8e22d60,
    path=path@entry=0x9f8a498, step=step@entry=1) at aitools.c:934
No locals.
#8  0x080df810 in cai_unit_move_or_attack (punit=0x8f9fe48, ptile=0x8e22d60,
    path=0x9f8a498, step=1) at classicai.c:284
No locals.
#9  0x08070d86 in adv_unit_execute_path (punit=punit@entry=0x8f9fe48,
    path=path@entry=0x9f8a498) at advgoto.c:102
        _plr_ = <optimized out>
        ptile = 0x8e22d60
        id = 131
        is_ai = true
        i = <optimized out>
        __FUNCTION__ = "adv_unit_execute_path"
#10 0x0807114c in adv_follow_path (punit=punit@entry=0x8f9fe48,
    path=path@entry=0x9f8a498, ptile=ptile@entry=0x8e22d60) at advgoto.c:59
        old_tile = 0x0
        activity = ACTIVITY_IDLE
        alive = <optimized out>
#11 0x08074913 in auto_settler_setup_work (completion_time=1,
    best_target=0xbfb575c8, best_act=ACTIVITY_GEN_ROAD, best_tile=0x8e22d60,
    path=0x9f8a498, recursion=0, state=0x912de48, punit=0x8f9fe48,
    pplayer=0x8caa820) at autosettlers.c:845
        alive = <optimized out>
        pfm = <optimized out>
        parameter = {start_tile = 0x81b6c37 <timer_stop+39>,
          moves_left_initially = 3, fuel_left_initially = 1, move_rate = 3,
          fuel = 1, owner = 0x8caa820, uclass = 0x8432b88 <unit_classes+136>,
          unit_flags = {vec = "\b\004\000\004\020\000\000"},
          omniscience = true, get_MC = 0x81c1c80 <normal_move_unit>,
          unknown_MC = 6, get_TB = 0x0, get_EC = 0x0,
          can_invade_tile = 0x80722b0 <autosettler_enter_territory>,
          get_zoc = 0x81a0a10 <is_my_zoc>, is_pos_dangerous = 0x0,
          get_moves_left_req = 0x0, get_costs = 0x0, data = 0x0}
        displaced = 0x0
#12 auto_settler_setup_work (pplayer=pplayer@entry=0x8caa820,
    punit=punit@entry=0x8f9fe48, state=state@entry=0x912de48, recursion=0,
    recursion@entry=1, path=0x9f8a498, best_tile=0x8e22d60,
    best_act=ACTIVITY_GEN_ROAD, best_target=best_target@entry=0xbfb575c8,
    completion_time=completion_time@entry=1) at autosettlers.c:762
No locals.
#13 0x08115e0e in dai_auto_settler_run (ait=0x82f30c0 <ai_types>,
    pplayer=pplayer@entry=0x8caa820, punit=punit@entry=0x8f9fe48,
    state=state@entry=0x912de48) at aisettler.c:1128
        best_impr = 12
        best_act = ACTIVITY_GEN_ROAD
        best_target = 0x82f59a8 <extras+4360>
        best_tile = 0x8e22d60
        path = 0x9f8a498
        completion_time = 1
        __FUNCTION__ = "dai_auto_settler_run"
#14 0x080df708 in cai_auto_settler_run (pplayer=0x8caa820, punit=0x8f9fe48,
    state=0x912de48) at classicai.c:338
No locals.
#15 0x08073fd5 in auto_settlers_player (pplayer=0x8caa820)
    at autosettlers.c:965
        _plr_ = 0x8caa820
        punit = 0x8f9fe48
        punit_numbers = 0xbfb57644
        punit_index = <optimized out>
        punit_size = 2
        t = 0x8f9f9e8
        state = <optimized out>
        __FUNCTION__ = "auto_settlers_player"
#16 0x08052583 in end_phase () at srv_main.c:1015
        MY_i = 49
        pplayer = 0x8caa820
#17 srv_running () at srv_main.c:2340
        save_counter = 1
        i = <optimized out>
        is_new_turn = true
        skip_mapimg = false
        eot_timer = 0x8f9ce00
        punit_size = 2
        t = 0x8f9f9e8
        state = <optimized out>
        __FUNCTION__ = "auto_settlers_player"
#16 0x08052583 in end_phase () at srv_main.c:1015
        MY_i = 49
        pplayer = 0x8caa820
#17 srv_running () at srv_main.c:2340
        save_counter = 1
        i = <optimized out>
        is_new_turn = true
        skip_mapimg = false
        eot_timer = 0x8f9ce00
---Type <return> to continue, or q <return> to quit---
        need_send_pending_events = false
#18 srv_main () at srv_main.c:2791
        __FUNCTION__ = "srv_main"
#19 0x0804c132 in main (argc=17, argv=0xbfb57834) at civserver.c:458
        inx = 17
        showhelp = <optimized out>
        showvers = <optimized out>
        option = <optimized out>
        __FUNCTION__ = "main"





    _______________________________________________________

Reply to this item at:

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

_______________________________________________
  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