Sebastian Huber commented on a discussion on 
testsuites/validation/tc-task-delete.c: 
https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/808#note_135236

 >    longjmp( ctx->thread_dispatch_context, 1 );
 >  }
 >  
 > +static void DeleteAndJumpBack( Context * const ctx )
 > +{
 > +  if ( setjmp( ctx->thread_dispatch_context ) == 0 ) {
 > +    ctx->status = rtems_task_delete( ctx->id );
 > +  } else {
 > +    _Thread_Dispatch_unnest( _Per_CPU_Get() );
 > +  }
 > +}

The fatal error is detected by `_Thread_Dispatch_direct()`, for example:
```
#0  setjmp () at 
../../../../../../gcc-13.4.0/newlib/libc/machine/arm/setjmp.S:261
#1  0x00104f76 in Fatal (source=INTERNAL_ERROR_CORE, code=30, arg=0x200360 
<RtemsTaskReqDelete_Instance>)
    at ../../../testsuites/validation/tc-task-delete.c:658
#2  0x0011c41e in FatalInitialExtension (source=INTERNAL_ERROR_CORE, 
always_set_to_false=false, code=30)
    at ../../../testsuites/validation/tx-support.c:826
#3  0x00113000 in _User_extensions_Fatal_visitor (executing=0x2ab880 
<_RTEMS_tasks_Objects+2576>, 
    arg=0x208770 <task_storage+32328>, callouts=0x12b170 
<_User_extensions_Initial_extensions>)
    at ../../../cpukit/score/src/userextiterate.c:156
#4  0x0011307c in _User_extensions_Iterate (arg=0x208770 <task_storage+32328>, 
    visitor=0x112fd7 <_User_extensions_Fatal_visitor>, 
direction=CHAIN_ITERATOR_FORWARD)
    at ../../../cpukit/score/src/userextiterate.c:200
#5  0x00109b48 in _User_extensions_Fatal (source=INTERNAL_ERROR_CORE, error=30)
    at ../../../cpukit/include/rtems/score/userextimpl.h:467
#6  0x00109b68 in _Terminate (the_source=INTERNAL_ERROR_CORE, the_error=30)
    at ../../../cpukit/score/src/interr.c:66
#7  0x00109b7e in _Internal_error 
(core_error=INTERNAL_ERROR_BAD_THREAD_DISPATCH_DISABLE_LEVEL)
    at ../../../cpukit/score/src/interr.c:81
#8  0x0010c81a in _Thread_Dispatch_direct (cpu_self=0x27d500 
<_Per_CPU_Information>)
    at ../../../cpukit/score/src/threaddispatch.c:365
#9  0x0010df36 in _Thread_queue_Enqueue (queue=0x2b0910 
<_RTEMS_tasks_Objects+23200>, 
    operations=0x12b5f4 <_Thread_queue_Operations_priority_inherit>, 
    the_thread=0x2ab880 <_RTEMS_tasks_Objects+2576>, queue_context=0x208830 
<task_storage+32520>)
    at ../../../cpukit/score/src/threadqenqueue.c:490
#10 0x00110f98 in _Thread_Join (the_thread=0x2b0900 
<_RTEMS_tasks_Objects+23184>, waiting_for_join=16384, 
    executing=0x2ab880 <_RTEMS_tasks_Objects+2576>, queue_context=0x208830 
<task_storage+32520>)
    at ../../../cpukit/score/src/threadrestart.c:399
#11 0x001110ea in _Thread_Close (the_thread=0x2b0900 
<_RTEMS_tasks_Objects+23184>, 
    executing=0x2ab880 <_RTEMS_tasks_Objects+2576>, queue_context=0x208830 
<task_storage+32520>)
    at ../../../cpukit/score/src/threadrestart.c:495
#12 0x0010886c in rtems_task_delete (id=167837715) at 
../../../cpukit/rtems/src/taskdelete.c:88
#13 0x00104ff0 in DeleteAndJumpBack (ctx=0x200360 <RtemsTaskReqDelete_Instance>)
```

-- 
View it on GitLab: 
https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/808#note_135236
You're receiving this email because of your account on gitlab.rtems.org.


_______________________________________________
bugs mailing list
[email protected]
http://lists.rtems.org/mailman/listinfo/bugs

Reply via email to