PDA

View Full Version : [Bug] Updater macOS version reported exception (initial crash)



Cryophobia
December 10th, 2019, 18:39
Hi guys,

The updater crashed for me on an initial update, however, a 2nd run completed with a reported exception.

I'm not sure where to grab FG component version numbers from.

I'm running macOS 10.15.1

Here is the exception report:



e: SaveFile - System.UnauthorizedAccessException: Access to the path '/Applications/SmiteWorks/Fantasy Grounds/FantasyGrounds.app/Contents/Resources/MainMenu.nib' is denied.
at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.Boolean anonymous, System.IO.FileOptions options) [0x000e0] in <567df3e0919241ba98db88bec4c6696f>:0
at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize) [0x00000] in <567df3e0919241ba98db88bec4c6696f>:0
at (wrapper remoting-invoke-with-check) System.IO.FileStream..ctor(string,System.IO.FileMo de,System.IO.FileAccess,System.IO.FileShare,int)
at System.IO.File.Create (System.String path, System.Int32 bufferSize) [0x00000] in <567df3e0919241ba98db88bec4c6696f>:0
at System.IO.File.Create (System.String path) [0x00000] in <567df3e0919241ba98db88bec4c6696f>:0
at FileManager.SaveStreamToFile (System.IO.Stream str, System.String sFile, Ionic.Zip.ZipFile zf, System.Collections.Generic.List`1[T] fileStreams, System.String sProduct) [0x00037] in <b8955991e4b346dab1c9d80d88c651ee>:0
HandleFile: Unable to save file (FantasyGrounds.app/Contents/Resources/MainMenu.nib)
e: SaveFile - System.UnauthorizedAccessException: Access to the path '/Applications/SmiteWorks/Fantasy Grounds/FantasyGrounds.app/Contents/Resources/ScreenSelector.nib' is denied.
at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.Boolean anonymous, System.IO.FileOptions options) [0x000e0] in <567df3e0919241ba98db88bec4c6696f>:0
at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize) [0x00000] in <567df3e0919241ba98db88bec4c6696f>:0
at (wrapper remoting-invoke-with-check) System.IO.FileStream..ctor(string,System.IO.FileMo de,System.IO.FileAccess,System.IO.FileShare,int)
at System.IO.File.Create (System.String path, System.Int32 bufferSize) [0x00000] in <567df3e0919241ba98db88bec4c6696f>:0
at System.IO.File.Create (System.String path) [0x00000] in <567df3e0919241ba98db88bec4c6696f>:0
at FileManager.SaveStreamToFile (System.IO.Stream str, System.String sFile, Ionic.Zip.ZipFile zf, System.Collections.Generic.List`1[T] fileStreams, System.String sProduct) [0x00037] in <b8955991e4b346dab1c9d80d88c651ee>:0
HandleFile: Unable to save file (FantasyGrounds.app/Contents/Resources/ScreenSelector.nib)
e: SaveFile - System.UnauthorizedAccessException: Access to the path '/Applications/SmiteWorks/Fantasy Grounds/FantasyGrounds.app/Contents/Resources/KeyConfig.nib' is denied.
at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.Boolean anonymous, System.IO.FileOptions options) [0x000e0] in <567df3e0919241ba98db88bec4c6696f>:0
at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize) [0x00000] in <567df3e0919241ba98db88bec4c6696f>:0
at (wrapper remoting-invoke-with-check) System.IO.FileStream..ctor(string,System.IO.FileMo de,System.IO.FileAccess,System.IO.FileShare,int)
at System.IO.File.Create (System.String path, System.Int32 bufferSize) [0x00000] in <567df3e0919241ba98db88bec4c6696f>:0
at System.IO.File.Create (System.String path) [0x00000] in <567df3e0919241ba98db88bec4c6696f>:0
at FileManager.SaveStreamToFile (System.IO.Stream str, System.String sFile, Ionic.Zip.ZipFile zf, System.Collections.Generic.List`1[T] fileStreams, System.String sProduct) [0x00037] in <b8955991e4b346dab1c9d80d88c651ee>:0
HandleFile: Unable to save file (FantasyGrounds.app/Contents/Resources/KeyConfig.nib)
UnzipProduct-FantasyGrounds: 5,337724
FantasyGrounds Update Complete
i: /Users/chris/SmiteWorks/Fantasy Grounds/vault/FantasyGrounds.dat
Found FantasyGrounds, modifying app permissions.
chmod -R 700 "/Applications/SmiteWorks/Fantasy Grounds/FantasyGrounds.app"

Moon Wizard
December 10th, 2019, 22:15
Thanks for reporting. I've filed as FGU-808.

Regards,
JPG

redeyesofnight
December 12th, 2019, 17:36
Hey there!

So, I've been investigating this error and it's related to an update we made on Monday.
We upgraded our Unity version and some build files were added, including MainMenu.nib

What seems to be happening here is that we don't have write permissions to the application folder, so the new file can't be added.

One step in the updater process is to modify the folder permissions so the application is executeable, but I believe I've got the wrong permissions in the code so it is execute only.

Would you (if you are comfortable with this) please try opening a terminal and executing the command below:

sudo chmod -R 777 "/Applications/SmiteWorks/Fantasy Grounds/FantasyGrounds.app/"

(if you are unfamiliar with the teminal, you will be prompted with a password at this point)

I believe this will allow you to update properly, and I am going to include it in the next updater build (especially if I receive report that this helps your issue)

Thanks!
--Ryan--

Cryophobia
December 12th, 2019, 20:57
Hi Ryan,

As mentioned in another thread, the above does not work. I've noticed the update runs chmod 700 after the file extract copy fails, I do not believe this is the issue. As which user does the updater extract files?

I can get the update to succeed when I delete the three files that need replacing manually.

However, the updater fails on the following update.

Cryophobia
December 13th, 2019, 07:52
Hi Ryan,

I've had success removing the FG app at /Applications/SmiteWorks/Fantasy Grounds/FantasyGrounds.app and reinstalling it. Since all downloaded and custom data resides in my personal home folder this seemed to be a safe route to take. The Updater passed updating all files following this route. I'll keep an eye on the issue. It could just be the there is no update to the app itself and only rulest/module data updates and this is a false positive at this stage.

If you want to reach out via email for specific info or additional tests, please feel free to email me via my form details.

Chris

redeyesofnight
December 13th, 2019, 20:08
As you said Cryo, this is related to the folder permissions being set by the updater.
I'll be pushing out a new update soon that should fix this for everyone else as well.