Problem solving
This is page is used to help developers tackle common problems that may arise when using openOBD.
gRPC Exceptions
Various gRPC exceptions are thrown during openOBD sessions and this page helps to understand and identify why and what they mean. Exceptions thrown
follow conventional gRPC status codes. These status codes are used
during gRPC runtime to whenever error occur to indicate the cause.
Status codes
This section is used to help developers identify what certain status codes mean when seen during runtime and what the possible causes might be.
It aims to help understand why the error codes are seen and their probable cause, ultimately helping the developer to better understand how sessions
and services work.
Sessions
This section addresses common gRPC error codes seen when trying to start a new session via a client implementation. It aims to help explain why these errors are seen and what they mean.
| gRPC status code | status | detail | reason |
|---|---|---|---|
| 3 | INVALID_ARGUMENT |
Invalid client | The Partner API credentials are not correct. |
| 7 | PERMISSION_DENIED |
Only allowed call to be made at this point is the authenticate() call | First call authenticate() before any other call can be made to an openOBD session. |
| 7 | PERMISSION_DENIED |
Session is already authenticated, at this point the authenticate() call is not permitted | The authenticate() call can only be made once to a session. Once authenticated it is 'claimed' by the process who made the authenticate() call. |
| 9 | FAILED_PRECONDITION |
No ticket found with the ticket number: "7961425" | Possibility that the ticket does not exists. |
| 14 | UNAVAILABLE |
Resource already in use. | There is already an openOBD session attached. |
| 14 | UNAVAILABLE |
There are no free resources available at the moment. Please try again in two minutes. | The number of available resources is too low. We start scaling out. |
| 14 | UNAVAILABLE |
There are no free resources available at the moment. Please try again in two minutes. | There are no available resources at all. We start scaling out. |
| 14 | UNAVAILABLE |
Cannot reach internal service! Please contact support if this problem persists. |
Only allowed call to be made at this point is the authenticate() call (gRPC status: 7, permission denied)
Services
This section addresses common gRPC error codes seen during active services in a session.
Streams
| gRPC status code | status | detail | reason |
|---|---|---|---|
| 13 | INTERNAL |
Received RST_STREAM with error code 2 | The stream is closed from the backend. This could be due to a number of reasons, the most common being a timeout (In this case, please refer to Session limitations). |
| 16 | UNAUTHENTICATED |
Session is not in the right state to accept commands (any more) | The openOBD session has been stopped. |