[0.13.x] NTFS junctions and saving

This subforum contains all the issues which we already resolved.
Thalyn
Burner Inserter
Burner Inserter
Posts: 5
Joined: Tue Jul 12, 2016 1:28 pm
Contact:

[0.13.x] NTFS junctions and saving

Post by Thalyn »

Unfortunately I'm unable to search (every time I go to page 2 it tells me I cannot search for a few minutes) so I cannot tell if this is an already-reported issue or not...

Essentially, Factorio does not like NTFS junctions. At all. If your save folder is within a junction location and you attempt to save than it will either hang the client immediately upon clicking the "Save" button or immediately upon completing the save (which, fortunately, completes without issue). Since it has hung the log file does not correctly update to reflect that an issue has occurred (though I will attach it anyway) Once it has hung in this manner the only way to close the client is to forcibly kill the task - no other method that I have tried has worked.

For example, I have Factorio installed to the actual location "G:\Games\Factorio". This is then mapped via a Directory Junction to "C:\Games\Factorio" (more specifically, "C:\Games" is a junction to "G:\Games"), since C is an SSD that's getting close to full (and Factorio doesn't really benefit from being on an SSD anyway). I have the client configured to store save games et-al in the install directory. If I run the game from "C:\Games\Factorio" than I experience the above save issue. Running it from "G:\Games\Factorio" works perfectly. Running via a shortcut will produce the issue only if the "Start in" directory is the junction.

Loading and actually playing the game appear to be unaffected, as do auto-saves. It's only when you attempt to manually save that an issue is encountered, and I have so far been able to reproduce this issue with every release of 0.13 (I haven't tried earlier).

PS A light-ish grey cursor on a medium grey background makes it very, very hard to see when attempting to navigate your edit box on these forums.
Attachments
factorio-current.log
(1.9 KiB) Downloaded 118 times
fregate84
Fast Inserter
Fast Inserter
Posts: 235
Joined: Sun Jun 22, 2014 10:56 am
Contact:

Re: [0.13.x] NTFS junctions and saving

Post by fregate84 »

To help dev, I have install factorio on 'normal' folder', but the 'save' and 'mod' folder are NTFS junctions (go to game folder). And I didn't have any issues.
Thalyn
Burner Inserter
Burner Inserter
Posts: 5
Joined: Tue Jul 12, 2016 1:28 pm
Contact:

Re: [0.13.x] NTFS junctions and saving

Post by Thalyn »

Indeed. I should have tested that specifically. I just now tried renaming the saves folder to "save", created a junction to "saves" and it was quite happy using it.

However, when moving the "saves" folder to a different drive entirely and linking to it, the hang occurred once more. It seems that it may only be junctions that cross drives which cause the issue.
posila
Factorio Staff
Factorio Staff
Posts: 5438
Joined: Thu Jun 11, 2015 1:35 pm
Contact:

Re: [0.13.x] NTFS junctions and saving

Post by posila »

Frankly, I wasn't able to reproduce this. I created 4 nested junctions going back and forth between SSD and HDD (ending up on HDD, while the game was running on SSD), and the game still didn't crash for me.
That said, we use boost::filesystem for working with files, and I found out the Windows implementation of this library is not very good when it comes to junctions. We switched to std::filesystem for Windows build in 0.13.14, so this issue should be hopefully fixed by this change.

Thanks for the reports and let us know if it still happens in 0.13.14 or if new issues with filesystem arise.
Thalyn
Burner Inserter
Burner Inserter
Posts: 5
Joined: Tue Jul 12, 2016 1:28 pm
Contact:

Re: [0.13.x] NTFS junctions and saving

Post by Thalyn »

I've only had a small chance to test, but so far it appears to be successful. Launching from the actual location (G drive) worked fine (as expected), and launching from the link location (C drive) also worked. Toyed around with it for a dozen or so saves (making sure the data would be different each time) and it never gave a hint of trouble.

Cheers for the fix.
posila
Factorio Staff
Factorio Staff
Posts: 5438
Joined: Thu Jun 11, 2015 1:35 pm
Contact:

Re: [0.13.x] NTFS junctions and saving

Post by posila »

That is good news, thanks for letting us know.
Post Reply

Return to “Resolved Problems and Bugs”