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

Bug#46859: hurd_thread_cancel trips assertion



Package: libc0.2
Version: N/A
Severity: critical

Note: I'm sending this report such that this bug will enter the Debian
BTS.  The bug has been discussed before on bug-hurd and Roland will
(eventually) look into it.  I don't think any immedeate action needs
to be taken by any other party.  A summary of the discussion on
bug-hurd follows.


I caught the term server on /dev/console failing the following
assertion in hurd_thread_cancel() (hurd/thread-cancel.c:46):

  assert (! __spin_lock_locked (&ss->critical_section_lock));

Since there is no guarantee that the target thread is not in a
critical section, there is obviously something wrong here.

Thomas suggested that there is no need to take the critical section
lock.  I believe that taking the critical section lock is necessary to
prevent the target thread from entering a signal handler.  Roland will
look into the problem.


Mark


Reply to: