#47992: server/advisors/autosettlers.c::929]: assertion 'recursion <= unit_list_size(pplayer->units)' failed. Open Date: 2023-05-08 01:21 Last Update: 2023-05-09 11:19 URL for this Ticket: https://osdn.net//projects/freeciv/ticket/47992 RSS feed for this Ticket: https://osdn.net/ticket/ticket_rss.php?group_id=12505&tid=47992 --------------------------------------------------------------------- Last Changes/Comment on this Ticket: 2023-05-09 11:19 Updated by: cazfi Comment: Frame 48 is the call with recursion level 0. #3 0x0000555555809251 in fc_assert_fail ( file=file at entry=0x5555558572f0 "../../../src/server/advisors/autosettlers.c", function=function at entry=0x5555558579d0 <__FUNCTION__.8> "auto_settler_findwork", line=line at entry=929, assertion=assertion at entry=0x555555857528 "recursion <= unit_list_size(pplayer->units)", message=<optimized out>) at ../../src/utility/log.c:568 #4 0x00005555555d1383 in auto_settler_findwork (pplayer=pplayer at entry=0x55555866b850, punit=punit at entry=0x5555569665c0, state=state at entry=0x555556808d50, recursion=recursion at entry=15) at ../../../src/server/advisors/autosettlers.c:929 #5 0x00005555555d1642 in auto_settler_setup_work (pplayer=pplayer at entry=0x55555866b850, punit=punit at entry=0x555556965ee0, state=state at entry=0x555556808d50, recursion=recursion at entry=14, path=path at entry=0x555556575f90, best_tile=best_tile at entry=0x555556b29270, best_act=ACTIVITY_GEN_ROAD, best_target=0x7fffffffc040, completion_time=3) at ../../../src/server/advisors/autosettlers.c:1044 #6 0x00005555555d12a2 in auto_settler_setup_work (completion_time=3, best_target=0x7fffffffc040, best_act=<optimized out>, best_tile=0x555556b29270, path=0x555556575f90, recursion=14, state=0x555556808d50, punit=0x555556965ee0, pplayer=0x55555866b850) at ../../../src/server/advisors/autosettlers.c:1004 #7 auto_settler_findwork (pplayer=pplayer at entry=0x55555866b850, punit=punit at entry=0x555556965ee0, state=state at entry=0x555556808d50, recursion=recursion at entry=14) at ../../../src/server/advisors/autosettlers.c:981 #8 0x00005555555d1642 in auto_settler_setup_work (pplayer=pplayer at entry=0x55555866b850, punit=punit at entry=0x555556e72720, state=state at entry=0x555556808d50, recursion=recursion at entry=13, path=path at entry=0x55555656fdc0, best_tile=best_tile at entry=0x555556b2d410, best_act=ACTIVITY_MINE, best_target=0x7fffffffc240, completion_time=2) at ../../../src/server/advisors/autosettlers.c:1044 #9 0x00005555555d12a2 in auto_settler_setup_work (completion_time=2, best_target=0x7fffffffc240, best_act=<optimized out>, best_tile=0x555556b2d410, path=0x55555656fdc0, recursion=13, state=0x555556808d50, punit=0x555556e72720, pplayer=0x55555866b850) at ../../../src/server/advisors/autosettlers.c:1004 #10 auto_settler_findwork (pplayer=pplayer at entry=0x55555866b850, punit=punit at entry=0x555556e72720, state=state at entry=0x555556808d50, recursion=recursion at entry=13) at ../../../src/server/advisors/autosettlers.c:981 #11 0x00005555555d1642 in auto_settler_setup_work (pplayer=pplayer at entry=0x55555866b850, punit=punit at entry=0x555556966930, state=state at entry=0x555556808d50, recursion=recursion at entry=12, path=path at entry=0x55555656fda0, best_tile=best_tile at entry=0x555556b257d0, best_act=ACTIVITY_GEN_ROAD, best_target=0x7fffffffc440, completion_time=19) at ../../../src/server/advisors/autosettlers.c:1044 #12 0x00005555555d12a2 in auto_settler_setup_work (completion_time=19, best_target=0x7fffffffc440, best_act=<optimized out>, best_tile=0x555556b257d0, path=0x55555656fda0, recursion=12, state=0x555556808d50, punit=0x555556966930, pplayer=0x55555866b850) at ../../../src/server/advisors/autosettlers.c:1004 #13 auto_settler_findwork (pplayer=pplayer at entry=0x55555866b850, punit=punit at entry=0x555556966930, --Type <RET> for more, q to quit, c to continue without paging-- state=state at entry=0x555556808d50, recursion=recursion at entry=12) at ../../../src/server/advisors/autosettlers.c:981 #14 0x00005555555d1642 in auto_settler_setup_work (pplayer=pplayer at entry=0x55555866b850, punit=punit at entry=0x555556966ca0, state=state at entry=0x555556808d50, recursion=recursion at entry=11, path=path at entry=0x555557080350, best_tile=best_tile at entry=0x555556b28550, best_act=ACTIVITY_GEN_ROAD, best_target=0x7fffffffc640, completion_time=11) at ../../../src/server/advisors/autosettlers.c:1044 #15 0x00005555555d12a2 in auto_settler_setup_work (completion_time=11, best_target=0x7fffffffc640, best_act=<optimized out>, best_tile=0x555556b28550, path=0x555557080350, recursion=11, state=0x555556808d50, punit=0x555556966ca0, pplayer=0x55555866b850) at ../../../src/server/advisors/autosettlers.c:1004 #16 auto_settler_findwork (pplayer=pplayer at entry=0x55555866b850, punit=punit at entry=0x555556966ca0, state=state at entry=0x555556808d50, recursion=recursion at entry=11) at ../../../src/server/advisors/autosettlers.c:981 #17 0x00005555555d1642 in auto_settler_setup_work (pplayer=pplayer at entry=0x55555866b850, punit=punit at entry=0x5555569665c0, state=state at entry=0x555556808d50, recursion=recursion at entry=10, path=path at entry=0x555557080330, best_tile=best_tile at entry=0x555556b29270, best_act=ACTIVITY_GEN_ROAD, best_target=0x7fffffffc840, completion_time=8) at ../../../src/server/advisors/autosettlers.c:1044 #18 0x00005555555d12a2 in auto_settler_setup_work (completion_time=8, best_target=0x7fffffffc840, best_act=<optimized out>, best_tile=0x555556b29270, path=0x555557080330, recursion=10, state=0x555556808d50, punit=0x5555569665c0, pplayer=0x55555866b850) at ../../../src/server/advisors/autosettlers.c:1004 #19 auto_settler_findwork (pplayer=pplayer at entry=0x55555866b850, punit=punit at entry=0x5555569665c0, state=state at entry=0x555556808d50, recursion=recursion at entry=10) at ../../../src/server/advisors/autosettlers.c:981 #20 0x00005555555d1642 in auto_settler_setup_work (pplayer=pplayer at entry=0x55555866b850, punit=punit at entry=0x555556965ee0, state=state at entry=0x555556808d50, recursion=recursion at entry=9, path=path at entry=0x555556726c70, best_tile=best_tile at entry=0x555556b2d410, best_act=ACTIVITY_MINE, best_target=0x7fffffffca40, completion_time=3) at ../../../src/server/advisors/autosettlers.c:1044 #21 0x00005555555d12a2 in auto_settler_setup_work (completion_time=3, best_target=0x7fffffffca40, best_act=<optimized out>, best_tile=0x555556b2d410, path=0x555556726c70, recursion=9, state=0x555556808d50, punit=0x555556965ee0, pplayer=0x55555866b850) at ../../../src/server/advisors/autosettlers.c:1004 #22 auto_settler_findwork (pplayer=pplayer at entry=0x55555866b850, punit=punit at entry=0x555556965ee0, state=state at entry=0x555556808d50, recursion=recursion at entry=9) at ../../../src/server/advisors/autosettlers.c:981 #23 0x00005555555d1642 in auto_settler_setup_work (pplayer=pplayer at entry=0x55555866b850, punit=punit at entry=0x555556966250, state=state at entry=0x555556808d50, recursion=recursion at entry=8, path=path at entry=0x55555707f360, best_tile=best_tile at entry=0x555556b285c0, best_act=ACTIVITY_IRRIGATE, best_target=0x7fffffffcc40, completion_time=4) at ../../../src/server/advisors/autosettlers.c:1044 #24 0x00005555555d12a2 in auto_settler_setup_work (completion_time=4, best_target=0x7fffffffcc40, best_act=<optimized out>, best_tile=0x555556b285c0, path=0x55555707f360, recursion=8, state=0x555556808d50, punit=0x555556966250, pplayer=0x55555866b850) at ../../../src/server/advisors/autosettlers.c:1004 #25 auto_settler_findwork (pplayer=pplayer at entry=0x55555866b850, punit=punit at entry=0x555556966250, --Type <RET> for more, q to quit, c to continue without paging-- state=state at entry=0x555556808d50, recursion=recursion at entry=8) at ../../../src/server/advisors/autosettlers.c:981 #26 0x00005555555d1642 in auto_settler_setup_work (pplayer=pplayer at entry=0x55555866b850, punit=punit at entry=0x555556e723b0, state=state at entry=0x555556808d50, recursion=recursion at entry=7, path=path at entry=0x5555570806c0, best_tile=best_tile at entry=0x555556b2c760, best_act=ACTIVITY_GEN_ROAD, best_target=0x7fffffffce40, completion_time=2) at ../../../src/server/advisors/autosettlers.c:1044 #27 0x00005555555d12a2 in auto_settler_setup_work (completion_time=2, best_target=0x7fffffffce40, best_act=<optimized out>, best_tile=0x555556b2c760, path=0x5555570806c0, recursion=7, state=0x555556808d50, punit=0x555556e723b0, pplayer=0x55555866b850) at ../../../src/server/advisors/autosettlers.c:1004 #28 auto_settler_findwork (pplayer=pplayer at entry=0x55555866b850, punit=punit at entry=0x555556e723b0, state=state at entry=0x555556808d50, recursion=recursion at entry=7) at ../../../src/server/advisors/autosettlers.c:981 #29 0x00005555555d1642 in auto_settler_setup_work (pplayer=pplayer at entry=0x55555866b850, punit=punit at entry=0x5555569676b0, state=state at entry=0x555556808d50, recursion=recursion at entry=6, path=path at entry=0x555556cd4730, best_tile=best_tile at entry=0x555556b29970, best_act=ACTIVITY_IRRIGATE, best_target=0x7fffffffd040, completion_time=17) at ../../../src/server/advisors/autosettlers.c:1044 #30 0x00005555555d12a2 in auto_settler_setup_work (completion_time=17, best_target=0x7fffffffd040, best_act=<optimized out>, best_tile=0x555556b29970, path=0x555556cd4730, recursion=6, state=0x555556808d50, punit=0x5555569676b0, pplayer=0x55555866b850) at ../../../src/server/advisors/autosettlers.c:1004 #31 auto_settler_findwork (pplayer=pplayer at entry=0x55555866b850, punit=punit at entry=0x5555569676b0, state=state at entry=0x555556808d50, recursion=recursion at entry=6) at ../../../src/server/advisors/autosettlers.c:981 #32 0x00005555555d1642 in auto_settler_setup_work (pplayer=pplayer at entry=0x55555866b850, punit=punit at entry=0x555556966930, state=state at entry=0x555556808d50, recursion=recursion at entry=5, path=path at entry=0x555556a49220, best_tile=best_tile at entry=0x555556b28550, best_act=ACTIVITY_GEN_ROAD, best_target=0x7fffffffd240, completion_time=13) at ../../../src/server/advisors/autosettlers.c:1044 #33 0x00005555555d12a2 in auto_settler_setup_work (completion_time=13, best_target=0x7fffffffd240, best_act=<optimized out>, best_tile=0x555556b28550, path=0x555556a49220, recursion=5, state=0x555556808d50, punit=0x555556966930, pplayer=0x55555866b850) at ../../../src/server/advisors/autosettlers.c:1004 #34 auto_settler_findwork (pplayer=pplayer at entry=0x55555866b850, punit=punit at entry=0x555556966930, state=state at entry=0x555556808d50, recursion=recursion at entry=5) at ../../../src/server/advisors/autosettlers.c:981 #35 0x00005555555d1642 in auto_settler_setup_work (pplayer=pplayer at entry=0x55555866b850, punit=punit at entry=0x555556966ca0, state=state at entry=0x555556808d50, recursion=recursion at entry=4, path=path at entry=0x555556a49240, best_tile=best_tile at entry=0x555556b29270, best_act=ACTIVITY_GEN_ROAD, best_target=0x7fffffffd440, completion_time=10) at ../../../src/server/advisors/autosettlers.c:1044 #36 0x00005555555d12a2 in auto_settler_setup_work (completion_time=10, best_target=0x7fffffffd440, best_act=<optimized out>, best_tile=0x555556b29270, path=0x555556a49240, recursion=4, state=0x555556808d50, punit=0x555556966ca0, pplayer=0x55555866b850) at ../../../src/server/advisors/autosettlers.c:1004 #37 auto_settler_findwork (pplayer=pplayer at entry=0x55555866b850, punit=punit at entry=0x555556966ca0, --Type <RET> for more, q to quit, c to continue without paging-- state=state at entry=0x555556808d50, recursion=recursion at entry=4) at ../../../src/server/advisors/autosettlers.c:981 #38 0x00005555555d1642 in auto_settler_setup_work (pplayer=pplayer at entry=0x55555866b850, punit=punit at entry=0x5555569665c0, state=state at entry=0x555556808d50, recursion=recursion at entry=3, path=path at entry=0x555556a49260, best_tile=best_tile at entry=0x555556b2d410, best_act=ACTIVITY_MINE, best_target=0x7fffffffd640, completion_time=8) at ../../../src/server/advisors/autosettlers.c:1044 #39 0x00005555555d12a2 in auto_settler_setup_work (completion_time=8, best_target=0x7fffffffd640, best_act=<optimized out>, best_tile=0x555556b2d410, path=0x555556a49260, recursion=3, state=0x555556808d50, punit=0x5555569665c0, pplayer=0x55555866b850) at ../../../src/server/advisors/autosettlers.c:1004 #40 auto_settler_findwork (pplayer=pplayer at entry=0x55555866b850, punit=punit at entry=0x5555569665c0, state=state at entry=0x555556808d50, recursion=recursion at entry=3) at ../../../src/server/advisors/autosettlers.c:981 #41 0x00005555555d1642 in auto_settler_setup_work (pplayer=pplayer at entry=0x55555866b850, punit=punit at entry=0x555556965ee0, state=state at entry=0x555556808d50, recursion=recursion at entry=2, path=path at entry=0x555556a49280, best_tile=best_tile at entry=0x555556b285c0, best_act=ACTIVITY_IRRIGATE, best_target=0x7fffffffd840, completion_time=4) at ../../../src/server/advisors/autosettlers.c:1044 #42 0x00005555555d12a2 in auto_settler_setup_work (completion_time=4, best_target=0x7fffffffd840, best_act=<optimized out>, best_tile=0x555556b285c0, path=0x555556a49280, recursion=2, state=0x555556808d50, punit=0x555556965ee0, pplayer=0x55555866b850) at ../../../src/server/advisors/autosettlers.c:1004 #43 auto_settler_findwork (pplayer=pplayer at entry=0x55555866b850, punit=punit at entry=0x555556965ee0, state=state at entry=0x555556808d50, recursion=recursion at entry=2) at ../../../src/server/advisors/autosettlers.c:981 #44 0x00005555555d1642 in auto_settler_setup_work (pplayer=pplayer at entry=0x55555866b850, punit=punit at entry=0x555556967360, state=state at entry=0x555556808d50, recursion=recursion at entry=1, path=path at entry=0x555556966560, best_tile=best_tile at entry=0x555556b27210, best_act=ACTIVITY_GEN_ROAD, best_target=0x7fffffffda40, completion_time=15) at ../../../src/server/advisors/autosettlers.c:1044 #45 0x00005555555d12a2 in auto_settler_setup_work (completion_time=15, best_target=0x7fffffffda40, best_act=<optimized out>, best_tile=0x555556b27210, path=0x555556966560, recursion=1, state=0x555556808d50, punit=0x555556967360, pplayer=0x55555866b850) at ../../../src/server/advisors/autosettlers.c:1004 #46 auto_settler_findwork (pplayer=pplayer at entry=0x55555866b850, punit=punit at entry=0x555556967360, state=0x555556808d50, recursion=recursion at entry=1) at ../../../src/server/advisors/autosettlers.c:981 #47 0x00005555555d1642 in auto_settler_setup_work (pplayer=0x55555866b850, punit=0x5555569676b0, state=<optimized out>, recursion=0, path=0x555557080220, best_tile=0x555556b28550, best_act=ACTIVITY_GEN_ROAD, best_target=0x7fffffffdc80, completion_time=14) at ../../../src/server/advisors/autosettlers.c:1044 #48 0x00005555555d2b4e in auto_settler_setup_work (pplayer=pplayer at entry=0x55555866b850, punit=punit at entry=0x5555569676b0, state=state at entry=0x555556808d50, recursion=recursion at entry=0, path=<optimized out>, best_tile=<optimized out>, best_act=ACTIVITY_GEN_ROAD, best_target=0x7fffffffdc80, completion_time=14) at ../../../src/server/advisors/autosettlers.c:1120 --- This is NOT an infinite recursion (two units displacing each other), but relaxing the check allows things to proceed just fine -> would fix this by 1) relaxing the check, and 2) turning assert in to a log message. --------------------------------------------------------------------- Ticket Status: Reporter: alain_bkr Owner: (None) Type: Bugs Status: Open Priority: 5 - Medium MileStone: (None) Component: Server Severity: 5 - Medium Resolution: None --------------------------------------------------------------------- Ticket details: Freeciv version 3.1.0-beta1+ (version bêta) (origin/S3_1 a37fd14dd HEAD afdfd4fbf (+10) ) I found this error in serv.log (run04_clang-15/loop.230507-100844.done/Sz1-Ai002-Lm59-230507_192610.done/serv.log) 1: [T055 - 2023/05/07 19:26:26] in auto_settler_findwork() [../../../server/advisors/autosettlers.c::929]: assertion 'recursion <= unit_list_size(pplayer->units)' failed. 1: [T055 - 2023/05/07 19:26:26] in auto_settler_findwork() [../../../server/advisors/autosettlers.c::929]: Please report this message at https://osdn.net/projects/freeciv/ticket/ -- Ticket information of Freeciv project Freeciv Project is hosted on OSDN Project URL: https://osdn.net/projects/freeciv/ OSDN: https://osdn.net URL for this Ticket: https://osdn.net/projects/freeciv/ticket/47992 RSS feed for this Ticket: https://osdn.net/ticket/ticket_rss.php?group_id=12505&tid=47992