Skip to main content
Star us on GitHub Star

Circuit Create Error Codes

The most fundamental action of a working OpenZiti instance is the dialing of services to create connections and pass data. This action crosses a few borders, but the central process is the creation of a fabric circuit to carry the traffic between the initiating Edge node (SDK embedded application, client, tunneler, etc.) and the terminating Edge node. When this process fails, it is important to understand why it failed, to properly troubleshoot the issue. Below is a table of the various cause codes emitted by the OpenZiti Controller, and a brief description of the context of the error.

Circuit Create Error / Failure CauseDescription
CircuitFailureInvalidService / INVALID_SERVICEThe service identity given to the controller in the connection request is not found in the controller's configuration database . The endpoint has gotten out of sync with the controller, most likely due to very near term changes, or failure of the client software to properly process service changes.
CircuitFailureIdGenerationError / ID_GENERATION_ERRThe circuit identity generation function has failed to generate and return a circuit identity string
CircuitFailureNoTerminators / NO_TERMINATORSThe service requested in the connection request has no terminators. This is normally indicative of a hosting device having lost connection to the network, either due to process, network, or power issues. The controller is unable to create a path.
CircuitFailureNoOnlineTerminators / NO_ONLINE_TERMINATORSThe only terminators in the controller network map are hosted by routers that are currently in an offline state.
CircuitFailureNoPath / NO_PATHDuring the routing evaluation, no path was calculable between the initiating and terminating devices.
CircuitFailurePathMissingLink / PATH_MISSING_LINKThere is no set of links that can create a valid path from the initiating router to the terminator. This may be caused by link failures, router failures, or policies the preclude certain paths.
CircuitFailureInvalidStrategy / INVALID_STRATEGYThere are multiple routing strategies allowed, though at this time, only smart routing is in use. This failure would indicate that a service has a routing strategy defined that the controller is unaware of.
CircuitFailureStrategyError / STRATEGY_ERRThis indicates that the service's defined routing strategy returned an error not otherwise captured
CircuitFailureRouterErrGeneric / ROUTER_ERR_GENERICFailure on route creation not otherwise captured
CircuitFailureRouterErrInvalidTerminator / ROUTER_ERR_INVALID_TERMINATORThe service requested in the connection request has no online terminators. This is normally indicative of a terminator state problem, where the controller believes there is a valid terminator, however, the device hosting that terminator has responded that the terminator is not valid
CircuitFailureRouterErrMisconfiguredTerminator / ROUTER_ERR_MISCONFIGURED_TERMINATORThe data object for the terminator is not correctly formatted or otherwise unusable, resulting in an inability of the system to properly utilize the terminator to create a fabric circuit
CircuitFailureRouterErrDialTimedOu / ROUTER_ERR_DIAL_TIMED_OUTThe dial from the terminating host to the socket configured for the service experienced a timeout when attempting to connect. This is most likely caused by a routing or service issue preventing the TCP or UDP connection from the hosting device to the configured service definition.
CircuitFailureRouterErrDialConnRefused / ROUTER_ERR_CONN_REFUSEDThe dial from the terminating host to the socket configured for the service received a TCP reset (RST) packet when attempting to connect. This is most likely caused by a routing or service issue preventing the TCP or UDP connection from the hosting device to the configured service definition.