チケット #43462

server.needs_arrange sanity checks are eating up gigabytes in the log files

登録: 2021-12-22 17:14 最終更新: 2023-09-06 23:00

報告者:
担当者:
チケットの種類:
状況:
完了
コンポーネント:
マイルストーン:
(未割り当て)
優先度:
5 - 中
重要度:
5 - 中
解決法:
不正
ファイル:
なし

詳細

1: in city_increase_size() [../../freeciv/server/cityturn.c::1126]: assertion 'pcity->server.needs_arrange == CNA_NOT' failed. 1: in city_increase_size() [../../freeciv/server/cityturn.c::1126]: ( 59, 7) in "Bergomum"6 1: in city_increase_size() [../../freeciv/server/cityturn.c::1126]: Please report this message at https://www.hostedredmine.com/projects/freeciv

1: in city_reduce_size() [../../freeciv/server/cityturn.c::967]: assertion 'pcity->server.needs_arrange == CNA_NOT' failed. 1: in city_reduce_size() [../../freeciv/server/cityturn.c::967]: ( 5, 12) in "Sirmium"6 1: in city_reduce_size() [../../freeciv/server/cityturn.c::967]: Please report this message at https://www.hostedredmine.com/projects/freeciv

city_increase_size() and city_reduce_size() in cityturn.c are lines 1126 and lines 967.

These are the two places that CONSTANTLY trigger it. Note this was after trying to patch... "Wait until city is in sane state before sending info packets" 9cf91898a7fb1a1f048539ee15791d41d56070f3 ...to hopefully fix it, but it didn't fix it.

チケットの履歴 (7 件中 3 件表示)

2021-12-22 17:14 更新者: lexxie9952
  • 新しいチケット "server.needs_arrange sanity checks are eating up gigabytes in the log files" が作成されました
2021-12-22 17:35 更新者: cazfi
コメント

Reply To lexxie9952

These are the two places that CONSTANTLY trigger it.

Sounds like FCW specific issue as I've not seen the assert to fail once (I always run tests with '-F', so should know).

2021-12-23 04:28 更新者: None
コメント

Reply To cazfi

Reply To lexxie9952

These are the two places that CONSTANTLY trigger it.

Sounds like FCW specific issue as I've not seen the assert to fail once (I always run tests with '-F', so should know).

Interesting. I believe we've been getting this ever since we first took the code back around February 2019, before any custom modifications. And we're caught up now to some certain point beyond that and still getting it. As far as I know, most games still function and run properly, but it's a bit uncomfortable to know something might be "insane" in the failed sanity check.

2021-12-23 04:44 更新者: cazfi
コメント

Reply To (Anonymous)

Reply To cazfi

Reply To lexxie9952

These are the two places that CONSTANTLY trigger it.

Sounds like FCW specific issue as I've not seen the assert to fail once (I always run tests with '-F', so should know).

Interesting. I believe we've been getting this ever since we first took the code back around February 2019, before any custom modifications.

Well, I weren't talking about freeciv/freeciv-web server, but the most freeciv/freeciv one. Freeciv-web has always used modified server (and that's what you took)

2021-12-23 05:23 更新者: cazfi
コメント

One of these two places has a FCW modification making earlier city_refresh() call conditional, which probably explains why the city is not set to sane state by such a call. The other is not as obvious by reading the code - would require actual debugging.

2022-01-05 19:18 更新者: lexxie9952
コメント

I've tortured my brain for over a week on this one. Here is what I (think I) know so far

FCW like other live servers, has switched to WYSIWYG production sequence; as a forced necessity after discovery of how the CMA can exploit the output sequence and absolutely ludicrously ridiculous levels. (Like 300%, it breaks the game.)

We implemented a version similar to what https://www.hostedredmine.com/issues/771900 does, in order to do this. A big difference is our server makes WYSIWYG an optional game server setting so has some conditional processing in it.

The city sanity check stuff is probably written to work correctly on the legacy output sequence, and is tripping city sanity issues when using WYSIWYG output.

This means the ec_info log and other error logs get absolutely with verbose sanity checks. Enough to cause the save game to crash during the phase where it saves all the ec_info stuff.

This causes repeated segfaults and game restarts.

For now FCW has no other choice but the very disagreeable one, to disable lots of the city sanity check logs and stuff.

I really hope I can get some help and better understanding into all this CNA_NOT, CNA_NORMAL, and what's the higher meta-logic to it all, so I could maybe understand how to fix this for any server using WYSIWYG, because, WYSIWYG is the future and should surely be on the TO DO list to support it for 3.2 server.

Cheers

2023-09-06 23:00 更新者: cazfi
  • 状況オープン から 完了 に更新されました
  • 担当者(未割り当て) から cazfi に更新されました
  • 解決法なし から 不正 に更新されました
  • コンポーネント(未割り当て) から Freeciv-web に更新されました

添付ファイルリスト

添付ファイルはありません

編集

このチケットにコメントを追加するには、ログインが必要です » ログインする