Ticket #47495

in begin_turn() [srv_main.c::1204]: assertion 'allied_players_can_be_allied != DIPL_ALLIANCE_PROBLEM_THEM' failed.

오픈 날짜: 2023-02-28 20:51 마지막 업데이트: 2023-03-24 02:00

Reporter:
소유자:
(None)
Type:
Status:
Open
Component:
(None)
MileStone:
(None)
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
None
File:
4

Details

Hi

Something went wrong with diplomacy. I played team with Team1 = me + AI_Luxemburg

I got other allies, who allied also with Luxemburg, for very long, all of them were "idolatrous"

Then i declare war to some, but : - Luxemburg removed me shared vision and said it will be my "last mistake"... - My new enemies kept their alliance with Luxemburg (my team)

I guess this is the cause of the message. in begin_turn() [srv_main.c::1204]: assertion 'allied_players_can_be_allied != DIPL_ALLIANCE_PROBLEM_THEM' failed.

Later the game crashed (probably a driver bug, not the game), and when i reloaded it was fixed at startup.

Ticket History (3/12 Histories)

2023-02-28 20:51 Updated by: alain_bkr
  • New Ticket "in begin_turn() [srv_main.c::1204]: assertion 'allied_players_can_be_allied != DIPL_ALLIANCE_PROBLEM_THEM' failed." created
2023-02-28 23:02 Updated by: alain_bkr
댓글 올리기

More precisely : The broken alliance were fixed after loading the saved game.

But the share vision is still broken with my team (Luxemburg propose meeting, give share vision, but do not accept)

I also have this message in console :

in begin_phase() [srv_main.c::1305]: assertion 'really_gives_vision(pplayer, pplayer2)' failed.
Please report this message at https://osdn.net/projects/freeciv/ticket/

I guess it is the same bug, so i write here and not in a new ticket.

2023-03-04 17:56 Updated by: cazfi
댓글 올리기

Version information from the savagame: revision="3.0.6+ (08b638b7f)"

civ2civ3 ruleset

2023-03-04 18:09 Updated by: cazfi
댓글 올리기

Noticed #47521 when trying to load the savegame (it has "tex" enabled)

2023-03-23 20:47 Updated by: alain_bkr
댓글 올리기

3.0.6 , compiled with clang

civ2civ3 ruleset , ai=classic only

I scripted tests with random parameters (ailevel, team, map, size ...) and let them run a few days. I saved everything from start and each turn, so i can provide many saved games if needed.

Here is the count

   1355 1: in begin_phase() [../../server/srv_main.c::1305]: assertion 'allied_players_can_be_allied != DIPL_ALLIANCE_PROBLEM_THEM' failed.
   1354 1: in srv_running() [../../server/srv_main.c::2842]: assertion 'allied_players_can_be_allied != DIPL_ALLIANCE_PROBLEM_THEM' failed.
   1354 1: in begin_turn() [../../server/srv_main.c::1204]: assertion 'allied_players_can_be_allied != DIPL_ALLIANCE_PROBLEM_THEM' failed.

   1250 1: in srv_running() [../../server/srv_main.c::2842]: assertion 'really_gives_vision(pplayer, pplayer2)' failed.
   1250 1: in begin_phase() [../../server/srv_main.c::1305]: assertion 'really_gives_vision(pplayer, pplayer2)' failed.
   1249 1: in begin_turn() [../../server/srv_main.c::1204]: assertion 'really_gives_vision(pplayer, pplayer2)' failed.

    422 1: in srv_running() [../../server/srv_main.c::2842]: assertion 'really_gives_vision(pplayer2, pplayer)' failed.
    422 1: in begin_phase() [../../server/srv_main.c::1305]: assertion 'really_gives_vision(pplayer2, pplayer)' failed.
    421 1: in begin_turn() [../../server/srv_main.c::1204]: assertion 'really_gives_vision(pplayer2, pplayer)' failed.

     55 1: in srv_running() [../../server/srv_main.c::2842]: assertion 'allied_players_can_be_allied != DIPL_ALLIANCE_PROBLEM_US' failed.
     55 1: in begin_phase() [../../server/srv_main.c::1305]: assertion 'allied_players_can_be_allied != DIPL_ALLIANCE_PROBLEM_US' failed.
     54 1: in begin_turn() [../../server/srv_main.c::1204]: assertion 'allied_players_can_be_allied != DIPL_ALLIANCE_PROBLEM_US' failed.

(Edited, 2023-03-23 20:50 Updated by: alain_bkr)
2023-03-23 20:53 Updated by: cazfi
댓글 올리기

Reply To alain_bkr

3.0.6 , compiled with clang civ2civ3 ruleset , ai=classic only I scripted tests with random parameters (ai, team, map, size ...) and let them run a few days. I saved everything from start and each turn, so i can provide many saved games if needed.

It should also be possible to construct reproducible autogame from the savegame data, even if you didn't create one to begin with.

I've been planning to setup a repository with my test setup scripts / nightly builds / etc.

2023-03-24 01:05 Updated by: alain_bkr
댓글 올리기

First analyse : Game was flowing without errors , then 1 error happens during one turn, then depending on the game, it stops quickly, or last at least 1500 turn when i stopped the game.

Then depending on the game, it can stop quickly :

Game saved as fc-20230315-141322.497338318-T0114-Y00260-auto.sav.xz
Game saved as fc-20230315-141322.497338318-T0115-Y00280-auto.sav.xz
1: in begin_phase() [../../server/srv_main.c::1305]: assertion 'allied_players_can_be_allied != DIPL_ALLIANCE_PROBLEM_THEM' failed.
Game saved as fc-20230315-141322.497338318-T0116-Y00300-auto.sav.xz
1: in srv_running() [../../server/srv_main.c::2842]: assertion 'allied_players_can_be_allied != DIPL_ALLIANCE_PROBLEM_THEM' failed.
1: in begin_turn() [../../server/srv_main.c::1204]: assertion 'allied_players_can_be_allied != DIPL_ALLIANCE_PROBLEM_THEM' failed.
1: in begin_phase() [../../server/srv_main.c::1305]: assertion 'allied_players_can_be_allied != DIPL_ALLIANCE_PROBLEM_THEM' failed.
Game saved as fc-20230315-141322.497338318-T0117-Y00320-auto.sav.xz
1: in srv_running() [../../server/srv_main.c::2842]: assertion 'allied_players_can_be_allied != DIPL_ALLIANCE_PROBLEM_THEM' failed.
1: in begin_turn() [../../server/srv_main.c::1204]: assertion 'allied_players_can_be_allied != DIPL_ALLIANCE_PROBLEM_THEM' failed.
1: in begin_phase() [../../server/srv_main.c::1305]: assertion 'allied_players_can_be_allied != DIPL_ALLIANCE_PROBLEM_THEM' failed.
Game saved as fc-20230315-141322.497338318-T0118-Y00340-auto.sav.xz
1: in srv_running() [../../server/srv_main.c::2842]: assertion 'allied_players_can_be_allied != DIPL_ALLIANCE_PROBLEM_THEM' failed.      ###  notice here no srv_main:1305 failure 
1: in begin_turn() [../../server/srv_main.c::1204]: assertion 'allied_players_can_be_allied != DIPL_ALLIANCE_PROBLEM_THEM' failed.
Game saved as fc-20230315-141322.497338318-T0119-Y00360-auto.sav.xz
Game saved as fc-20230315-141322.497338318-T0120-Y00380-auto.sav.xz
Game saved as fc-20230315-141322.497338318-T0121-Y00400-auto.sav.xz

or last till i stop the game 1500 turns later.

Partie sauvegardée sous fc-20230316-171447.823169126-T0485-Y02059-auto.sav.xz
Partie sauvegardée sous fc-20230316-171447.823169126-T0486-Y02060-auto.sav.xz
1: in begin_phase() [../../server/srv_main.c::1305]: assertion 'allied_players_can_be_allied != DIPL_ALLIANCE_PROBLEM_THEM' failed.
Partie sauvegardée sous fc-20230316-171447.823169126-T0487-Y02061-auto.sav.xz
1: in srv_running() [../../server/srv_main.c::2842]: assertion 'allied_players_can_be_allied != DIPL_ALLIANCE_PROBLEM_THEM' failed.
1: in begin_turn() [../../server/srv_main.c::1204]: assertion 'allied_players_can_be_allied != DIPL_ALLIANCE_PROBLEM_THEM' failed.
1: in begin_phase() [../../server/srv_main.c::1305]: assertion 'allied_players_can_be_allied != DIPL_ALLIANCE_PROBLEM_THEM' failed.
Partie sauvegardée sous fc-20230316-171447.823169126-T0488-Y02062-auto.sav.xz
1: in srv_running() [../../server/srv_main.c::2842]: assertion 'allied_players_can_be_allied != DIPL_ALLIANCE_PROBLEM_THEM' failed.
1: in begin_turn() [../../server/srv_main.c::1204]: assertion 'allied_players_can_be_allied != DIPL_ALLIANCE_PROBLEM_THEM' failed.
1: in begin_phase() [../../server/srv_main.c::1305]: assertion 'allied_players_can_be_allied != DIPL_ALLIANCE_PROBLEM_THEM' failed.
Partie sauvegardée sous fc-20230316-171447.823169126-T0489-Y02063-auto.sav.xz
.../...
Partie sauvegardée sous fc-20230316-171447.823169126-T1918-Y03492-auto.sav.xz
1: in srv_running() [../../server/srv_main.c::2842]: assertion 'allied_players_can_be_allied != DIPL_ALLIANCE_PROBLEM_THEM' failed.
1: in begin_turn() [../../server/srv_main.c::1204]: assertion 'allied_players_can_be_allied != DIPL_ALLIANCE_PROBLEM_THEM' failed.
1: in begin_phase() [../../server/srv_main.c::1305]: assertion 'allied_players_can_be_allied != DIPL_ALLIANCE_PROBLEM_THEM' failed.
Partie sauvegardée sous fc-20230316-171447.823169126-T1919-Y03493-auto.sav.xz

I'll check more logs to verify if srv_main:1305 is a good indicator of start/stop of the problem

2023-03-24 02:00 Updated by: alain_bkr
댓글 올리기

My memo : count of ./server/srv_main.c::1305]: assertion 'allied_players_can_be_allied != DIPL_ALLIANCE_PROBLEM_THEM' failed.

Test-20230315-012927.209096063.done 562
Test-20230315-141322.497338318.done 3
Test-20230316-171447.823169126 790  # game interrupted by me

I have only 3 games / 38 currently with theses errors. (let alone WW1 scenario which way too slow)

For the 2 which ended normally i have the same pattern

  • 1 turn with srv_main.c:: 1305
  • several turns (3 or 562 turns) : the 3 errors at lines 2842, 1204, 1305
  • 1 turn without 1305, but the 2 others
  • things get back to normal , no more errors

I think srv_main.c:1305 is a good indicator, but i'll run more tests.

Attachment File List

Edit

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Login