Opened 11 years ago

Closed 11 years ago

#4326 closed bug (fixed)

Crash in block cache when unmounting partition.

Reported by: bga Owned by: axeld
Priority: high Milestone: R1
Component: System/Kernel Version: R1/pre-alpha1
Keywords: Cc:
Blocked By: Blocking:
Platform: All


I was doing a new Haiku installation and this involved copying hundreds of thousands of files from the old partition to the new one. My first attempt to do the copy resulted in a crash but I have a USB keyboard so I could not get a stack crawl. I reformatted the partition and tried again taking care to intentionally enter KDL once so the keyboard would be enabled if I ended up in KDL again.

Contrary to what I expected, the copy concluded without problems. I opened a terminal window and ran sync just in case. Then I tried to unmount the destination partition (the one I copied the data to) and got into KDL with a crash in the block cache.

GCC2 hrev32639.

Attachments (1)

kdl.jpg (264.0 KB ) - added by bga 11 years ago.

Download all attachments as: .zip

Change History (5)

by bga, 11 years ago

Attachment: kdl.jpg added

comment:1 by axeld, 11 years ago

This is probably a duplicate of #4223.

comment:2 by bga, 11 years ago

It may be so, but the way to get at the bug was different, which may shed some more light. But yes, both seem to be crashes at heap_free().

comment:3 by axeld, 11 years ago

That the crash is in heap_free() just indicates a memory corruption; the relation of the bugs is that this happened while mounting/unmounting BFS partitions.

comment:4 by mmlr, 11 years ago

Resolution: fixed
Status: newclosed

From the situation it occured in I gather that a lot of heap memory was freed, leading to empty areas. The area removal kicked in and an additional heap area was deleted, crashing later due to accessing the next pointer stored in the deleted area. Fixed in hrev32951.

Note: See TracTickets for help on using tickets.