Task threads are not killed at exit

Adam Lackorzynski adam at os.inf.tu-dresden.de
Mon Jun 10 23:48:41 CEST 2013


On Mon Jun 10, 2013 at 00:13:12 -0700, BogDan wrote:
> >>  Not all the task threads are killed when a task exits or it crashes.
> >>  I've created a  simple example here: http://paste.kde.org/760274
> >>  After application crashes (line 22), test thread is still alive, I still 
> > can
> >>  see "Test thread alive" message printed.
> > 
> > What happens is that the thread executing 'main' is having a page fault
> > while the other thread is doing fine. I guess exiting the app is easy in
> > that case but nothing left for debugging.
>> 
> But if nobody handles that exception (e.g. the debugger), then the kernel 
> shouldn't kill the task? This happens on all O.S.s I've tried (linux, *BSD, 
> windows, etc.) :)

For the kernel, the fault is handled by the re-kernel because it was
succesfully posted there. Now the re-kernel could exit, like described
above.
 
> >>  If I call exit or return instead to crash the task, the test thread is 
> > still alive .
> > 
> > That works fine for me.
>> 
> Still no joy on my side :(, I comment line 22 (the one which caused 
> the page fault), so the main function exists after 5 seconds but I still
> see the  "Test thread alive" message printed on my screen every
> second. I'm using Fiasco/L4Re from rev 56 for x86.

Use ned.



Adam
-- 
Adam                 adam at os.inf.tu-dresden.de
  Lackorzynski         http://os.inf.tu-dresden.de/~adam/




More information about the l4-hackers mailing list