Tech Note 0013

Error Messages

Error codes and messages common to MTP/IP applications

All MTP/IP software products share a core set of error messages related to common network and application tasks.  The following index provides a quick reference for what these may indicate.  Please refer to the product pages and their manuals for application specific information.

Note that this information applies to MTP version 4.4.0 and later.  Earlier versions may differ.  For instructions on how to determine the MTP version of your software, see Tech Note 0001.

Numerical Codes

The MTP/IP software development kits and some application logs use a pair of numbers to indicate error conditions.  The first number, called the error class, is a positive or negative integer indicating the origin of the error.  The second number, called the error code, gives the specific error within that class.  The numerical values are defined in the mtp.h file of the MTP Core SDK, and are also given below for the latest MTP/IP release.

Error Text

Standard MTP/IP errors are usually presented as human readable text strings.  The text describes the source of the error, followed by a description of the error, in the following format:

<Local|Remote> <Type>: <Message>

The first element indicates whether the message was generated by software on the local system, or software running remotely.  This corresponds to a negative or positive numerical error class.

 - Local
The message was generated by the local software that is reporting it.
 + Remote
The message was generated by remote software across the network.  Note that receipt of a remote message indicates that there was at least enough network connectivity for the error message to get through.

The second element indicates the type of error.  This corresponds to the absolute value of the error class.

 2 Network
The error was generated by ICMP or the operating system in relation to a network operation.
 3 MTP
The error was generated by Core MTP/IP
 4 Application
The error was generated by another SDK or the parent application.

The third element shows the error message.  The numerical error code for the message depends on the class.  For example:

Local Network: No Response

This corresponds to an error class of -2 and an error code of 7.

Common MTP/IP error messages may be accompanied by additional details describing exactly what happened or what to do about it.  It is vital that you record all error text and logs when requesting technical support.

Network Errors

Error class 2 indicates a problem reported by a network device or an operating system network related function.  Most indicate a problem with routing or connectivity.  ICMP related errors are reported as Local if the ICMP message was received locally and as Remote if the ICMP message was received at the remote host.

 0  "Unspecified"
No specific error message was given.
 1 MTP_NET_PRIV "Insufficient Privileges"
The process did not have sufficient access rights to perform an operation.
 2 MTP_NET_SYS "System Call"
A low-level operating system function failed.
 3 MTP_NET_MEMORY "Memory Fault"
A memory fault occurred while reading or writing data on the network.
 4 MTP_NET_SIZE "Datagram Too Large"
The operating system truncated an outgoing datagram.
 5 MTP_NET_BUFFER "Buffer Overflow"
A network buffer overflowed.
 6 MTP_NET_ALLOC "Unable to Allocate"
MTP ran out of memory while trying to deliver network data.
 7 MTP_NET_EXPIRE "No Response"
Network connectivity appears to be down or lost.  This may be caused by firewall or routing issues.  At the start of a transaction, this may indicate that the remote address is wrong or is not running MTP/IP software.  If this occurs during a transaction, it likely indicates that the network or remote host has gone down.  See Tech Note 0009 for a list of network devices which can affect connectivity.
 8 MTP_NET_ADDRESS "Invalid Address"
An IP address is not in a valid format.
 9 MTP_NET_PORT "Invalid Port"
A port number is out of range.
10 MTP_NET_REDIR "ICMP: Redirect"
Not used.
11 MTP_NET_TTL "TTL Exceeded"
An ICMP "TTL Exceeded" message was received.
12 MTP_NET_NETDOWN "Network Down"
An ICMP "Network is down" message was received.  This may indicate that a router or other network device in the path is offline.
13 MTP_NET_HOSTDOWN "Host Down"
An ICMP "Host Down" message was received.  This likely indicates that the peer system is turned off or not online, or that the IP address being used is not correct.  It can also indicate a routing problem, particularly if NAT port mapping is being used.
14 MTP_NET_PORTDOWN "No Application at Given Port"
An ICMP "Port Down" message was received.  This likely means that the peer application was not started or has quit.  It may also indicate that the IP address or port number are incorrect.  If NAT port mapping is being used, it could indicate a routing or port mapping problem.
15 MTP_NET_NEEDFRAG "ICMP: Need Frag"
A network device has indicated that smaller datagram payloads may be required.
16 MTP_NET_NETUNKN "ICMP: Net Unknown"
An ICMP "Net Unknown" message was received.  This may indicate that a router or other network device in the path is offline.
17 MTP_NET_HOSTUNKN "ICMP: Host Unknown"
An ICMP "Net Unknown" message was received.  This may indicate that the host or other network device in the path is offline.
18 MTP_NET_PROHIB "ICMP: Prohibited"
A firewall has blocked access to the destination.
19 MTP_NET_ICMP "Other ICMP Error"
An unfamiliar ICMP message was received, likely indicating routing or connectivity problems.
20 MTP_NET_SLOWDOWN "Slow Down"
The sending MTP/IP is overloaded and has requested that receivers reduce their speed.  MTP will reduce the data rate in the same manner as if packet loss or network congestion had been detected.

MTP/IP Errors

Error class 3 is generated by the MTP/IP Core Software Development Kit.  Most indicate either a problem with the application or an incompatibility between different application versions.

 0 "Unspecified"
No specific error message was given.
 1 MTP_ERR_INVALID "Invalid Parameter"
An MTP/IP function was called with invalid parameters.
 2 MTP_ERR_SYS "System Call"
An operating system function returned an unexpected error.
 3 MTP_ERR_ACTION "Invalid Action"
The remote application did not support a requested action.  This may indicate incompatible software versions.
 4 MTP_ERR_DEL "Bad Delivery Target"
A data source or destination could not be accessed.  This may be caused by filesystem errors (such as disk full), memory exceptions, or a problem with the application.
 5 MTP_ERR_RSPSZ "Response Too Large"
A data response was larger than supported for the given delivery target.  MTP/IP supports memory buffers up to 1 terabyte, files up to 8 exabytes, and dynamic data streams up to 16 exabytes.
 6 MTP_ERR_VERSION "Feature Not Supported"
The remote application did not support a requested action.  This may indicate incompatible software versions.
 7 MTP_ERR_NORSRC "Insufficient Resources"
MTP/IP ran out of internal resources, such as capacity slots or system memory.  Contact DEI for assistance.
 8 MTP_ERR_REQSZ "Request Too Large"
The amount of data in a request exceeded MTP's capacity to deliver it.  This may happen if some element of your transaction is very large, such as a very long pathname.
 9 MTP_ERR_PROTO "Protocol Violation"
This may indicate that another application is attempting to send data to the same UDP port that MTP/IP using.
10 MTP_ERR_CHECK "Checksum Failure"
A packet checksum was invalid.
11 MTP_ERR_ENTRY "Re-entry Violation"
The application attempted to access the MTP/IP library in a manner not permitted.
12 MTP_ERR_NOINIT "Not Initialized"
The application tried to call an MTP/IP function while the MTP/IP library was not running.
13 MTP_ERR_ABORT "Transaction Aborted"
A transaction ended because the application requested that it be aborted.
14 MTP_ERR_PAUSED "Transaction Paused"
A transaction is currently paused and may be resumed later.
15 MTP_ERR_LICENSE "Invalid License Code"
A license code was required, but the proper one was not given.  Check that your software is using the correct license code.  See Tech Note 0027 for details about license registration errors.
16 MTP_ERR_CONFIG "Invalid License Configuration"
A valid license code was given or not required, but the license configuration is not valid for this hardware.  Make sure that you are using the correct license code for the software and hardware that you are using.  See Tech Note 0027 for details about license registration errors.
17 MTP_ERR_ENCRYPT "Encryption Error"
A problem occurred while trying encrypt or decrypt data.
18 MTP_ERR_STATE "Internal State Error"
An internal MTP problem occurred.
19 MTP_ERR_EXPIRE "License Expired"
A trial or temporary license has expired.  See Tech Note 0027 for details about license registration errors.
20 MTP_ERR_BLOCKED "Thread Blocked"
API is blocked by another thread.
21 MTP_ERR_DENIED "Permission Denied"
Permission denied by they operating system, such as attempting to bind to a network port already in use.
22 MTP_ERR_INUSE "Resource already in use"
Resource already in use.
23 MTP_ERR_DELWARN "Delivery Warning"
Poor storage performance, log output may have more details.
24 MTP_ERR_RESERVED2 "Unimplemented 2"
Non-fatal error reserved for future use.
25 MTP_ERR_DELWAIT "Waiting for storage"
Waiting for buffered data to be delivered.
26 MTP_ERR_RESERVED3 "Unimplemented 3"
Non-fatal error reserved for future use.

General Application Errors

Error class 4 is used by MTP/IP applications to describe general error conditions.  These codes may also be used by external applications when communicating with MTP/IP applications, such as ExpeDat Object Handlers.  Application errors will often be accompanied by descriptive text that provides more details specific to the application.  Additional error messages, not included here, may be reported by other SDKs or applications.  See the individual product documentation for details.

Most error codes are simply passed through from the application generating them to its peer, causing the transaction to terminate.  Errors marked with a asterisk (*) have special meaning to MTP/IP and may trigger additional handling.  Consult the SDK or product documentation prior to using such codes.

 0  "Unspecified"
No specific error message was given.
 1 MTP_APP_UNKNOWN "Unknown"
An unexpected error occurred.
 2 MTP_APP_ACTION* "Unknown Action"
An unsupported action code was requested.  This may indicate incompatible software versions.
 3 MTP_APP_OBJID* "Invalid Object ID"
The state of a transaction has been lost, possibly due to the host restarting.
 4 MTP_APP_FLAG* "Invalid Flag"
An unsupported feature was requested.  This may indicate incompatible software versions.
 5 MTP_APP_ADDRESS* "Invalid Address"
An attempt was made to access data out of bounds.
 6 MTP_APP_DESCR "Invalid Object Description"
A request could not be understood.
 7 MTP_APP_EOD* "End of Data (Address Beyond Object Size)"
An attempt was made to access data out of bounds.  This may indicate that a file shrank while it was being read.
 8 MTP_APP_SIZE "Object Too Large"
The data being transferred is larger than the application supports.  MTP/IP supports memory buffers up to 1 terabyte, files up to 8 exabytes, and dynamic data streams up to 16 exabytes.  However, individual applications may have smaller limits.
 9 MTP_APP_UNAVAIL "Object Unavailable"
An error occurred while trying to access an object.
10 MTP_APP_BADCRED "Bad Credentials, Username, or Password"
An authentication error occurred, probably due to an invalid username or password.  Verify that the credentials are correct and that the server software is configured to check the appropriate authentication sources.  See the product documentation for details.
11 MTP_APP_BUSY "Object Busy: Try again later"
A server resource could not be accessed because something else is using it.  This may indicate an attempt to access a file that is in use by another process or transaction.
12 MTP_APP_WAIT* "Waiting for Data From Sender: Will Keep Trying"
The transaction has been paused, probably while waiting for data to be generated or for the user to respond to a prompt.
13 MTP_APP_TIMEOUT "Operation Timed Out"
It has been a long time since there was any activity on a transaction, so it has been abandoned.  This usually indicates a network connectivity or firewall problem.  See Tech Note 0002 for information about configuring firewalls.
14 MTP_APP_COND "Condition Not Met"
A conditional request failed because the condition was not met.
15 MTP_APP_REDIR "Redirect to a Different Sever"
The transaction should be repeated at a different address.
16 MTP_APP_DUPL "Duplicate Transaction"
The requested transaction duplicates an earlier state-dependent transaction.
17 MTP_APP_VERSION "Unsupported Version"
The application versions are not compatible.
18 MTP_APP_INVALID "Invalid Argument"
An internal function or transaction did not provide proper parameters.
19 MTP_APP_SKIP* "Skip Data"
A portion of the requested data is not available, but the rest may be.
20 MTP_APP_LOST "Lost Transaction"
State information about a transaction has been lost.  This usually indicates that software was restarted in the middle of a transaction.  In rare cases, it can indicate that an NAT routing problem has suddenly redirected traffic from one MTP/IP host to another.
21 MTP_APP_ENCREQ "Encryption Required"
The software had been configured to refuse unencrypted transactions.  Try enabling encryption.
22 MTP_APP_ENCUNAVAIL "Encryption Unavailable"
Encryption has been requested but is not available.
23 MTP_APP_ENCBADKEY "Invalid Encryption Key"
The encryption key requested is not valid or is not available.  This may indicate an incompatibility between different software versions or different customer security spaces.
24 MTP_APP_DENIED "Request Denied"
A transaction is not permitted due to software configuration or user input.
25 MTP_APP_PATH "Invalid Pathname"
A filesystem pathname is not valid.
26 MTP_APP_HOST "Invalid Host"
A DNS name or address related to the transaction is invalid or the host is unavailable.
27 MTP_APP_PERMISSION "Permission Denied"
The requested action was denied due to insufficient privileges.  This usually indicates that a user does not have permission to access a given file.
28 MTP_APP_FEATURE "Unsupported Feature"
A feature was requested that is not supported or not enabled.
29 MTP_APP_SYSTEM "Operating System Error"
An unexpected error was reported by the operating system.
30 MTP_APP_CAPACITY "Server Capacity Exceeded: Try again later"
The software has exceeded its load capacity.  This may indicate that the number of concurrent transactions exceeds the licensed capacity of the software.  Contact DEI if you wish to increase your transaction capacity.
31 MTP_APP_QUOTA "Resource Quota Exceeded"
A resource limit determined by software configuration or user system limits has been exceeded.
32 MTP_APP_ABORT "Session Aborted"
A transaction has been terminated, probably by user request.
33 MTP_APP_MEMORY "Out of Memory"
The application has run out of memory or is receiving memory errors from the operating system.
34 MTP_APP_ISALREADY "Object Already in Requested State"
The target of an action is already in the state requested by that action.  For example, you may be trying to create a folder that already exists.
35 MTP_APP_SLOWDOWN "Slow Down"
An application requests that MTP/IP reduce its speed.  MTP/IP will treat this the same as a packet loss or network congestion event.
36 MTP_APP_INCOMPLETE "Object Incomplete"
The data object cannot be accessed because portions are missing.  For example, a file upload may have been interrupted.
37 MTP_APP_CORRUPT "Object Corrupt"
The data object or information about it is corrupt or missing.
38 MTP_APP_BADMATCH "Object Does Not Match"
The operation cannot proceed because the data object does not appear to match the necessary criteria.  For example, you may be attempting to resume a data transfer on a file which has changed.
39 MTP_APP_DEFER "Data not yet available"
The requested data is not yet available but may be available soon.
40 MTP_APP_COMMENT "Comment"
Always non-fatal, see the error payload for message text.
41 MTP_APP_RESERVED1 "Unimplemented 1"
Non-fatal error reserved for future use.
42 MTP_APP_RESERVED2 "Unimplemented 2"
Non-fatal error reserved for future use.
43 MTP_APP_LICENSE "Feature not supported by software license"
The product license does not permit use of the requested feature.
44 MTP_APP_RETRY "An unspecified problem occurred, please try again"
A fatal problem occured, but repeating the transaction may succeed.

DOC Errors

The following class 4 messages may be reported by Document Exchange, the SDK responsible for session management in most MTP/IP applications.  Most are similar to the generic application errors above.

72 DOC_ERR_UNKNOWN "DOC Unknown Error"
An unexpected error occurred.
73 DOC_ERR_VERSION "DOC Incompatible Version"
The application versions are not compatible.
74 DOC_ERR_INTERNAL "DOC Internal Error"
An internal problem occurred, likely indicating a bug.
75 DOC_ERR_SIZE "DOC Document or Meta Too Large"
A file or its description was larger than supported.
76 DOC_ERR_MEMORY "DOC Out of Memory"
The application has run out of memory or is receiving memory errors from the operating system.
77 DOC_ERR_TIMEOUT "DOC Idle Timeout"
It has been a long time since there was any activity on a transaction, so it has been abandoned.  This usually indicates a network connectivity or firewall problem.  See Tech Note 0002 for information about configuring firewalls.
78 DOC_ERR_DUPL "DOC Duplicate Request"
A request has been repeated after it was already begun.
79 DOC_ERR_INVALID "DOC Invalid Argument"
An internal function or transaction did not provide proper parameters.
80 DOC_ERR_DENIED "DOC Denied by Configuration"
A transaction is not permitted due to software configuration or user input.
81 DOC_ERR_LOST "DOC Lost Transaction (Server Restarted?)"
State information about a transaction has been lost.  This usually indicates that software was restarted in the middle of a transaction.  In rare cases, it can indicate that an NAT routing problem has suddenly redirected traffic from one MTP/IP host to another.
82 DOC_ERR_CAPACITY "DOC Capacity Exceeded"
The software has exceeded its load capacity.  This may indicate that the number of concurrent transactions exceeds the licensed capacity of the software.  Contact DEI if you wish to increase your transaction capacity.
83 DOC_ERR_SHUTDOWN "DOC Shutting Down"
An attempt was made to begin a request after the application began shutting down.
84 DOC_ERR_MTP "DOC MTP Call Failed"
An unexpected MTP/IP error occurred.
85 DOC_ERR_INIT "DOC Not Initialized"
The application tried to use DOC before the library was initialized.
86 DOC_ERR_REENTRY "DOC Re-entry Error"
The application attempted to access the DOC library on a manner not permitted.
87 DOC_ERR_INVDEL "DOC Invalid Delivery Target"
A data source or destination could not be accessed.
88 DOC_ERR_PROCESSING "DOC Processing Data"
The transaction is waiting while the application finishes processing the data.

SEQ Errors

The following messages may be reported by MTP Streaming, the SDK responsible for managing dynamic content processing in most MTP/IP applications.  Examples include compression, streaming folders, object handlers, and stdio pipes.

 5 SEQ_ERR_ADDRESS "SEQ Address Too Small"
The requested address is earlier than the start of the stream.
 7 SEQ_ERR_SIZE "SEQ Address Too Large"
An address beyond the end of the stream or impossibly large was requested.
 8 SEQ_ERR_EOD "SEQ End of Data"
The end of the stream has been reached.
 8 SEQ_ERR_WAIT "SEQ Waiting for Data"
The requested data is not yet available.
64 SEQ_ERR_REENTRY "SEQ Re-entry Error"
The application attempted to access the SEQ library on a manner not permitted.
65 SEQ_ERR_BADSTREAM "SEQ Invalid Stream Pointer"
The application attempted to operate on an invalid stream.
66 SEQ_ERR_BADARG "SEQ Invalid Argument"
An internal function or transaction did not provide proper parameters.
67 SEQ_ERR_CAPACITY "SEQ Capacity Exceeded"
The software has exceeded its load capacity.  This is not related to server license capacity and instead indicates excessive network loss rates.  Contact DEI for assistance.
68 SEQ_ERR_INTERNAL "SEQ Internal Error"
An internal problem occurred, likely indicating a bug.
69 SEQ_ERR_FREED "SEQ Stream Already Freed"
The application attempted to free a stream that was already freed.
70 SEQ_ERR_MEMORY "SEQ Out of Memory"
The application has run out of memory or is receiving memory errors from the operating system.

Additional Errors

Other applications, SDKs, and future releases may use error codes which are not listed here.  If you see the error text "Unknown Error Code", it likely indicates a version compatibility problem between two network nodes.

For additional assistance interpreting MTP/IP errors, please contact DEI Technical Support or your local reseller.

Tech Note History

Jun142022Note APP codes with special meaning
Jan032021Updated for 4.4
Jun152021Added API constants, updated error descriptions
Oct292015Updated for 4.2
Mar282011Updated for 3.15
Jun032010Updated for 3.14
Jun262009Updated for 3.13.6
Numerical Values
Dec222008Updated for 3.13.4
Dec042008Clarifications
Oct222008First Post MTP 3.13.2