-
Notifications
You must be signed in to change notification settings - Fork 240
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
Processing will not start for second user (or more) on a multiuser classroom computer. #549
Comments
Hm, that's unfortunate that the default tmp folder used by Java on Ubuntu seems to be something global rather than per-user. Will look into a fix for 4.0.2. |
In the meantime, you could probably also edit the
so the last line of that script would read:
|
Thank you. Your recommendations for the addition of the tmpdir directive to
the processing script has taken care of an individual locking out other
users. We have tested it and the students are using it with no problem.
…On Fri, Sep 23, 2022 at 3:26 PM Ben Fry ***@***.***> wrote:
In the meantime, you could probably also edit the processing shell script
to add something like:
-Djava.io.tmpdir=/tmp/$USER
so the last line of that script would read:
java -Djava.io.tmpdir=/tmp/$USER -Djna.nosys=true -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true -Dpython.console.encoding=UTF-8 -Xmx512m --add-opens=java.desktop/sun.awt.X11=ALL-UNNAMED processing.app.ui.Splash "$@" &
—
Reply to this email directly, view it on GitHub
<#549 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AZETVIKPJE4YA5HTPVIZO43V7YHABANCNFSM6AAAAAAQH4MTWY>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
--
*Raymond Val*
Linux System Administrator
Strategic Digital Infrastructure
Sewanee: The University of the South
Phone: 931.598.1335
Email: ***@***.***
|
Fixed for 4.0.2, thanks for the report! This was a regression caused by the changes to improve temp folder handling #529 which I finally fixed in 4.x, but had been an issue since 2013. |
Also, perhaps you can report back on how things go with the temp directory cleaning process goes… For folders that are 7 days old (or So if this original issue is something that was giving you trouble, please let me know if it behaves strangely when it tries to remove old temporary files. At worse, it may throw exceptions about not being able to delete certain files. More likely, it may fail silently if trying to remove older files created by another user (which would be ok), or it may put some red text in the console that it couldn't remove the folder. |
This issue has been automatically locked. To avoid confusion with reports that have already been resolved, closed issues are automatically locked 30 days after the last comment. Please open a new issue for related bugs. |
Description
Processing will not start for anyone except the first user in a multiuser classroom Ubuntu computer.
Expected Behavior
Processing will start and run as normal.
Current Behavior
students execute processing, either from an command line or from an icon.
First student on a computer has no problems using processing all features work.
Second student (or more) logs into the computer, executes processing and gets an error.
The first is a popup which actually describes what causes the error:
The second error can be see if processing is executed from the command line. If executed from an shortcut then the error below is hidden.
Exception in thread "Contribution List Downloader" java.lang.NullPointerException: Cannot invoke "java.util.List.iterator()" because the return value of "processing.app.Base.getToolContribs()" is null
at processing.app.contrib.ContributionListing.countUpdates(ContributionListing.java:348)
at processing.app.contrib.ContributionListing.lambda$downloadAvailableList$1(ContributionListing.java:227)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:308)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:741)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Steps to Reproduce
student01@owen: ~$ processing
student01 can use processing as normal
student02@owen:~$ processing
student02 gets error popup about not being able to create /tmp/processing/
Your Environment
Possible Causes / Solutions
The issue is caused by the software creating a 'processing' directory in the /tmp folder and then not removing the directory
This can be seen after student01 uses processing and exits the program (and logs out of their profile).
drwxr-xr-x student01 domainuser 4096 Sep 08 09:56 processing
The permissions are limited to student01 who has full control over the directory.
All other users are limited to read and execute permissions only, no write permissions.
The sketchbook settings in the preference file are set to /home/student01/sketchbook
It appears that processing is not cleaning up the /tmp/processing folder like it does the other files that it creates in /tmp and thus additional users can not use processing because the permissions on the folder are preventing their use.
The text was updated successfully, but these errors were encountered: