|Anonymous | Login||2020-05-26 21:37 CEST|
|Main | My View | View Issues | Change Log | Wiki | Tavern | News|
|Viewing Issue Simple Details|
|ID||Category||Severity||Reproducibility||Date Submitted||Last Update|
|0002536||[DCSS] Bug Report||major||N/A||2010-09-10 22:33||2015-02-14 22:36|
|Status||closed||Product Branch||0.8 ancient branch|
|Summary||0002536: Saved game locked - unable to continue playing using the locked save|
The issue happened 10.09.10 around 14:00 UTC+2
1. The game response suddenly drastically slowed so I had to reconnect a couple of times.
2. When I reconnected, I succeeded to intercept game session several times; but performance did not improve.
3. After two or three reconnects game stated it's unable to end game gracefully and asked whether I want to force reconnect (sorry, can't recall exact message). I forced reconnect which let me in the game. I also did it couple of times since performance still was sloppy.
=> Now when I try to play my trunk game I get message:
> Starting Dungeon Crawl Stone Soup 96b6ae9...
> Another game is already in progress using this save!
> Hit any key to exit...
I started this game on older build (transferred save today). See backup dump below.
Char "hayenne" in 96b6ae9. Backing up: successful.
- http://crawl.develz.org/saves/dumps/hayenne-96b6ae9-100910-2017.tar.bz2 [^]
|Tags||No tags attached.|
This is an issue with CDO -- or perhaps Crawl's reaction to the way CDO tries to kill it.
Save file locking uses the operating system's locking (flock() on Unix), and if anything happens to the process, its locks all instantly go away. If your save remains locked, this means your old Crawl process is still alive.
By the way, if this can happen, it would explain some weird save corruptions we have seen.
|A bug involved with this was fixed (an infinite loop by the mutation code trying to give robust when you had frail and triple mutation resistance). Also I believe the process was killed, so you should be able to continue playing, assuming the save is ok.|
|That's right, everything is okay now. Thanks!|
The remaining question is why Crawl wasn't killed after SIGHUP.
I've checked the core, it did receive SIGHUP (twice, even). The only code path that changes crawl_state.seen_hups does call alarm(10) immediately after, and we never catch SIGALRM so it should have killed Crawl.
|I experienced something very similar to this yesterday on WebTiles. Deteriorating performance, I disconnected, then when i came back it was rejecting my game saying 'already in progress', the game is still active on https://tiles.crawl.develz.org/#lobby [^] under my name 'gimbal'.|
|Not sure why SIGALRM would be non-fatal, but years later, it doesn't seem to happen anymore; closing.|
|2010-09-10 22:33||hayenne||New Issue|
|2010-09-10 23:01||KiloByte||Note Added: 0008392|
|2010-09-11 20:58||rob||Note Added: 0008425|
|2010-09-12 00:29||hayenne||Note Added: 0008437|
|2010-09-12 16:11||KiloByte||Note Added: 0008482|
|2011-09-06 15:59||gimbal||Note Added: 0014543|
|2012-09-07 12:12||hayenne||Status||new => acknowledged|
|2013-06-16 01:04||KiloByte||Note Added: 0023206|
|2013-06-16 01:04||KiloByte||Status||acknowledged => resolved|
|2013-06-16 01:04||KiloByte||Fixed in Branch||=> 0.13 development branch|
|2013-06-16 01:04||KiloByte||Resolution||open => done|
|2013-06-16 01:04||KiloByte||Assigned To||=> KiloByte|
|2015-02-14 22:36||hayenne||Status||resolved => closed|
|Mantis 1.1.8[^] Copyright © 2000 - 2009 Mantis Group|