Reading mappings from temporary directory fails under certain circumstances.
Vaelzan opened this issue ยท 1 comments
Tested with rhino-fabric-1802.1.14-build.182.jar
.
This was reported on Discord a while back, but it looks like the changes for Rhino build 182 caused a regression when checking if the temporary mappings file can be read - Max's recent commit removed the isReadable + isWritable check for the mappings file, instead changing it to check if the temporary directory itself is set to writable (which now doesn't guarantee that the file is either readable nor writable).
Unfortunately, this means that the mappings file can't always be read - if the file (/tmp/rhino_fabric_intermediary_remapped_1.18.2_v1_server.txt
in the case I'm looking into) is created by user A and set to R/W by owner only, and user B then tries to read the file, loading the mappings will fail with a java.nio.file.AccessDeniedException
in the log.
Some references:
Latest.log from an impacted server: https://gist.github.com/Vaelzan/e196ed9503bd6b2eb1975d7dbe0eabec#file-gistfile1-txt-L338
Original thread on Discord: https://discord.com/channels/303440391124942858/983052433653641216
Lat's original attempted fix: 598e8b1
Max's more recent commit (fixes one issue but removes Lat's check): 932a422
iirc c569ace fixed this, however I've just pushed another commit to hopefully safeguard against these old, broken mappings as well ^^