On Sat, Sep 19, 2020 at 5:41 AM Utkarsh Rai <utkarsh.ra...@gmail.com> wrote:
>
> Hello,
> When I isolate more than two threads in RTEMS (the implementation can be 
> found here), I get fatal exceptions while context-switching. On stepping into 
> the code, the problem seems to be with the _User_extensions_Thread_*() call  
> just after a context-switch, in particular when the iterators are initialized 
> inside this call. The issue is the fact that we mark the stack space of the 
> switched out thread as 'NO_ACESS' and then try to access iterators(which 
> belong to the stack space of the switched-out thread) from a different 
> thread, which leads to fatal exceptions.
> I am not sure how to handle this issue because I am not very clear on the 
> purpose of the "user extension" functionality or its implementation. Any help 
> would be appreciated, as this may possibly be the last hurdle for a mergeable 
> thread stack isolation feature.

Are you testing in an SMP configuration? The user extensions in
uniprocessor run before the context switch. It would help if you
provide a trace of your debug. You might consider using the event
recorder to also help with your debugging.
https://docs.rtems.org/branches/master/user/tracing/index.html


> _______________________________________________
> devel mailing list
> devel@rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to