チケット #42480

Lost connection to server: decoding error

登録: 2021-06-07 04:23 最終更新: 2021-06-11 16:59

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

詳細

I'm testing 3.0.0-beta2+ (compiled in kubuntu 20.04, up to date)

When I try to start a new game from the client, it sometimes (looks random) get an error from the server, and goes back to the initial menu (welcome screen).

If I try the same again it uses to end working after 2 or 3 attempts. The more players in the game (or the larger the map, I'm not sure), it seems the higher the chances to fail.

It happens with the default ruleset and default options (civ2civ3, hexemplio), and also when I chose another rulesets or tilesets (I have tried classic and civ2civ3_earth).

These are the backtraces In debug mode (I have tested gtk2 and gtk3.22):

3: Uncompressing of the packet stream failed. The connection will be closed now.
1: Lost connection to server: decoding error.
2: Backtrace:
2:     0: ./client/freeciv-gtk3.22(backtrace_print+0x3b) [0x563c48db0e0b]
2:     1: ./client/freeciv-gtk3.22(vdo_log+0xad) [0x563c48db68ed]
2:     2: ./client/freeciv-gtk3.22(do_log+0xb6) [0x563c48db69d6]
2:     3: ./client/freeciv-gtk3.22(+0x735c7) [0x563c48ba35c7]
2:     4: ./client/freeciv-gtk3.22(get_packet_from_connection_raw+0x41d) [0x563c48dde5bd]
2:     5: ./client/freeciv-gtk3.22(input_from_server+0xec) [0x563c48ba3d7c]
2:     6: ./client/freeciv-gtk3.22(+0x67fa4) [0x563c48b97fa4]
2:     7: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x14e) [0x7f2cd022004e]
2:     8: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x52400) [0x7f2cd0220400]
2:     9: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_loop_run+0x83) [0x7f2cd02206f3]
2:    10: /usr/lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_main+0x7d) [0x7f2cd0a3937d]
2:    11: ./client/freeciv-gtk3.22(ui_main+0x18f4) [0x563c48b9a7a4]
2:    12: ./client/freeciv-gtk3.22(client_main+0x3f8) [0x563c48b9d0b8]
2:    13: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7f2ccffde0b3]
2:    14: ./client/freeciv-gtk3.22(_start+0x2e) [0x563c48b976fe]
2: Loading tileset "hexemplio".
1: Lost connection to server: decoding error.
2: Backtrace:
2:     0: ./client/freeciv-gtk2(backtrace_print+0x3b) [0x55ff569a32ab]
2:     1: ./client/freeciv-gtk2(vdo_log+0xad) [0x55ff569a8d8d]
2:     2: ./client/freeciv-gtk2(do_log+0xb6) [0x55ff569a8e76]
2:     3: ./client/freeciv-gtk2(+0x71a37) [0x55ff56795a37]
2:     4: ./client/freeciv-gtk2(get_packet_from_connection_raw+0x41d) [0x55ff569d0a5d]
2:     5: ./client/freeciv-gtk2(input_from_server+0xec) [0x55ff567961ec]
2:     6: ./client/freeciv-gtk2(+0x682c4) [0x55ff5678c2c4]
2:     7: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x14e) [0x7f1e1c57d04e]
2:     8: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x52400) [0x7f1e1c57d400]
2:     9: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_loop_run+0x83) [0x7f1e1c57d6f3]
2:    10: /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0(gtk_main+0xc2) [0x7f1e1c923092]
2:    11: ./client/freeciv-gtk2(ui_main+0x54e) [0x55ff5678d57e]
2:    12: ./client/freeciv-gtk2(client_main+0x3f8) [0x55ff5678f528]
2:    13: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7f1e1c33d0b3]
2:    14: ./client/freeciv-gtk2(_start+0x2e) [0x55ff5678a3be]

Let me know what else could I test to give more useful info.

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

2021-06-07 04:23 更新者: bard
  • 新しいチケット "Lost connection to server: decoding error" が作成されました
2021-06-07 04:29 更新者: bard
コメント

Another trace of the same error with qt client:

1: Lost connection to server: decoding error.
2: Backtrace:
2:     0: ./client/freeciv-qt(backtrace_print+0x3b) [0x5626b35f10cb]
2:     1: ./client/freeciv-qt(vdo_log+0xad) [0x5626b35f6bad]
2:     2: ./client/freeciv-qt(do_log+0xb6) [0x5626b35f6c96]
2:     3: ./client/freeciv-qt(+0xdaf97) [0x5626b335cf97]
2:     4: ./client/freeciv-qt(get_packet_from_connection_raw+0x41d) [0x5626b361e87d]
2:     5: ./client/freeciv-qt(input_from_server+0xec) [0x5626b335d74c]
2:     6: ./client/freeciv-qt(_ZN9fc_client12server_inputEi+0x24) [0x5626b34017d4]
2:     7: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN11QMetaObject8activateEP7QObjectiiPPv+0x928) [0x7ff16f15c458]
2:     8: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN15QSocketNotifier9activatedEiNS_14QPrivateSignalE+0x55) [0x7ff16f168fe5]
2:     9: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN15QSocketNotifier5eventEP6QEvent+0xd1) [0x7ff16f169341]
2:    10: /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent+0x86) [0x7ff16e979a66]
2:    11: /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(_ZN12QApplication6notifyEP7QObjectP6QEvent+0x330) [0x7ff16e9830f0]
2:    12: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent+0x18a) [0x7ff16f13093a]
2:    13: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(+0x2df1c5) [0x7ff16f1891c5]
2:    14: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x27d) [0x7ff16b3e517d]
2:    15: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x52400) [0x7ff16b3e5400]
2:    16: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_iteration+0x33) [0x7ff16b3e54a3]
2:    17: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE+0x65) [0x7ff16f188565]
2:    18: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE+0x12b) [0x7ff16f12f4db]
2:    19: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN16QCoreApplication4execEv+0x96) [0x7ff16f137246]
2:    20: ./client/freeciv-qt(_ZN9fc_client7fc_mainEP12QApplication+0x1b9) [0x5626b3401a89]
2:    21: ./client/freeciv-qt(_Z11qtg_ui_mainiPPc+0x16a) [0x5626b335493a]
2:    22: ./client/freeciv-qt(client_main+0x3f8) [0x5626b3356a88]
2:    23: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7ff16e2d40b3]
2:    24: ./client/freeciv-qt(_start+0x2e) [0x5626b3353a5e]
QSocketNotifier: Invalid socket 20 and type 'Read', disabling...

With more than 50 players is almost a sure crash. With 5 players it uses to work at first attempt.

2021-06-07 04:29 更新者: bard
  • 詳細が更新されました
2021-06-07 04:42 更新者: cazfi
コメント

Reply To bard

With more than 50 players is almost a sure crash.

I cannot reproduce. Or at least none of my 20 attempts with 50 players crashed.

What was your configure command line?

2021-06-07 05:32 更新者: bard
コメント

Reply To cazfi

Reply To bard

With more than 50 players is almost a sure crash.

I cannot reproduce. Or at least none of my 20 attempts with 50 players crashed.

This error happens often to me since I started testing v3.0 (it has happened with 3 different revisions of beta2, the last one from yesterday: commit c8895ae1). I suspected it could be related to my installation, but I have no idea what can it be. I use the same procedure to test S2_6 and had no problems there. I compiled it from clean folder (no old files).

What was your configure command line?

./autogen.sh --enable-client=all --disable-nls --enable-debug

(disable-nls allows me to test it in english, so it is easier to report bugs)

In order to be able to compile freeciv, I needed to install python-is-python3, else python3 was not recognized as installed by configure (I'm not sure if relevant).

Once the game is created, I have been able to play several ai games during 200 or 300 turns without other problems.

(編集済, 2021-06-07 05:56 更新者: bard)
2021-06-07 06:36 更新者: bard
コメント

I was able to start one game with 50 players (the rest default options), and I annotated the random seeds: game random_seed=224501204 map random_seed=1872074484

When I use these 2 custom seeds to start a new game with 50 players there is no crash (5 times in a row). But I did some more tests with unexpected results:

* When I use this custom MAP seed and a random GAME seed, there are crashes as usual (I have never been able to start 5 times in a row without crashes).

My crashes do not seem related to the map seed.

* When I use this custom GAME seed and a random MAP seed there are no crashes (5 times in a row), even when I change the number of players (I tested 49 and 52).

My crashes are related to the game seed, for sure. I have verified that I can not start a game with 50 players and game seed = 1 (the rest default options)... It is a sure crash.

(編集済, 2021-06-07 06:41 更新者: bard)
2021-06-07 06:49 更新者: bard
コメント

I decided to continue my tests with game seed = 1...

It seems a sure crash if players are >= 5. And it loads without problems if players are 2, 3 or 4.

The 5th player seems to cause the crash with this seed = 1.

I guess there is some error in the nation file of this 5th player, but I can't know which one because it crashes to me. If this seed does not crash for you, I'd suggest to check that nation (default options, core nations group, random seed=1, 5th player).

EDIT: I used S2_6 to see that the 5th player in that case uses "Polish" nation (at least, the nations of the other 4 players are the same in 2.6 and 3.0 with those same options).

(編集済, 2021-06-07 07:14 更新者: bard)
2021-06-07 07:40 更新者: bard
コメント

I suspect the configure option --disable-nls might be related. Could it be that the "weird" characters of polish nation leaders (and maybe others) can't be printed in my spanish system when nls (Native Language Support) option is disabled?

EDIT: I confirm it does not crash when I compile without --disable-nls

(編集済, 2021-06-07 09:07 更新者: bard)
2021-06-07 09:10 更新者: bard
コメント

I think the crash was caused by the combination of:

- configure option --disable-nls

- Polish leader named "Bolesław Chrobry"

I'd appreciate some alternative suggestion to play with english texts in a spanish system.

(編集済, 2021-06-07 09:11 更新者: bard)
2021-06-11 16:59 更新者: alain_bkr
コメント

I sometimes have similar problem ( Lost connection to server) while trying to have english menus on a french system and i load a big game from the client, without any server launched before.

I configure with

./configure --enable-gitrev --enable-debug=yes --enable-gprof --enable-client=gtk3.22,qt

Depending on how i launch the client (with no server running) , in a terminal :

LANG=en /usr/local/bin/freeciv-gtk3.22         # this command line often crashes

LANGUAGE=en /usr/local/bin/freeciv-gtk3.22     # this command often works smoothly

I have not tried to launch a server, then a client in a different language.

添付ファイルリスト

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

編集

ログインしていません。ログインしていない状態では、コメントに記載者の記録が残りません。 » ログインする