OnDemand’s Known Issues¶
We take community requests and troubleshoot as well on our Discourse at https://discourse.osc.edu/.
- File names with XML or HTML break display
- Problems uploading files
- Downloading forbidden directories fails silently
- Viewing large files causes problems
- Incorrect link in tree root
- NoMethodError when using a custom translation file
- Dashboard may be slow due to logic in ERB templates
- Batch Connect sessions do not contain much debugging info
- noVNC does not work with Safari and Apache Basic auth
- Multiline select does not work in MS Edge
- High output programs may freeze the shell
- Paste does not work in older versions of Safari
File names with XML or HTML break display¶
Files whose names that contain XML or HTML special characters (
<, >, &) break the File Explorer’s display. While this does not introduce corrupt the file system it does render the application unusable.
Problems uploading files¶
The File Explorer uses HTTP PUT and the NGINX temporary directory to upload files. For most usage this arrangement is adequate, but large files (which may exceed the capacity of the temp dir), shakey network connections (which may cause a transfer to stop partway through) can result in an unsatisfactory experience.
If the NGINX temporary directory is on a small partition it is possible to overload it when attempting an upload. In the case that an upload is too large to fit in the upload temp directory the application may send the partially uploaded file to the destination without reporting an error.
Work arounds: to be able to upload larger files that fail with the Files app users can use a graphical SFTP client like Cyberduck, Globus Connect Personal, or the command line. Admins should check to ensure that the partition containing the upload temp dir (
/var/run/ondemand-nginx) is adequate.
Downloading forbidden directories fails silently¶
When a user attempts to download a directory for which they do not have adequate file system permissions the download action will fail without notifying the user of the error.
Workarounds: No work arounds are available.
Viewing large files causes problems¶
When attempting to view large files (multi-megabyte) the File Explorer has been observed to cause right click to stop working in FireFox.
Work arounds: if graphical desktops are installed, then use the recommended file viewer / editor for the desired file type. If the correct viewer is not known to the user, but is installed on the system it may be discoverable using the command line program
NoMethodError when using a custom translation file¶
When attempting to use a custom translation file if the directory pointed to by the environment variable
OOD_LOCALES_ROOT does not exist then attempting to load the application will cause an unhandled
NoMethodError to be throw in the application controller.
Workarounds: Admins are encouraged to first test all changes to their OnDemand instances in a test environment before applying changes to production services.
Dashboard may be slow due to logic in ERB templates¶
The Dashboard may be slow as a result of how the menu is built if custom Batch Connect applications have complicated logic in their
An example where this may occur is if the ERB templates contain commands that query the cluster’s status.
Workarounds: Reducing the amount of logic inside ERBs is the near-term solution. In the longer term the OnDemand team will be re-evaluating how the Dashboard menu is constructed so that this will no longer be an issue.
Batch Connect sessions do not contain much debugging info¶
When troubleshooting a failed Batch Connect job it may be difficult to diagnose certain errors because the adapter error interface is generic and does not contain a stack trace of what has gone wrong.
Workarounds: no work around is available to the user; admins may find examples of what went wrong in the NGINX logs for the troubled user.
When a Batch Connect session fails inside of the
script.sh.erb section of its execution the session information is removed from the view and no error message is shown to the user.
Workarounds: Users or support staff may find logs for failed Batch Connect sessions located in the output directory
noVNC does not work with Safari and Apache Basic auth¶
OnDemand’s Cluster and Interactive Apps do not work with Safari when OnDemand is protected using Basic authentication. This is due to a bug in Safari with using websockets through servers protected using “Basic” auth.
Workarounds: OnDemand can be installed with another authentication mechanism such as Shibboleth or OpenID Connect. If “Basic” auth is required, Mac users can connect with other browsers like Chrome or Firefox.
Multiline select does not work in MS Edge¶
Multi-line select does not work in Microsoft Edge (pre-Chromium).
Workarounds: Using another web browser such as FireFox or Chrome.
High output programs may freeze the shell¶
The Shell may freeze when attempting to display a large amount of content. This error was initially reported by a user running Python Spark from the Shell app, and has been duplicated by simply running
cat against hundreds-of-megabyte files.
Workarounds: When attempting to view the contents of a file using the commands
tail instead of
cat will prevent this error. When running a program that may rapidly produce megabytes of output using a native SSH terminal may be preferable, either from the user’s personal machine, or from within a graphical session on the cluster. Alternatively redirecting application output to a file or files (stdout/stderr) and then using
tail to view those files can also solve this problem.
Paste does not work in older versions of Safari¶
Pasting from the system clipboard is not supported in Safari 8 or 9.OSC/ood-shell#16
Workarounds: At the time of writing the current version of Safari is version 12. Users experiencing this error are highly recommended to upgrade their web browser.
RStudio and Upgrading Singularity 3 to minor version 5¶
OnDemand RStudio implmentations using Singularity may break when upgrading to Singularity version 3.5 or above. There is an undocumented breaking change where
LD_LIBRARY_PATH is no longer exported to the container by default. Instead the container will default to having
LD_LIBRARY_PATH=/.singularity.d/libs. Explicitly exporting the variable by using
SINGULARITYENV_LD_LIBRARY_PATH="$LD_LIBRARY_PATH" singularity ... appears sufficient to fix the issue.