Follow-up Comment #23, bug #22180 (project freeciv):

The same crash also occurs very often on the Freeciv-web servers running on
http://play.freeciv.org. It's running Freeciv server revision 25147. It
happens very often now, so a quick fix would be nice.

Here's a backtrace from a coredump:

#0  0x000000000048bf7c in sg_save_player_main (plr=plr@entry=0x21e2b70,
saving=0x194cce0) at savegame2.c:4086
        tr = TRAIT_EXPANSIONIST
        j = 0
        i = <optimized out>
        plrno = <optimized out>
        ship = 0x21e2d40
#1  0x000000000048c6ed in sg_save_players (saving=saving@entry=0x194cce0) at
savegame2.c:3532
        pplayer = 0x21e2b70
        _pslot = 0x13411f0
#2  0x000000000048f1aa in savegame2_save_real (scenario=<optimized out>,
    save_reason=0x2c2d2c2d2c2d2c2d <error: Cannot access memory at address
0x2c2d2c2d2c2d2c2d>, file=0x1c)
    at savegame2.c:606
        saving = 0x194cce0
#3  savegame2_save (file=file@entry=0x194d600,
save_reason=save_reason@entry=0x58cd28 "User request",
    scenario=scenario@entry=false) at savegame2.c:505
        __FUNCTION__ = "savegame2_save"
#4  0x0000000000409334 in save_game (username=username@entry=0x7fff9c7abcb0
"ishango",
    save_reason=save_reason@entry=0x58cd28 "User request",
scenario=scenario@entry=false) at srv_main.c:1284
        filepath = "ishango\000\000\000\000\000\377\177", '\000' <repeats 26
times>,
"%-\\\000\000\000\000\000\377\377\377\377\377\377\377\377c\000\000\000\000\000\000\000\003\000\000\000\377\177
", '\000' <repeats 13 times>, "\n\000\000\000\360#\\", '\000' <repeats 13
times>,
"\a\000\000\000\000\000\000\000\370#\\\000\000\000\000\000\227\271z\234\377\177\000\000\030\000\000\000\060\000\000\000p\273z\234\377\177\000\000\260\272z\234\377\177",
'\000' <repeats 38 times>, "\377\177\000\000\000\000\000\000\000\000 ", '\000'
<repeats 21 times>...
        dot = <optimized out>
        filename = <optimized out>
        file = 0x194d600
        timer_cpu = 0x1949c80
        timer_user = 0x137e1b0
        __FUNCTION__ = "save_game"
#5  0x0000000000416af7 in save_command (caller=0x0, check=false,
arg=0x7fff9c7abcb0 "ishango") at stdinhand.c:739
No locals.
#6  handle_stdin_input_real (caller=caller@entry=0x0,
str=str@entry=0x7fff9c7acb70 "save ishango",
    check=check@entry=false, read_recursion=read_recursion@entry=0) at
stdinhand.c:4316
        command =
"save\000\377\377\377\303\005\000\000\000\000\000\000#\000\000\000\000\000\000\000h\265V\000\000\000\000\000\000\236\245\000\000\000\000\000\212\275z\234\377\177\000\000=\000\000\000\000\000\000\000\022\266V\000\00

0\000\000\000\016\000\000\000\000\000\000\000\060\000\000\000\060\000\000\000ػz\234\377\177\000\000\020\273z\234\377\177\000\000\000\000\000\000\000\000\000\000p\275z\234\377\177\000\000\065\000\000\000\000\000\000\000<\000\000\000\000\000\000\000/\000\000\000\000\000\000\000\245#\\\000\000\000\000\000\001\000\000\000\000\000\000\000\000\325z\234\377\177\000\000t\275z\234\377\177\000\000\377\377\377\377\000\000\000\000d\325z\234\377\177\000\000\\\231V\000\000\000\000\000\274\273z\234\377\177\000\000\233"...
        arg =
"ishango\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000@\027\203\000\000\000\000\000\377\377\377\377\377\177\000\000p\230\026\002\000\000\000\000p\230\026\002\000\000\000\000\340\017\304\071`\177",
'\000' <repeats 11 times>,
"\006\000\000\000\000\000\000p\275z\234\377\177\000\000\331eR\000\000\000\000\000k$\\\000\000\000\000\000\000\062\260\332\003/)\276\000\000\000\000\000\000\000\000@\027\203\000\000\000\000\000\360\303z\234\377\177\000\000\233f@\000\000\000\000\000<font
color=\"#000000\" bg=\"#C8FFD5\">Vote "...
        allargs =
"ishango\000\000\000\000\000\000\000\000\000@\027\203\000\000\000\000\000\030\000\000\000\000\000\000\000\377\377\377\377\000\000\000\000\377\377\377\377\377\377\377\377\200'\361:`\177\000\000\340\017\304\071`\177\000\000\000\000\000\000\000\000\000\000\070\002",
'\000' <repeats 79 times>,
"\002\000\000\000\000\000\000`\331z\234\377\177\000\000\000\340z\234\377\177\000\000`\331z\234\377\177\000\000`֔\001\000\000\000\000\377\377\377\377i\000\000\000\377\377\377\377"...
        full_command = "save
ishango\000\000\000\000\332\017\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000\310z\234\377\177\000\000(5P\000\000\000\000\000\332\017\000\000\000\000\000\000@\027\203",
'\000' <repeats 13 times>, " \251\365\002\000\000\000\000
\251\365\002\000\000\000\000\332\017\000\000\000\000\000\000@\027\203", '\000'
<repeats 21 times>,
"\207\373Q\000\000\000\000\000\000\310z\234\377\177\000\000\260\224\224\001\000\000\000\000\000@\000\000\000\000\000\000\332\017\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\061\060\060\061,10\017\332\000\020{\"cooling\":0,\"add_to"...
        cptr_s = <optimized out>
        cptr_d = <optimized out>
        i = <optimized out>
        cmd = <optimized out>
        level = <optimized out>
        __FUNCTION__ = "handle_stdin_input_real"
#7  0x0000000000419ada in handle_stdin_input (caller=caller@entry=0x0,
    str=str@entry=0x7fff9c7acb70 "save ishango", check=check@entry=false) at
stdinhand.c:4113
No locals.
#8  0x0000000000424521 in check_vote (pvote=pvote@entry=0x194d660) at
voting.c:576
        num_cast = <optimized out>
        num_voters = <optimized out>
        resolve = true
        passed = true
        pconn = <optimized out>
        yes_pc = <optimized out>
        no_pc = <optimized out>
        rem_pc = <optimized out>
        base = <optimized out>
        flags = <optimized out>
        need_pc = <optimized out>
        cmdline = "save
ishango\000\177\000\000_\333z\234\377\177\000\000`\331z\234\377\177\000\000_\333z\234\377\177",
'\000' <repeats 42 times>,
"\"\000\000\000\004\000\000\000\020\070\067\001\000\000\000\000\000\000z\234\377\177\000\000\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\340\343\202\000\000\000\000\000\377\377\377\377\377\377\377\377\030\000\000\000\000\000\000\000@\027\203\000\000\000\000\000\030\000\000\000\000\000\000\000\377\377\377\377\000\000\000\000\377\377\377\377\377\377\377\377\200'\361:`\177\000\000\b",
'\000' <repeats 15 times>...
        title = 0x58c66e "Vote"
        callplr = 0x0
        __FUNCTION__ = "check_vote"
#9  0x0000000000424945 in connection_vote (pconn=pconn@entry=0x831740
<connections>, pvote=pvote@entry=0x194d660,
    type=type@entry=VOTE_YES) at voting.c:657
        pvc = <optimized out>
        __FUNCTION__ = "connection_vote"
#10 0x0000000000417ccf in handle_stdin_input_real
(caller=caller@entry=0x831740 <connections>,
    str=str@entry=0x7fff9c7ae080 "/save", check=check@entry=false,
read_recursion=read_recursion@entry=0)
    at stdinhand.c:4255
        votedesc = "save ishango (needs 1% in
favor).\000\000\000\000\000\000\000 \302\202", '\000' <repeats 13 times>,
"^\000\000\000\000\000\000\000p+\036\002\000\000\000\000\001\000\000\000\002\000\000\000\000\344\224\001\000\000\000\000\233\264V\000\000\000\000\000`\336z\234\377\177\000\000\000\006\000\000\000\000\000\000\000\344\224\001\000\000\000\000\200\337z\234\377\177\000\000\360\017u\001\000\000\000\000\241\360D\000\000\000\000\000\063\060\060\060\060\060\060\061\061\063\060\060\060\060\061\060\060\060\060\060\061\000\000\000%\203O\000\000\000\000\000@\017u\001\000\000\000\000%\203O\000\000\000\000\000\061\000\036\002\000\000\000\000\000"...
        teamplr = <optimized out>
        what = <optimized out>
        vote = 0x194d660
        caller_had_vote = <optimized out>
        command =
"save\000false,false,false,false,false,false,false,false,false,false,false,false,false,false,false

,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,fal"...
        arg =
"\000arch\":true,\"citizen_nationality\":true,\"init_city_radius_sq\":5,\"forced_luxury\":100,\"diplomacy\":0,\"food_cost\":2,\"seconds_to_phasedone\":133.0,\"fogofwar\":true,\"heating\":0,\"gold\":50,\"global_warming\":true,"...
        allargs =
"ishango\000\066\062,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,1"...
        full_command =
"save\000\062,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162],\"illness_min_size\":3,\"tech_trade_allow_holes\":true,\"is_edit_mode\":false,\"is_new_game"...
        cptr_s = <optimized out>
        cptr_d = <optimized out>
        i = <optimized out>
        cmd = CMD_SAVE
        level = <optimized out>
        __FUNCTION__ = "handle_stdin_input_real"
#11 0x0000000000419ada in handle_stdin_input (caller=caller@entry=0x831740
<connections>,
    str=str@entry=0x7fff9c7ae080 "/save", check=check@entry=false) at
stdinhand.c:4113
No locals.
#12 0x00000000004ad2f2 in handle_chat_msg_req (pconn=pconn@entry=0x831740
<connections>, message=<optimized out>)
    at handchat.c:349
        real_message = "/save\000\000\000P\374\214", '\000' <repeats 14
times>,
"\344\224\001\000\000\000\000@\017u\001\000\000\000\000p+\036\002\000\000\000\000p+\036\002\000\000\000\000\222\203O",
'\000' <repeats 21 times>,
"p\354\035\002\000\000\000\000\001\000\000\000\000\000\000\000\300\372\364\002\000\000\000\000+iT\000\000\000\000\000P\374\214\000\000\000\000\000\300\372\364\002\000\000\000\000\000\344\224\001\000\000\000\000ُT\000\000\000\000\000\000\344\224\001",
'\000' <repeats 12 times>,
"\061\060\061\060\060\061\060\060\061\060\061\061\063\061\062\061\060\060\060\060\061\000\060\060\061\060\061\061\063\061\062\061\060\060\060\060\061",
'\000' <repeats 11 times>...
        cp = <optimized out>
        unesc_message = 0x194cbb0 ""
        double_colon = <optimized out>
#13 0x00000000004624e8 in server_handle_packet
(type=type@entry=PACKET_CHAT_MSG_REQ, packet=<optimized out>,
    pplayer=pplayer@entry=0x0, pconn=pconn@entry=0x831740 <connections>) at
hand_gen.c:40
No locals.
#14 0x0000000000409a08 in server_packet_input (pconn=pconn@entry=0x831740
<connections>, packet=<optimized out>,
    type=26) at srv_main.c:1665

#14 0x0000000000409a08 in server_packet_input (pconn=pconn@entry=0x831740
<connections>, packet=<optimized out>,
    type=26) at srv_main.c:1665
---Type <return> to continue, or q <return> to quit---
        pplayer = <optimized out>
        __FUNCTION__ = "server_packet_input"
#15 0x00000000004956b0 in incoming_client_packets (pconn=<optimized out>) at
sernet.c:450
        command_ok = <optimized out>
        packet = {data = 0x194bfc0, type = PACKET_CHAT_MSG_REQ}
#16 server_sniff_all_input () at sernet.c:855
        pconn = 0x831740 <connections>
        nb = <optimized out>
        i = <optimized out>
        s = <optimized out>
        max_desc = <optimized out>
        readfs = {fds_bits = {128, 0 <repeats 15 times>}}
        writefs = {fds_bits = {0 <repeats 16 times>}}
        exceptfs = {fds_bits = {0 <repeats 16 times>}}
        tv = {tv_sec = 0, tv_usec = 337581}
        __FUNCTION__ = "server_sniff_all_input"
#17 0x000000000040b555 in srv_running () at srv_main.c:2407
        save_counter = 1
        i = <optimized out>
        is_new_turn = true
        skip_mapimg = false
        eot_timer = <optimized out>
        need_send_pending_events = false
#18 srv_main () at srv_main.c:2885
        __FUNCTION__ = "srv_main"
#19 0x00000000004055b1 in main (argc=17, argv=0x7fff9c7b1078) 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/?22180>

_______________________________________________
  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