Problem with rtems_task_variable_delete

Dieter Schaefer Dieter.B.Schaefer at t-online.de
Wed Dec 10 18:35:51 UTC 2003


> On Tue, 09 Dec 2003 01:18:32 -0800 (PST), "Fernando RUIZ CASAS" wrote:
> 
> After browsing in the versions of sources the problem was fixed.
> 
> 
> http://www.rtems.com/cgi-bin/cvsweb.cgi/rtems/cpukit/rtems/src/tasks.c.diff?r1=1.34&r2=1.35
> 
> In tasks.c the problem can be isolated again.
> 
>  while (tvp) {   
>      next = tvp->next;      
>      if  (tvp->dtor)     
>          (*tvp->dtor)( tvp->ptr ); <<< HERE the change and the source of the problem.          
>      if (executing == deleted)      
>          *tvp->ptr = tvp->gval;          
>      _Workspace_Free( tvp );      
> 
> Some printk let to show the dtor, the ptr, and more...
> I can't test it. Sorry.
> 

Thank's for the hint. I had already modified this before. Unfortunately, 
it's not the solution. Here is what happens ... 
free(...) is called with the correct value 
|-> calles rtems_region_return_segment(...)
                |-> calles _RTEMS_Lock_allocator()
                                |-> calles _Internal_error_Occured(...)
                                               |-> calles _BSP_Fatal_error(...)
-> the end of the world.
Any ideas, any hints from RTEMS professionals?

BTW, did someone manage to run *all* spxx tests on a mbx8xx board 
successfully? Would be interesting to know if they all work with the 
unmodified BSP supplied in the source tree (rtems-4.6.0pre5)

Regards
Dieter Schaefer






More information about the users mailing list