Mutex Problems

Gert Caspersen gec at terma.com
Tue Mar 22 12:56:17 UTC 2005


I am currently using RTEMS in combination with the GNAT Ada 95 compiler. 
I am observing a non-deterministic failure, that appears to be the 
result of a race condition.

My application is crashing after a while with the error message:

     /assertion "0" failed: file 
"/opt/rtems-4.6/source/rtems-4.6.1/cpukit/posix/src/mutexfromcorestatus.c", 
line 50
/
Execution is appearantlyu falling off the end of the following case:

      switch ( status ) {
        case CORE_MUTEX_STATUS_SUCCESSFUL:
          return 0;
        case CORE_MUTEX_STATUS_UNSATISFIED_NOWAIT:
          return EBUSY;
        case CORE_MUTEX_STATUS_NESTING_NOT_ALLOWED:
          return EDEADLK;
        case CORE_MUTEX_STATUS_NOT_OWNER_OF_RESOURCE:
          return EPERM;
        case CORE_MUTEX_WAS_DELETED:
          return EINVAL;
        case CORE_MUTEX_TIMEOUT:
          return EAGAIN;
        case CORE_MUTEX_STATUS_CEILING_VIOLATED:
          return EINVAL;
        default:
          break;
      }
      assert( 0 );

Has anybody seen this one before?
Do you have any suggestions as to what may be causing this.

-- 

Gert Caspersen
Project Manager
Space

Terma A/S
Vasek=E6r 12
2730 Herlev
Denmark

T +45 8743 6000
T +45 4594 9653 (direct)
F +45 8743 6001
E gec at terma.com
W www.terma.com



Attention:
This e-mail (and attachment(s), if any) - intended for the addressee(s)
only - may contain confidential, copyright, or legally privileged
information or material, and no one else is authorized to read, print,
store, copy, forward, or otherwise use or disclose any part of its
contents or attachment(s) in any form. If you have received this e-mail
in error, please notify me by telephone or return e-mail, and delete
this e-mail and attachment(s). Thank you.




More information about the users mailing list