- Run failures
- My run is failing because of missing packages or dependencies
- "No such file or directory" or "File not found" error when running on Domino
- My run is failing with a message "Unrecognized type of runner file"
- My code works in Matlab but not in Octave
- "No space left on device" when using joblib or scikit-learn
- Problems on your computer (the CLI)
- CLI SSL Error: "sun.security.validator.ValidatorException: PKIX path building failed"
- CLI warning in Windows "Could not open/create prefs root node Software\JavaSoft\Prefs..."
- Domino reset message in the CLI during sync
- CLI error during login: "Unexpected error: Illegal character in authority at index"
- "'domino': command not found" after installation
- I get a message like "too many open files"
- I see "cannot update your PATH"
- CLI reports an out of memory error
- 'Domino run' says "Access denied" or "permission denied"
- "Server key" error on Linux
- Proxy connection
- No content to map due to end-of-input
- Symantec Endpoint Protection reports the Domino client as malicious
- CLI Error "Repo is not safe"
- Web site issues
My run is failing because of missing packages or dependencies
Many R and Python packages are installed by default on the Domino machines, but not all of them. Fortunately, we've made it easy to add your own dependencies and packages. Take a look our dependencies page for info about how to do this.
"No such file or directory" or "File not found" error when running code on Domino but not locally
First check if the file or directory is actually present in your project folder. Domino only synchronizes files within your project folder, so if the file required by your code lives outside of that folder, you'll need to move or copy it into your project folder.
Second, make sure that all file paths are relative to the project root. Any paths like
C:\Users\you\Domino\project\subdir\file.txt
will fail, even if project\subdir\file.txt
actually exists on your local machine. This is because Domino only knows about files in the project folder. It won't know about any files or structures above the project.
If C:\Users\you\Domino\project
is the path to the root of your project folder, then you'll want to specify all paths your code uses relative to that root directory. So the correct path to use in your code is subdir\file.txt
, i.e.,:
f = open('subdir\\file.txt')
My run is failing with a message "Unrecognized type of runner file"
Domino supports running many different languages. It detects how to run the given file based on its file extension: for example, Domino will run script.py
as a Python script and anotherScript.R
as an R script.
Domino currently supports the following languages:
- Python (.py)
- R (.r)
- MATLAB (.m)
- Bash Scripts (.sh)
- Perl scripts (.pl)
If the file you wish to run on Domino does not have one of the above file extensions (or does not have an extension at all), Domino won't know how to run it.
Note: you can submit "direct" run commands via the CLI as well as API. This bypasses the file extension parsing and instead runs it as a bash command.
If there's a language you want Domino to support, please let us know.
My code works in Matlab but not in Octave
Octave has some documentation on the various differences between Octave and Matlab. You should take a look at that, but the most common issues we've seen are:
- Dependence on toolboxes. If your Matlab code relies on toolboxes, you can look for equivalent Octave packages.
- Use of classes. Octave doesn't yet support Matlab's
classdef
syntax. In many cases, you easily convert your Matlab classes to use structs, which will work fine in Octave.
CLI error during login: "Unexpected error: Illegal character in authority at index"
Make sure you have connected the Command Line Interface (CLI) to the correct Domino server. See Installing the Domino Client (CLI).
"No space left on device" when using joblib or scikit-learn
The Python joblib package (used by scikit-learn) sometimes throws an "No space left on device" error. This is caused by joblib exceeding the available RAM-based temporary memory. To work around this issue, set the JOBLIB_TEMP_FOLDER environment variable to "/tmp" by using the following Python code at the start of your script:
import os os.environ["JOBLIB_TEMP_FOLDER"] = "/tmp"
Seeing "sun.security.validator.ValidatorException: PKIX path building failed"
The full message might look something like this:
"Unexpected error: Couldn't validate the Domino URL you provided. Validation failed with: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target"
Solution Phase 1: Get the cert
The best way to get your certificate is through the browser.
Chrome
- Click on the “Not Secured” button next to the URL:
Click on “Certificate”:You can then drag the icon for the certificate to your Desktop or wherever you want to save it:
Solution Phase 2: Add the cert to the keystore
1. Add the self-signed certificate to the Java keystore (a file called "cacerts"). Depending on the OS and version of Java this might be in one of many places but typically we see it in /usr/lib/java/jdk-x-x/jre/lib/security
or /usr/lib/jvm/jdk-x-x/jre/lib/security
.
Find the Java keystore location by running the following command:
$ echo $(/usr/libexec/java_home)/lib/security/cacerts /Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home/lib/security/cacerts
2. With the Java keystore location identified, add your company issued cert to the Java keystore location identified in the previous step:
$ sudo keytool -keystore /Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home/lib/security/cacerts -importcert -alias AN_ALIAS_NAME -file *.YOUR_DOMAIN.com.cer
Windows Users: The keystore tool should be located in C:\Program Files\Java\jre-x-x\bin (replacing jre-x-x with your version)
3. Attempt to login with the CLI again (replacing with your Domino URL):
$ domino login https://app.dominodatalab.com
4. If your company issued certificate is added to the keystore but you are still having issues, check to ensure that the cert was added to the same location which the Domino cacerts are stored. Run each of these commands to compare the cacert paths:
- Path of Java cacerts:
echo $(/usr/libexec/java_home)/lib/security/cacerts
- Path of Domino cacerts:
echo $(which domino)/cacerts
Seeing "WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs" in Windows
The full message might look something like this: "WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5." This is a benign warning message and does not affect the CLI functionality.
Seeing "Please run 'domino reset' to reset your local files to the server's state."
You see this message in the CLI while doing a domino sync: "Your project folder looks like it is in the middle of updating, most likely because a previous command was interrupted. Please run 'domino reset' to reset your local files to the server's state." This error indicates that the local project has gotten into a bad state. If you do not have any local changes that need to be uploaded to Domino, then you can run domino reset
. This will erase local changes so that the folder matches the cloud version of the project, so again be sure you do not have anything to upload.
If instead you do have changes that you wish to upload, then you will need to perform a force restore.
"'domino': command not found" after installation
If the Terminal (or CMD on Windows) gives you an error that the domino
command isn't found (when you're following the Tour steps, for example)...
- If you have just installed, make sure you open a new Terminal window or CMD window. The Domino installer modifies your PATH environment variable, and the changes won't take effect until you open a new shell.
- On a Mac, if you're still getting the error after opening a new Terminal window, it usually means something failed when trying to add Domino to your PATH. You can force correct this by running:
echo 'export PATH="/Applications/domino:$PATH"' >> ~/.bash_profile
If you're using a shell other than BASH, you can modify your PATH there.
I get a message like "too many open files"
Please see our page on working with projects that have lots of files
"Unable to update your PATH" when installing the CLI on Mac
If you see this message, you can manually create /etc/paths.d by running in your Mac Terminal "sudo mkdir /etc/paths.d" Then try the installer again.
CLI reports an out of memory error
The message may be something like "there is insufficient memory for the Java Runtime Environment to continue".
To fix this, find the location of your Domino CLI installation (on a Mac it will be /Applications/domino, for example). In that folder there will be a file called domino.vmoptions. Open that file and add a line:
-Xmx1024m
That will tell the Java Virtual Machine to use more memory when the CLI runs.
'Domino run' says "Access denied" or "permission denied"
When you kick off a run, Domino requires that you have write access to all the file in your project. If you have read, but not write, access, you will be an "access denied" (Windows) or "permission denied" (Mac) error.
To resolve this, simply give yourself write access to the file(s)
On Windows
- Right-click on your file/folder, select "properties" and go to the "security" tab. Here's a tutorial with more detailed instructions.
- You should also check the "general" tab of your file properties, to make the "read-only" checkbox is not selected.
On Mac / Linux, you can use the UI, or the chmod
terminal command to grant read access. Here's a tutorial with more detailed instructions.
"Server key" error on linux
Linux users may get an error that says: Unexpected error: Server key
This seemes to be related to a bug in certain versions of the JDK. To fix it:
- Find the java.security configuration file in your Java installation (probably
/etc/java-6-openjdk/security/java.security
) - Comment out the following line:
security.provider.10=sun.security.pkcs11.SunPKCS11 ${java.home}/lib/security/nss.cfg
from the "security.provider" list.
For more info, see
- https://bugs.launchpad.net/ubuntu/+source/openjdk-7/+bug/989240
- https://bugs.launchpad.net/ubuntu/+source/openjdk-6/+bug/1006776
- http://issues.igniterealtime.org/browse/OF-636
Configure the CLI to use a proxy
The Domino CLI can be configured to connect via a proxy. For details on how, please read this help article.
No content to map due to end-of-input
You may see the following error trace if your client machine hits a disk-space error:
com.fasterxml.jackson.databind.JsonMappingException: No content to map due to end-of-input
at [Source: java.io.StringReader@2c767a52; line: 1, column: 1]
at com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:164)
...
To resolve:
- Remove the ~/.dominoconfig/ folder in your home directory.
- Re-run `domino login <host>` and enter your credentials when prompted.
Symantec Endpoint Protection reports the Domino client as malicious
We are working with Symantec to resolve that issue, and can fully assure you that the Domino client application contains nothing malicious. Please follow these steps to verify your download and add an exception to Symantec Endpoint Protection to allow the installation:
- Ensure that you downloaded the Domino client from http://support.dominodatalab.com/hc/en-us/articles/204856475-Installing-the-Domino-Client-CLI-
- To verify the authenticity of the downloaded file, right click on it, select Properties, go to the Digital Signatures tab, and ensure that in the "Name of signer" column you see "Domino Data Lab, Inc". Click on "Details" and make sure the at the top you see "This digital signature is OK".
- Refer to these instructions to add an exception in Symantec Endpoint Protection. Specifically, look at the section starting with "2) Use Exceptions policy to make exclusions...".
CLI Error "Repo is not safe"
See https://tickets.dominodatalab.com/hc/en-us/articles/360060723832-Force-Restoring-A-Local-Project
My output files don't show up in the Results tab
The Results tab for a given run will show any files that were generated or modified during the run. So if a file isn't showing up there, it means that it wasn't modified at all during the run.
Comments
0 comments
Please sign in to leave a comment.