#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.