#623848 eboard: Freezes when logging out of FICS

Package:
eboard
Source:
eboard
Description:
GTK+ chessboard program
Submitter:
Torquil Macdonald Sørensen
Date:
2025-08-13 08:33:01 UTC
Severity:
normal
Tags:
#623848#5
Date:
2011-04-23 16:24:52 UTC
From:
To:
When logging out of FICS by typing "quit" on the eboard console, eboard
freezes. The eboard window becomes unresponsive.

Best regards
Torquil Sørensen

#623848#10
Date:
2012-01-02 18:47:18 UTC
From:
To:
tags 623848 unreproducible
thanks

Hi Torquil,

You reported a bug against eboard a while ago, and I cannot reproduce
it. Could you please try again with the latest eboard version and
confirm the problem ?

Thanks,
Vincent

#623848#17
Date:
2014-01-20 20:33:56 UTC
From:
To:
This freezing crash happens reliably on my system: Start eboard -> Login ->
"quit". It also happens if I play a few games and leave eboard running in
the background until (I assume) it times out or quits by itself.

The crash does _not_ happen if eboard is run with the -log flag, the -debug
flag, or both flags together.

#623848#22
Date:
2014-01-21 03:52:58 UTC
From:
To:
Additional notes after some mass debugging:

1. The freeze does not occur if the user clicks Peer->Disconnect. This
implies it is caused by an "unexpected" disconnection by the remote server.
That is, typing "quit" and timing out both cause the remote server to
disconnect, while the Disconnect menu item causes the local client to
disconnect without error. This leads ma to believe the freeze is related to
the network code not closing properly.

2. The -debug and -log options prevent eboard from freezing because they
use ofstream. If we use the -debug option and comment out the rest of the
code in Global::debug, leaving only

  char z[256];
  time_t now;
  string rm;

  ofstream f(z,ios::app);
  f.close();

then this will prevent the freeze from occurring.

3. Conversely, if we comment out these lines related to ofstream, and use
cout to output the debug information,

cout << " [" << ((int) getpid()) << "] " << rm << endl;

then the freeze will occur while using the -debug option, and thus we can
get debug to output when the freeze occurs.

4. Namely, the freeze occurs in an infinite loop
in MainWindow::readAvailable

#623848#27
Date:
2025-08-13 08:31:45 UTC
From:
To:
eboard was removed, so this will not be fixed.