DNAnexus Documentation
APIDownloadsIndex of dx CommandsLegal
  • Overview
  • Getting Started
    • DNAnexus Essentials
    • Key Concepts
      • Projects
      • Organizations
      • Apps and Workflows
    • User Interface Quickstart
    • Command Line Quickstart
    • Developer Quickstart
    • Developer Tutorials
      • Bash
        • Bash Helpers
        • Distributed by Chr (sh)
        • Distributed by Region (sh)
        • SAMtools count
        • TensorBoard Example Web App
        • Git Dependency
        • Mkfifo and dx cat
        • Parallel by Region (sh)
        • Parallel xargs by Chr
        • Precompiled Binary
        • R Shiny Example Web App
      • Python
        • Dash Example Web App
        • Distributed by Region (py)
        • Parallel by Chr (py)
        • Parallel by Region (py)
        • Pysam
      • Web App(let) Tutorials
        • Dash Example Web App
        • TensorBoard Example Web App
      • Concurrent Computing Tutorials
        • Distributed
          • Distributed by Region (sh)
          • Distributed by Chr (sh)
          • Distributed by Region (py)
        • Parallel
          • Parallel by Chr (py)
          • Parallel by Region (py)
          • Parallel by Region (sh)
          • Parallel xargs by Chr
  • User
    • Login and Logout
    • Projects
      • Project Navigation
      • Path Resolution
    • Running Apps and Workflows
      • Running Apps and Applets
      • Running Workflows
      • Running Nextflow Pipelines
      • Running Batch Jobs
      • Monitoring Executions
      • Job Notifications
      • Job Lifecycle
      • Executions and Time Limits
      • Executions and Cost and Spending Limits
      • Smart Reuse (Job Reuse)
      • Apps and Workflows Glossary
      • Tools List
    • Cohort Browser
      • Chart Types
        • Row Chart
        • Histogram
        • Box Plot
        • List View
        • Grouped Box Plot
        • Stacked Row Chart
        • Scatter Plot
        • Kaplan-Meier Survival Curve
      • Locus Details Page
    • Using DXJupyterLab
      • DXJupyterLab Quickstart
      • Running DXJupyterLab
        • FreeSurfer in DXJupyterLab
      • Spark Cluster-Enabled DXJupyterLab
        • Exploring and Querying Datasets
      • Stata in DXJupyterLab
      • Running Older Versions of DXJupyterLab
      • DXJupyterLab Reference
    • Using Spark
      • Apollo Apps
      • Connect to Thrift
      • Example Applications
        • CSV Loader
        • SQL Runner
        • VCF Loader
      • VCF Preprocessing
    • Environment Variables
    • Objects
      • Describing Data Objects
      • Searching Data Objects
      • Visualizing Data
      • Filtering Objects and Jobs
      • Archiving Files
      • Relational Database Clusters
      • Symlinks
      • Uploading and Downloading Files
        • Small File Sets
          • dx upload
          • dx download
        • Batch
          • Upload Agent
          • Download Agent
    • Platform IDs
    • Organization Member Guide
    • Index of dx commands
  • Developer
    • Developing Portable Pipelines
      • dxCompiler
    • Cloud Workstation
    • Apps
      • Introduction to Building Apps
      • App Build Process
      • Advanced Applet Tutorial
      • Bash Apps
      • Python Apps
      • Spark Apps
        • Table Exporter
        • DX Spark Submit Utility
      • HTTPS Apps
        • Isolated Browsing for HTTPS Apps
      • Transitioning from Applets to Apps
      • Third Party and Community Apps
        • Community App Guidelines
        • Third Party App Style Guide
        • Third Party App Publishing Checklist
      • App Metadata
      • App Permissions
      • App Execution Environment
        • Connecting to Jobs
      • Dependency Management
        • Asset Build Process
        • Docker Images
        • Python package installation in Ubuntu 24.04 AEE
      • Job Identity Tokens for Access to Clouds and Third-Party Services
      • Enabling Web Application Users to Log In with DNAnexus Credentials
      • Types of Errors
    • Workflows
      • Importing Workflows
      • Introduction to Building Workflows
      • Building and Running Workflows
      • Workflow Build Process
      • Versioning and Publishing Global Workflows
      • Workflow Metadata
    • Ingesting Data
      • Molecular Expression Assay Loader
        • Common Errors
        • Example Usage
        • Example Input
      • Data Model Loader
        • Data Ingestion Key Steps
        • Ingestion Data Types
        • Data Files Used by the Data Model Loader
        • Troubleshooting
      • Dataset Extender
        • Using Dataset Extender
    • Dataset Management
      • Rebase Cohorts and Dashboards
      • Assay Dataset Merger
      • Clinical Dataset Merger
    • Apollo Datasets
      • Dataset Versions
      • Cohorts
    • Creating Custom Viewers
    • Client Libraries
      • Support for Python 3
    • Walkthroughs
      • Creating a Mixed Phenotypic Assay Dataset
      • Guide for Ingesting a Simple Four Table Dataset
    • DNAnexus API
      • Entity IDs
      • Protocols
      • Authentication
      • Regions
      • Nonces
      • Users
      • Organizations
      • OIDC Clients
      • Data Containers
        • Folders and Deletion
        • Cloning
        • Project API Methods
        • Project Permissions and Sharing
      • Data Object Lifecycle
        • Types
        • Object Details
        • Visibility
      • Data Object Metadata
        • Name
        • Properties
        • Tags
      • Data Object Classes
        • Records
        • Files
        • Databases
        • Drives
        • DBClusters
      • Running Analyses
        • I/O and Run Specifications
        • Instance Types
        • Job Input and Output
        • Applets and Entry Points
        • Apps
        • Workflows and Analyses
        • Global Workflows
        • Containers for Execution
      • Search
      • System Methods
      • Directory of API Methods
      • DNAnexus Service Limits
  • Administrator
    • Billing
    • Org Management
    • Single Sign-On
    • Audit Trail
    • Integrating with External Services
    • Portal Setup
    • GxP
      • Controlled Tool Access (allowed executables)
  • Science Corner
    • Scientific Guides
      • Somatic Small Variant and CNV Discovery Workflow Walkthrough
      • SAIGE GWAS Walkthrough
      • LocusZoom DNAnexus App
      • Human Reference Genomes
    • Using Hail to Analyze Genomic Data
    • Open-Source Tools by DNAnexus Scientists
    • Using IGV Locally with DNAnexus
  • Downloads
  • FAQs
    • EOL Documentation
      • Python 3 Support and Python 2 End of Life (EOL)
    • Automating Analysis Workflow
    • Backups of Customer Data
    • Developing Apps and Applets
    • Importing Data
    • Platform Uptime
    • Legal and Compliance
    • Sharing and Collaboration
    • Product Version Numbering
  • Release Notes
  • Technical Support
  • Legal
Powered by GitBook

Copyright 2025 DNAnexus

On this page
  • Error details
  • AppError
  • AppInternalError
  • AuthError
  • CostLimitExceeded
  • SpendingLimitExceeded
  • DependencyUnsatisfiable
  • ExecutionError
  • Incomplete Uploads
  • InputError
  • JMInternalError
  • JobTimeoutExceeded
  • JobTreeFailure
  • OutputError
  • UnresponsiveWorker

Was this helpful?

Export as PDF
  1. Developer
  2. Apps

Types of Errors

This page lists information about errors that can occur when executing jobs.

Last updated 1 year ago

Was this helpful?

For a description of the errors returned by the HTTP API, see in the API specification. For a description of the errors returned by API bindings, see .

The following table enumerates the possible categories of failure reasons that may occur (reported in the failureReason of a job's describe hash and visible in the monitor tab on the website).

Failure Reason Name

Example Failure Message and Explanation

This error is reported by an executable, either through the local file job_error.json, or via a native exception. The failure message is given by the executable.

This error is reported by an executable, either through the local file job_error.json, or via an exception or exiting with a nonzero exit code. The failure message is given by the executable.

"The job can no longer be run because a launching authentication token has been revoked or expired"

"The total job spending exceeded the cost limit" This error indicates that job has been terminated due to exceeding the cost limit.

"<Other job ID> was a job dependency but failed" This occurs if a job depends on a failed job in another job tree

This occurs if there is an error encountered while attempting to run the executable on a worker in the cloud.

"You have one or more incomplete uploads" E-mail notifications if your previous data upload attempts got interrupted and will require your attention.

"There was an error parsing the job's inputs, or one of its dependencies cannot be fulfilled" In general, the message will mention the input field affected and the reason there was a failure.

"The system encountered an internal error" This error indicates that something unexpected happened while processing your job, and you will not be charged

"<Other job ID> failed because of <other job's failure reason>: <other job's failure message>" Once a job fails, it triggers this failure reason for all other jobs in the same job tree that have not yet entered a terminal state

"The job timeout <timeout_value> has been exceeded while executing <entry_point_name>" In general, the message will mention the entry point at which the timeout was exceeded.

"There was an error parsing the job's outputs, or one of its dependencies cannot be fulfilled" In general, the message will mention the output field affected and the reason there was a failure.

"The machine running the job became unresponsive" If the cloud worker running the job does not respond for a few minutes, the job fails.

Error details

AppError

Job billed to user: Yes

This error type indicates that an app (or applet) recognized an expected error condition (for example, input data that the app is incompatible with). The error should be accompanied by an error message indicating what went wrong and, possibly, corrective action that the user may take to change application input

AppInternalError

Job billed to user: Yes

This error type indicates that an app (or applet) encountered an unexpected error condition which may require debugging. Extra debug information may be available in the job log.

AuthError

Job billed to user: Yes

This error type indicates that the job's authentication token is invalid. Note in this context that on the DNAnexus Platform, the validity of job authentication tokens is limited to 30 days. Note also that if a job is part of a job tree, it inherits the root execution's authorization token expiration date and time.

CostLimitExceeded

Job billed to user: Yes

This error type indicates that the job was terminated because its accumulated charge exceeded the cost limit for this job.

SpendingLimitExceeded

Job billed to user: Yes

This error type indicates that the job was terminated because the total spending limit of the billing org is exceeded.

DependencyUnsatisfiable

Job billed to user: Yes

This error type is reported when a job depends on the output of another job in a different execution tree, and the other job fails.

ExecutionError

Job billed to user: No

Error string

Failed while installing execDepends

Notes

This error may happen when the runSpec.execDepends field of your dxapp.json application metadata file contains an invalid package name. Workaround: Check your dxapp.json for correctness of the execDepends field.

Incomplete Uploads

Partially uploaded file(s) billed to user: Yes (until they are either removed by the user manually or by the system automatically after some time.

Occasionally, you may get notified of an incomplete upload. This condition is most likely caused by:

  • An interruption outside DNAnexus' control, such as:

    • a network issue

    • power outage

    • computer crash

  • Upload window being closed while an upload was in progress.

How is the incomplete data presented in the platform? Within your account, the partially uploaded data appears in the "open state" but is not usable until fully uploaded.

Can I recover from an incomplete upload? The web site and the upload agent will continue where the interrupted upload left off by re-launching the upload processes. However, you must select the exact same file from identical location and same target location.

How does the tool upload method used relate to this issue? The upload may have been triggered in any platform tool including the web UI, the Upload Agent tool, dx-toolkit in a CLI, or programmable binding method (e.g. dxpy).

Am I charged for the partial data? You are charged for storing data on DNAnexus servers regardless of its completeness. For best cost savings, either finish your upload (see "Can I recover from an incomplete upload?" above) or delete the partial upload from the system.

Why did my partial upload get deleted? In order to save you money on data you can't use, the DNAnexus systems will automatically delete incomplete uploads after a number of days. We'll warn you several days before removal to give you the opportunity to take action if you choose.

InputError

Job billed to user: Yes

An InputError or OutputError may occur for the following reasons:

  • Input/Output specification mismatch: these errors only occur if an executable has specified an input or output spec

    • the value provided for a particular input/output field does not match the type specification (e.g. "Reads")

    • a referenced data object cannot be found

    The following errors are thrown only as OutputErrors because the analogous input errors are thrown at the time of the API call that creates the origin or master job:

    • a required output field is missing

    • an extra output field has been provided

  • Object state error: the job is an origin or master job, and it has a data object that would be cloned for output that is still in the open state, but it and all of its descendant jobs have all finished running and so there is no thread of execution that can close the object

  • Syntax errors

  • Resolution errors

    • a job-based object reference refers to a field that is not present in the output of the specified job

    • a job-based object reference refers to a job that has failed and therefore cannot be resolved

    • a job-based object reference refers to a job that the job that has finished running does not have permission to describe

JMInternalError

Job billed to user: No

This error type is reported when a failure happens in the DNAnexus Job Manager. Under normal circumstances, the job will be automatically restarted.

JobTimeoutExceeded

Job billed to user: Yes

JobTreeFailure

Job billed to user: Yes

OutputError

Job billed to user: Yes

UnresponsiveWorker

Job billed to user: No

This error type is reported when a worker executing the job fails. Under normal circumstances, the job will be automatically restarted.

"The total spending limit is exceeded, please contact " This error indicates that job has been terminated due to exceeding the total spending limit.

This error type is reported when a failure happens in the DNAnexus Execution Environment. Normally, this is not the application's fault, but the error may also occur because the application improperly specified its package dependencies in the field of its .

the value provided for a particular input/output field does not match the class specified (e.g. "int", "record", "array:file"); see for details on the expected syntax

a or is malformed

This error type indicates that an app (or applet) exceeded the maximum time it was allowed to run, as specified in the of its or using the timeoutPolicyByExecutable input to the /executable-xxxx/run. The system limits job runtime to 30 days for all jobs except those billed to orgs with allowJobsWithoutTimeout license.

See details in

runSpec.execDepends
app metadata
Job Input and Output
InputError
DNAnexus Support
IncompleteUploads
AppError
AppInternalError
AuthError
CostLimitExceeded
SpendingLimitExceeded
DependencyUnsatisfiable
ExecutionError
InputError
JMInternalError
JobTreeFailure
JobTimeoutExceeded
OutputError
UnresponsiveWorker
API bindings documentation
app metadata
Protocols
runSpec.timeoutPolicy
DNAnexus link
job-based object reference