bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 5/5] add setting gs/fsbase


From: Sergey Bugaev
Subject: Re: [PATCH 5/5] add setting gs/fsbase
Date: Wed, 26 Apr 2023 20:33:20 +0300

Hi again,

I managed to break gnumach in a new and exciting way (tm):

../kern/ipc_tt.c:395: retrieve_task_self_fast: Assertion
`task->itk_self != IP_NULL' failed.panic ../kern/debug.c:103:
Debugger: Debugger invoked, but there isn't one!

This is after typing 'quit' in bc, which calls exit () -- I had to fix
up _hurd_exit () in glibc a little to not crash if we don't have
_hurd_ports. From single-stepping, it seems task_terminate () works,
as in it tears down and deallocates the kernel task_t, but then the
syscall (which task_terminate is) just returns back to userspace to
the now-nonexistent task, and it keeps running. It then calls another
syscall and that one breaks with the assertion above.

You should be able to reproduce this without glibc by just calling
task_terminate (mach_task_self ()).

Sergey



reply via email to

[Prev in Thread] Current Thread [Next in Thread]