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