-
Notifications
You must be signed in to change notification settings - Fork 39
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
JES doesn't have proper access to the file system on MacOS Catalina #133
Comments
If you have an alternative solution, I’d love to know it. We couldn’t figure one out even after consulting with engineers at Apple.
…Sent from my iPhone
On Aug 11, 2020, at 4:11 PM, Nic McPhee ***@***.***> wrote:
I've just installed JES 6.0 on a MacOS Catalina box. After installing JDK 8 and disabling OpenJDK 14 😒 💔 😒 , JES starts up OK and appears to work.
It fails, however, to display any files in directories such as "Downloads" or "Documents" – I just get a blank file box like there's nothing there (& there are dozens of files and folders there):
Some folders (like "Dropbox") work, so I think this is a problem where MacOS is "protecting" certain "special" folders like "Downloads" and "Documents". With other applications, MacOS asks "Do you want to give this program permission to access ?", but no such question comes up with JES, perhaps because some error or exception is being swallowed or otherwise ignored?
Looking in the Console there are errors like:
Sandbox: java(87457) System Policy: deny(1) file-read-data /Users/mcphee/Downloads
which support the idea that the OS is blocking these accesses.
Weirdly, if I start it from the command line (./jes.sh) the problem doesn't exist and it can find things in "Downloads" and "Documents". This makes me wonder if the suggestion to "simply disable" new versions of Java actually doesn't completely work. That's a pretty icky workaround for beginning students, especially in a course that's supposed to be friendly for non-computer-nerds. 😢 (& looking at the console, it appears that the same version of Java from the same place is being started whether I double-click the snake or run it from the command line. Not at all clear what the difference might be.)
I tried giving the Java 8 java full disk access, but that didn't fix/change anything, which seems odd.
This sounds like it's perhaps related to #128.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
This Apple Developer Forum thread suggests that it's something about the way you bundle the app. You're definitely using It looks like you use a script as your main executable, which this thread says "is not a good idea in general, and … can cause exactly this problem", so that seems a likely culprit. That might also explain why running JES from the CLI doesn't have this access problem, although I'm not really sure why that would be. Maybe if I run it from the CLI it runs as a different user and ends up with different privileges? |
I completely concur on what the problem is. We just couldn't figure out a
fix. If you do figure out something, I'd love to use it and release a 6.01
for Macs. I'm actively trying to figure out what comes next post-JES to
support Media Computation teachers and students.
- Mark
…------
Mark Guzdial, mjguz@umich.edu
- Professor of Electrical Engineering and Computer Science, and
Engineering Education Research, College of Engineering and
Professor of Information, School of Information (courtesy)
- Blog: http://computinged.wordpress.com
On Wed, Aug 12, 2020 at 10:28 AM Nic McPhee ***@***.***> wrote:
This Apple Developer Forum thread
<https://developer.apple.com/forums/thread/132986> suggests that it's
something about the way you bundle the app. You're definitely using
JFileChooser like that poster is, so the situation sounds pretty similar.
It looks like you use a script as your main executable, which this thread
says
<https://developer.apple.com/forums/thread/132986?answerId=420076022#420076022>
"is not a good idea in general, and … can cause exactly this problem", so
that seems a likely culprit.
That might also explain why running JES from the CLI doesn't have this
access problem, although I'm not really sure why that would be. Maybe if I
run it from the CLI it runs as a different user and ends up with different
privileges?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#133 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABBN7JQO44OXUNVHELFUM4TSAKRJXANCNFSM4P3PTXEQ>
.
|
I've never gotten into modern MacOS app bundling, so I've just stepped off the edge of the map. There must be people doing this, though, as there are definitely plenty of other apps written in Java. Isn't, for example, Minecraft a Java project? |
Has there been a solution to this? I have to download JES 5.02 on my macOS Catalina for my CS Class but it isn't letting me. Please help |
To start JES 6.0 on MacOS Catalina, you must open jes.sh. JES 6.0 will
work on MacOS Catalina -- see instructions here:
https://github.com/gatech-csl/jes/releases/tag/6.0. Nic was asking if we
could provide a nice way, double-clicking on a .app file. I've not found a
way of doing that, and am currently not working on it.
I don't know how to get JES 5.02 to work on MacOS Catalina. There was a
beta version that you can try from here:
https://computinged.wordpress.com/2019/07/22/beta-release-of-new-jes-jython-environment-for-students-now-available-media-computation-for-python-ide/
- Mark
…------
Mark Guzdial, mjguz@umich.edu
- Professor of Electrical Engineering and Computer Science, and
Engineering Education Research, College of Engineering and
Professor of Information, School of Information (courtesy)
- Blog: http://computinged.wordpress.com
On Tue, Aug 18, 2020 at 12:16 AM Rasspyy ***@***.***> wrote:
Has there been a solution to this? I have to download JES 5.02 on my macOS
Catalina for my CS Class but it isn't letting me. Please help
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#133 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABBN7JWK2RHEU2O33KJJUKTSBH6DPANCNFSM4P3PTXEQ>
.
|
I've just installed JES 6.0 on a MacOS Catalina box. After installing JDK 8 and disabling OpenJDK 14 😒 💔 😒 , JES starts up OK and appears to work.
It fails, however, to display any files in directories such as "Downloads" or "Documents" – I just get a blank file box like there's nothing there (& there are dozens of files and folders there):
Some folders (like "Dropbox") work, so I think this is a problem where MacOS is "protecting" certain "special" folders like "Downloads" and "Documents". With other applications, MacOS asks "Do you want to give this program permission to access ?", but no such question comes up with JES, perhaps because some error or exception is being swallowed or otherwise ignored?
Looking in the Console there are errors like:
which support the idea that the OS is blocking these accesses.
Weirdly, if I start it from the command line (
./jes.sh
) the problem doesn't exist and it can find things in "Downloads" and "Documents". This makes me wonder if the suggestion to "simply disable" new versions of Java actually doesn't completely work. That's a pretty icky workaround for beginning students, especially in a course that's supposed to be friendly for non-computer-nerds. 😢 (& looking at the console, it appears that the same version of Java from the same place is being started whether I double-click the snake or run it from the command line. Not at all clear what the difference might be.)I tried giving the Java 8
java
full disk access, but that didn't fix/change anything, which seems odd.This sounds like it's perhaps related to #128.
The text was updated successfully, but these errors were encountered: