Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Temp DLL files prefixed with ~ when editor is open #690

Closed
levidavidmurray opened this issue Nov 21, 2023 · 1 comment
Closed

Temp DLL files prefixed with ~ when editor is open #690

levidavidmurray opened this issue Nov 21, 2023 · 1 comment
Labels
topic:usage Concerning packaging, loading or settings

Comments

@levidavidmurray
Copy link

levidavidmurray commented Nov 21, 2023

Window 11
Godot v4.2.rc1.official
godot-jolt 0.10.0

I didn't realize that I had initially committed this ~.dll file, and was confused as to why git was reporting a deleted file after closing the editor. I can add it to my .gitignore easily enough, but I'm just wondering if this is expected (or known about) as I haven't been able to find any mention of it.

I first noticed it with this ~.dll~[...].TMP file that was somehow created. I haven't been able to reproduce the .TMP file, but it's worth noting that I was unable to delete it while the editor was open, and it persisted even after closing the editor (regular ~.dll was deleted).

image

This is after deleting the ~.dll file from remote:

Editor Closed

image

Editor Open

image

I suppose it's likely this is something specific to GDExtensions in Godot 4.2.rc1, but I figured I'd start here to see if you're at all aware of this.

✌️

@github-actions github-actions bot added the needs triage Something that needs investigation label Nov 21, 2023
@mihe mihe added topic:usage Concerning packaging, loading or settings and removed needs triage Something that needs investigation labels Nov 21, 2023
@mihe
Copy link
Contributor

mihe commented Nov 21, 2023

I suppose it's likely this is something specific to GDExtensions in Godot 4.2.rc1

Indeed. This is to facilitate hot-reloading of extension DLLs on Windows, as seen in godotengine/godot#80188 and godotengine/godot#80284, where Godot needs to first copy any extension DLLs to a temporary file and then load that file instead, due to Windows locking any files that are currently open/loaded, which prevents them from being overwritten.

I'm not entirely sure where the *.TMP file comes from, but I would wager that it likely comes from Godot's "Safe Save on Backup then Rename" editor setting, which you'll find under "Editor Settings / FileSystem / On Save", which causes Godot to always write (or in this copy) to a temporary file first before moving that to its final destination.

and it persisted even after closing the editor

You should ideally report this to godotengine/godot, as failure to remove these temporary files is a bug.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic:usage Concerning packaging, loading or settings
Projects
None yet
Development

No branches or pull requests

2 participants