Opened 8 years ago

Closed 6 years ago

#4048 closed defect (worksforme)

Hangs if HDD turns off

Reported by: Marco Owned by:
Priority: Nice to Have Milestone:
Component: Network Keywords:
Cc: Patch:

Description (last modified by elexis)

On my PC the HDD turns after time during the game off. If there is data needed and not in the ram the HDD starts. This takes time and the game does not response for a few seconds till the HDD is ready. On a multiplayer game the connection brakes from this PC at this moment. If this PC makes Server the client loose connection.

Build 17960

Attachments (1)

logs.zip (1.0 MB ) - added by Marco 8 years ago.
interestingloh, mainlog, system_info

Download all attachments as: .zip

Change History (3)

by Marco, 8 years ago

Attachment: logs.zip added

interestingloh, mainlog, system_info

comment:1 by elexis, 8 years ago

Trac was broken today, that's why it took so long and thats why we got 4 tickets instead of 1 ;)

Since you use alpha 20, the problem that the game ends for the host after a local freeze should be fixed already (#2854).

It could still be that the clients become disconnected, which means that the server thread is also locked when the main thread is locked by the pending I/O.

The hanging of the application can't be fixed as the app waits for some file to be read which isn't accessible yet. However it might be possible to continue the hosting while the main thread is waiting.

One would have to find a way to reproduce the freeze reliably (like sending a signal to let it go into standby mode) and then find out which part of the server code is hanging.

Last edited 8 years ago by elexis (previous) (diff)

comment:2 by elexis, 6 years ago

Description: modified (diff)
Milestone: Backlog
Resolution: worksforme
Status: newclosed

It's hard to do something about this, because the standby freeze is indistinguishable from the death of the program for the time being and it is also not determinable how long such a freeze would take. So incrasing the timeout tolerance isn't possible either. While it's not bad to add a config value for the tolerance, the other clients would have to set it too. So not sure that we can do anything.

The hosts client never disconnects upon HDD standby, so the game can continue after the other clients rejoined.

(Keeping the HDD spinning seems wrong too.)

Note: See TracTickets for help on using tickets.