The function RiCErrorHandler_error() uses enumerated constants, defined in RiCErrorHandler.h which are described below. When debugging, tracing the call stack will help you understand what went wrong:
| OXF_INFINITE_NULL_TRANS | The function RiCReactive_consumeEvent() has detected an
infinit loop when executing your UML model. Please read the section on "Null Transitions" in the Rhapsody in C User Guide by IBM Rational. The constant OMDEFAULT_MAX_NULL_STEPS which defines the maximum, is set in RiCReactive.c, its default value is 100. |
| OXF_TASK_CREATE_FAILED | There are several possible causes for this:
|
| OXF_TASK_INIT_FAILED | Reserved for future use. |
| OXF_TASK_WAIT_FAILED | Reserved for future use. |
| OXF_TASK_START_FAILED | Reserved for future use. |
| OXF_TASK_WAKE_FAILED | The function RiCOSTask_resume() fails to lock or unlock a mutex used to prevent a race conditioning in waking up the specified task. |
| OXF_TASK_NAME_FAILED | Reserved for future use. |
| OXF_TASK_PRIORITY_FAILED | There are several possible causes for this:
|
| OXF_TASK_DELETE_FAILED | There are several possible causes for this:
|
| OXF_TASK_CLEANUP_FAILED | The function RiCOSTask_cleanup() is passed a NULL pointer |
| OXF_TASK_SETSTACK_FAILED | There are two possible locations, and errno will indicate the reason:
|
| OXF_TIMER_CREATE_FAILED | The Framework is not capable of creating a new timer, caused by Linux not having enough resources to allocate a RiCOSTimer structure. |
| OXF_TIMER_START_FAILED | Reserved for future use. |
| OXF_TIMER_DELETE_FAILED | Reserved for future use. |
| OXF_TIMER_DESTROY_FAILED | Reserved for future use. |
| OXF_MBOX_FAILED | Reserved for future use. |
| OXF_MBOX_SEND_FAILED | Reserved for future use. |
| OXF_MBOX_WAIT_FAILED | Reserved for future use. |
| OXF_MBOX_PEND_FAILED | Reserved for future use. |
| OXF_EVENT_FAILED | Reserved for future use. |
| OXF_SOCKET_FAILED | Reserved for future use. |
| OXF_INTR_INIT_FAILED | Reserved for future use. |
| OXF_RTOS_ERROR | There are several possible causes for this:
|
| OXF_BRIDGE_TIMER_FAILED | Reserved for future use. |
| OXF_BRIDGE_CREATE_FAILED | Reserved for future use. |
| OXF_BRIDGE_START_FAILED | Reserved for future use. |
| OXF_SEMA_CREATE_FAILED | The Framework is not capable of creating a new semaphore, caused by Linux not having enough resources to allocate a RiCOSSemaphore structure. |
| OXF_SEMA_INIT_FAILED | There are several possible causes for this:
|
| OXF_SEMA_DESTROY_FAILED | Reserved for future use. |
| OXF_SEMA_CLEANUP_FAILED | The function RiCOSSemaphore_cleanup() failed to destroy a semaphore: sem_destroy() returned an error. The variable errno will be set and will indicate the reason. |
| OXF_SEMA_SIGNAL_FAILED | The function RiCOSSemaphore_signal() failed to post to a semaphore: sem_post() returned an error. The variable errno will be set and will indicate the reason. |
| OXF_SEMA_WAIT_FAILED | The function RiCOSSemaphore_wait() failed to wait for a semaphore: sem_timedwait() returned an error. The variable errno will be set and will indicate the reason. |
| OXF_MUTEX_CREATE_FAILED | The Framework is not capable of creating a new mutex, caused by Linux not having enough resources to allocate a RiCOSMutex structure. |
| OXF_MUTEX_INIT_FAILED | The function RiCOSMutex_init() failed to initialize a mutex: pthread_mutex_init() returned an error. The variable errno will be set and will indicate the reason. |
| OXF_MUTEX_DESTROY_FAILED | Reserved for future use. |
| OXF_MUTEX_LOCK_FAILED | There are several possible causes for this:
|
| OXF_MUTEX_CLEANUP_FAILED | The function RiCOSMutex_cleanup() failed to destroy a mutex: pthread_mutex_destroy() returned an error. The variable errno will be set and will indicate the reason. |
| OXF_MUTEX_FREE_FAILED | There are several possible causes for this:
|
| OXF_INVALID_MUTEX_ID | Reserved for future use. |
| OXF_EVFLAG_CREATE_FAILED | The Framework is not capable of creating a new event flag, caused by Linux not having enough resources to allocate a RiCOSEventFlag structure. |
| OXF_EVFLAG_INIT_FAILED | Reserved for future use. |
| OXF_EVFLAG_DESTROY_FAILED | Reserved for future use. |
| OXF_EVFLAG_CLEANUP_FAILED | Reserved for future use. |
| OXF_EVFLAG_RESET_FAILED | Reserved for future use. |
| OXF_EVFLAG_WAIT_FAILED | Reserved for future use. |
| OXF_EVFLAG_SIGNAL_FAILED | Reserved for future use. |
| OXF_MSGQ_CREATE_FAILED | The Framework is not capable of creating a new message queue, caused by Linux not having enough resources to allocate a RiCOSMessageQueue structure. |
| OXF_MSGQ_DESTROY_FAILED | Reserved for future use. |
| OXF_MSGQ_INIT_FAILED | There are two possible causes for this:
|
| OXF_MSGQ_GET_FAILED | There are two possible causes for this:
|
| OXF_MSGQ_PUT_FAILED | There are several possible causes for this:
|
| OXF_MSGQ_FULL_FAILED | Reserved for future use. |
| OXF_MSGQ_PEND_FAILED | The function RiCOSMessageQueue_pend() failed to get the attributes of a message queue: mq_getattr() returned an error. The variable errno will be set and will indicate the reason. |
| OXF_MSGQ_EMPTY_FAILED | Reserved for future use. |
| OXF_MSGQ_LIST_FAILED | Reserved for future use. |
| OXF_MSGQ_CLEANUP_FAILED | The function RiCOSMessageQueue_cleanup() failed to close the message queue: mq_close() returned an error. The variable errno will be set and will indicate the reason. |
| OXF_EMPTY_ME_PTR | The me pointer passed in a function of the RTOS Adapter is NULL. |
| OXF_ALLOC_FAILED | The function RiCMemoryAllocator_getMemory()
or RiCOSMemoryAllocation_malloc() or
RiCOSMemoryAllocation_realloc() fails to allocate memory. Please also look at the constant NO_MALLOC. |
| OXF_NOT_IMPLEMENTED | A function calloc() which is protected against task switches, see RiCOSMemoryAllocation_calloc() in RiCOSDimMemoryAllocation.c is not implemented. |
| OXF_VERSION_ERROR | Reserved for future use. We are working on a runtime check on different options set for library and the rest |