Project

General

Profile

Bug #1802

[Hexen] Saving error - "already exists"

Added by JGondek almost 10 years ago. Updated almost 10 years ago.

Status:
Closed
Priority:
High
Assignee:
Category:
Regression
Target version:
Start date:
2014-05-12
% Done:

100%


Description

Doomsday version 1.14.2

Steps to reproduce:
1. Load a random level (tested on Hypostyle and Bright Crucible)
2. Save the game using quicksave (F6) multiple times
3. After a few successful saves, the consecutive ones fail with an error:

Error saving game session to ’/home/savegames/
hexen/hexl.save':
[AlreadyExistsError] (ArchiveFeed::newFiie) Info:
already exists

Sometimes doing some action (e.g. shooting a weapon) helps in reproducing the bug.
Happens with saves imported from previous saving system (from version 1.13.2).

Cleaning savegames folder and reimporting the saves doesn't work.

hex1.save (130 KB) hex1.save Save file imported from the previous save system JGondek, 2014-05-12 12:03

Associated revisions

Revision 6e8c9f24 (diff)
Added by skyjake almost 10 years ago

Fixed|libcore|libcommon: File already exists when trying to save game

Two issues were fixed:

- ArchiveFeed would abort a repopulation prematurely due to a
"return" in place of "continue".

- ArchiveEntryFile wasn't making sure that the File's modification
timestamp matched the archive entry timestamp. This lead to an
unnecessary prune (but the file wasn't recreated due to the above
issue).

Also removed an unnecessary populate() call in libcommon's GameSession.

IssueID #1802

Revision 9fc0e5b7 (diff)
Added by skyjake almost 10 years ago

Fixed|libcore|libcommon: File already exists when trying to save game

Two issues were fixed:

- ArchiveFeed would abort a repopulation prematurely due to a
"return" in place of "continue".

- ArchiveEntryFile wasn't making sure that the File's modification
timestamp matched the archive entry timestamp. This lead to an
unnecessary prune (but the file wasn't recreated due to the above
issue).

Also removed an unnecessary populate() call in libcommon's GameSession.

IssueID #1802

History

#1 Updated by skyjake almost 10 years ago

Are you using Windows? If so, which version?

#2 Updated by danij almost 10 years ago

  • Status changed from New to In Progress
  • Assignee set to danij

#3 Updated by danij almost 10 years ago

The "hexl.save" name suggests this is a quick save slot binding issue.

Edit: I couldn't find any problems with the 'quick' mnemonic binding, however I did spot an unrelated issue, in that "game-save-last-slot" was not being updated correctly (fix committed).

#4 Updated by danij almost 10 years ago

  • Assignee deleted (danij)

#5 Updated by skyjake almost 10 years ago

I'll check on Windows if I can reproduce any file access issues in the case where replaceFile is called repeatedly. Perhaps the native file system goes out of sync with FS2 for some reason.

#6 Updated by JGondek almost 10 years ago

I'm using Windows 8.1.
Considering the stable builds the issue is present only in the latest one (1.14.2).
The quicksave works properly for the first few times, then is breaks and the savefile "hex1.save" stays the same despite quicksaving. Now, after I restarted Windows it took longer than usual to reproduce the bug, but it still exists when I keep pressing "F6 y" repeatedly.

I'm attaching the "hex1.save" file.

#7 Updated by skyjake almost 10 years ago

  • Tags set to Hexen, SaveGame, FileSystem, Windows
  • Assignee set to skyjake
  • Target version set to 1.14.3

#8 Updated by skyjake almost 10 years ago

I can reproduce this on Windows with Hexen. I'll investigate what is going on.

The internal.save seems to be written successfully, however when the actual save is being written, ArchiveFeed encounters unexpected files. Perhaps replaceFile() is having a problem inside PackageFolder.

#9 Updated by skyjake almost 10 years ago

  • Status changed from In Progress to Resolved
  • % Done changed from 0 to 100

#10 Updated by skyjake almost 10 years ago

  • Status changed from Resolved to Closed

Cherry picked to stable-1.14.

Also available in: Atom PDF