Skip to main content
Version: v1.105

Exit Codes & Errors

About errors

Errors are your friends. The most important thing you can do when encountering an error in any step of a data integration project is to read what's on the screen. While this may sound obvious, it's very easy to see a big block of technical language and switch off.

Often, there are simple business reasons that a run is failing and they can be identified from the error messages displayed in the logs by @openfn/core.

Standard Exit Codes

0: Success

Exit code 0 is a success (run succeeded, e.g. a destination system responded with a 200)

1: Error

Exit code 1 is a normally-handled error (run failed normally, e.g. a destination system responded with a 4XX, 5XX, or some specialized RequiredFieldMissing error.)

2: Timeout

Exit code 2 means that your run timed out. It exceeded the timeout you set for your job, or if you're using the hosted platform on a non-enterprise plan, it exceeded 100 seconds.

10: Core Error

Exit code 10 means there was an error in @openfn/core/cli.js execute. It's possible that you job can't be run how it's written, but that various validation checks failed to warn you earlier.

134: Out of memory

This is a standard out of memory error from the NodeVM. See NodeVM memory limits below.

Special Exit Codes (Platform)

The OpenFn platform controls the execution of all of your jobs via the ErlangVM. (Learn about Erlang here.) The following exit codes are applied at the level of this controlling VM, rather than down inside your run's NodeVM.

3: Failed to start

Exit code 3 means the run could not be started due to an Erlang error. This could relate to network traffic, but very rare as an error which takes place before the run is started will be retried—with an exponential backoff—for a very long time.

4: The NodeVM is unresponsive

Exit code 4 means that the NodeVM running your job became unresponsive. It attempted to exit after the timeout but couldn't, so we shut down the process from the controlling ErlangVM.

5: Elixir/ErlangVM Error

Exit code 5 means we encountered an unexpected error during the execution of your job which could only be caught by the controlling ErlangVM. Errors like this are very rare and trigger an internal audit by the OpenFN engineering team.

6: Aborted by project administrator

Exit code 6 means that a run created and queued for execution but then subsequently aborted by request of an administrator or owner of that project.

11: Node.js Error

Exit code 11 means that there was an error in the NodeVM execution but the exit code itself couldn't be captured by our application.

Limits

We've shifted this content to a dedicated limits page.

NodeVM memory limits

Job state limits