任务单 #41851

S2_6 assertion 'packet->size == ppl' failed.

开放日期: 2021-03-25 02:41 最后更新: 2021-04-11 15:28

报告人:
属主:
类型:
状态:
关闭
组件:
里程碑:
优先:
5 - Medium
严重性:
5 - Medium
处理结果:
Fixed
文件:
8

Details

S2_6 autogame fails with

0: in package_city() [../../src/server/citytools.c::2342]: assertion 'packet->size == ppl' failed.

(gdb) bt

#0 raise (sig=<optimized out>) at ../sysdeps/unix/sysv/linux/raise.c:50

#1 0x00005555558474ab in fc_assert_fail (file=0x55555589ea02 "../../src/server/citytools.c",

function=0x5555558a01f8 <FUNCTION.16> "package_city", line=2342,
assertion=0x55555589f9ae "packet->size == ppl", message=0x5555559141f4 "nologmsg:%s")
at ../../src/utility/log.c:524

#2 0x00005555555ff7b1 in package_city (pcity=0x555555e99930, packet=0x7fffffffd210,

dipl_invest=false) at ../../src/server/citytools.c:2342

#3 0x00005555555ff120 in send_city_info_at_tile (pviewer=0x555555f0c650,

dest=0x555555f0d700, pcity=0x555555e99930, ptile=0x555556c79138)
at ../../src/server/citytools.c:2229

#4 0x00005555555ff006 in send_city_info (dest=0x555555f0c650, pcity=0x555555e99930)

at ../../src/server/citytools.c:2180

#5 0x00005555556012b1 in sync_cities () at ../../src/server/citytools.c:2943

#6 0x000055555561f19f in give_citymap_from_player_to_player (pcity=0x555555e99930,

pfrom=0x555555f0c650, pdest=0x5555579de450) at ../../src/server/maphand.c:412

#7 0x00005555555fafb1 in transfer_city (ptaker=0x5555579de450, pcity=0x555555e99930,

kill_outside=3, transfer_unit_verbose=true, resolve_stack=true, raze=true,
build_free=true) at ../../src/server/citytools.c:1139

#8 0x0000555555627724 in kill_player (pplayer=0x555555f0c650)

at ../../src/server/plrhand.c:160

#9 0x000055555559739d in kill_dying_players () at ../../src/server/srv_main.c:1008

#10 0x00005555555974e0 in ai_start_phase () at ../../src/server/srv_main.c:1027

#11 0x00005555555984b0 in begin_phase (is_new_phase=true) at ../../src/server/srv_main.c:1215

#12 0x000055555559d4f4 in srv_running () at ../../src/server/srv_main.c:2749

#13 0x000055555559f227 in srv_main () at ../../src/server/srv_main.c:3382

#14 0x0000555555590222 in main (argc=6, argv=0x7fffffffe468)

at ../../src/server/civserver.c:476

任务单历史 (3/14 Histories)

2021-03-25 02:41 Updated by: cazfi
  • New Ticket "S2_6 assertion 'packet->size == ppl' failed." created
2021-03-25 05:49 Updated by: cazfi
评论

Attached patch makes assert not to fail. It's not a commit candidate - at least the addition of a new assert (which could start failing) should be removed before pushing this to mature S2_6.

2021-03-25 06:33 Updated by: cazfi
  • 处理结果 Update from to Accepted
  • 里程碑 Update from (无) to 2.6.5 (关闭)
  • 组件 Update from (无) to Server
评论

- Ported to S3_0 - master (this patch has the new assert) - S2_6 without the new assert attached

2021-04-07 20:04 Updated by: cazfi
  • 处理结果 Update from Accepted to
评论

Current version of the patch only assumes that the city info will be sent after the arrange has been done. There is no guaranteed broadcast when the worker arrangement has been done, so the patch is wrong in the assumption. This patch needs to implement the broadcasting itself.

2021-04-09 00:08 Updated by: cazfi
  • 处理结果 Update from to Accepted
评论

- New versions of the patches taking care of sending the city info once city has been arranged, if such a send was attempted during need_arrange

2021-04-11 15:28 Updated by: cazfi
  • 状态 Update from 开启 to 关闭
  • 属主 Update from (无) to cazfi
  • 处理结果 Update from Accepted to Fixed

编辑

Please login to add comment to this ticket » 登录名