チケット #42471

Don't try to write log messages to the TCP listener file descriptor

登録: 2021-06-05 07:43 最終更新: 2022-02-19 18:55

報告者:
(del#120837)
担当者:
チケットの種類:
状況:
完了
コンポーネント:
マイルストーン:
優先度:
5 - 中
重要度:
5 - 中
解決法:
修正済み
ファイル:
1

詳細

When starting a new game from the main menu the client spawns an instance of freeciv-server. When no --log argument was specified for the client the logfile variable is NULL and client_start_server ends up closing stdout and stderr without opening any file to replace them. The next file descriptor that is allocated happens to belong to the TCP listener. lsof for the server process:

freeciv-s 824527 gunnar 0r CHR 1,3 0t0 4 /dev/null

freeciv-s 824527 gunnar 1u IPv6 1362042 0t0 TCP [::1]:farenet (LISTEN)

freeciv-s 824527 gunnar 2u IPv4 1362043 0t0 TCP 127.0.0.1:farenet (LISTEN)

freeciv-s 824527 gunnar 3u IPv6 1341307 0t0 TCP [::1]:farenet->[::1]:54822 (ESTABLISHED)

This results in further log messages to be written to the TCP listener file descriptor.

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

2021-06-05 07:43 更新者: (del#120837)
  • 新しいチケット "Don't try to write log messages to the TCP listener file descriptor" が作成されました
2021-06-05 07:45 更新者: (del#120837)
  • 詳細が更新されました
2021-06-05 07:47 更新者: (del#120837)
  • チケットの種類バグ から パッチ に更新されました
2021-06-16 13:56 更新者: cazfi
コメント

Isn't the FIXME comment about port related to command line parameters and not the logfile? Moving it inside the "if (logfile)" block makes no sense then.

2022-02-07 16:27 更新者: cazfi
  • マイルストーン(未割り当て) から 3.0.1 (完了済み) に更新されました
  • コンポーネント(未割り当て) から Client common に更新されました
2022-02-13 22:51 更新者: cazfi
  • 担当者(未割り当て) から cazfi に更新されました
  • 解決法なし から 受領 に更新されました
コメント

Reply To cazfi

Isn't the FIXME comment about port related to command line parameters and not the logfile? Moving it inside the "if (logfile)" block makes no sense then.

Looking closer, it does make sense. No need to change the patch.

2022-02-19 16:38 更新者: cazfi
  • 状況オープン から 完了 に更新されました
  • 解決法受領 から 修正済み に更新されました
2022-02-19 16:58 更新者: cazfi
コメント

Occurred to me a bit late, but opening "/dev/null" might not work too well on Windows. Checking situation...

2022-02-19 18:55 更新者: cazfi
コメント

Reply To cazfi

Occurred to me a bit late, but opening "/dev/null" might not work too well on Windows. Checking situation...

Ok, that particular code block is not used in Windows, at least as long as msys2 or cygwin implements fork() that is good enough for freeciv's configure check.

編集

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