Follow

Troubleshooting common problems


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.

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"

  • This example works on Macs: 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. The command to run is keytool and should be something like: keytool -keystore /usr/lib/jvm/java-8-oracle/jre/lib/security/cacerts -importcert -alias A_FRIENDLY_NAME -file YOUR_CERTFILE
  • Another possibility is to use http instead of https to access your deployment. But keep in mind that this might not be compliant with your local security protocol.

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:

  1. Find the java.security configuration file in your Java installation (probably /etc/java-6-openjdk/security/java.security)
  2. 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


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:

  1. Remove the ~/.dominoconfig/ folder in your home directory.
  2. 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:

  1. Ensure that you downloaded the Domino client from http://support.dominodatalab.com/hc/en-us/articles/204856475-Installing-the-Domino-Client-CLI-
  2. 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".
  3. 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...".

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.

Was this article helpful?
0 out of 0 found this helpful

Comments