[haiku-bugs] Re: [Haiku] #15211: KDL in MultiLocker::ReadLock()

  • From: "Haiku" <trac@xxxxxxxxxxxx>
  • To: undisclosed-recipients: ;
  • Date: Thu, 01 Aug 2019 12:03:38 -0000

#15211: KDL in MultiLocker::ReadLock()
-----------------------------+----------------------------
   Reporter:  3dEyes         |      Owner:  waddlesplash
       Type:  bug            |     Status:  assigned
   Priority:  normal         |  Milestone:  Unscheduled
  Component:  System/Kernel  |    Version:  R1/Development
 Resolution:                 |   Keywords:
 Blocked By:                 |   Blocking:
Has a Patch:  0              |   Platform:  All
-----------------------------+----------------------------

Comment (by waddlesplash):

 This is actually the opposite panic; it's occuring on unlock, not lock.
 And it's not a GPE, it seems to be one of the assert failures in the mutex
 code; but you've typed bt again (why? There's already a backtrace printed
 automatically...) and so the actual message is cut off.

 This is much more interesting than the last one. The thread_block syscall
 only operates on the current thread, which there really is no way of
 destroying while it is running, and so the thread structure getting
 corrupted is about the only option. Since this is now occurring inside
 GetAndLock, this means the thread is still in the hash, but the mutex is
 indeed destroyed or corrupted. So then this is pretty much proof there is
 memory corruption.

 threedeyes, can you please do a guarded heap build of the kernel, and
 additionally change the thread structs to be allocated from the heap
 rather than their object cache? That should hopefully catch whatever is
 corrupting memory here.

-- 
Ticket URL: <https://dev.haiku-os.org/ticket/15211#comment:10>
Haiku <https://dev.haiku-os.org>
The Haiku operating system.

Other related posts: