Opened 12 years ago

Closed 12 years ago

#1911 closed bug (fixed)

PANIC: heap: huge allocation of 6292992 bytes asked!

Reported by: thorn Owned by: axeld
Priority: high Milestone: R1/alpha1
Component: File Systems/BFS Version: R1/pre-alpha1
Keywords: Cc:
Blocked By: Blocking:
Platform: All


Haiku hrev24348 backtrace included

Attachments (1)

panic2.PNG (48.7 KB ) - added by thorn 12 years ago.

Download all attachments as: .zip

Change History (7)

by thorn, 12 years ago

Attachment: panic2.PNG added


comment:1 by thorn, 12 years ago

Component: - GeneralFile Systems/BFS

after reboot:

bfs: Replay log, disk was not correctly unmounted... run count: 11264, array max: -1, max runs: 254 bfs: Log entry has broken header! bfs: replaying log entry from 452 failed: Bad data bfs: could not initialize journal/block bitmap allocator! bfs: bfs_mount:127: Out of memory SCSI_DSK -- synchronize_cache: bfs: Remove:1680: No such file or directory bfs: Could not find value in index "size"! bfs: Remove:1680: No such file or directory bfs: Could not find value in index "last_modified"! SCSI_DSK -- synchronize_cache:

comment:2 by axeld, 12 years ago

Milestone: R1R1/alpha1
Priority: normalhigh

What size is your disk? BFS currently loads the whole block bitmap on mount to correct an eventual incorrect used block count. There is no reason why it does it this way, though.

comment:3 by thorn, 12 years ago

I can try to repeat and send broken bfs image to you. bfs volume - 2G block size - 2048 memory - 256M

comment:4 by axeld, 12 years ago

Okay, with that disk size, the block bitmap should be about 120K bytes large. Also, I was wrong with my original statement; BFS only allocates allocation group sized blocks, so probably 10K. Looks like your disk is seriously broken. Probably due to broken log entries. What exactly did you do with that disk before?

comment:5 by thorn, 12 years ago

heh, it's a virtual disk image (vmdk)

comment:6 by axeld, 12 years ago

Resolution: fixed
Status: newclosed

I've improved BPlusTree::_SeekDown() in rr24411 to detect errors in the B+tree structure earlier. Since I've also fixed a big bug in hrev24410 that could have clobbered your disk before, I'm closing this bug. Without more information, I can't do anymore, anyways - and that particular thing cannot happen anymore that way.

Note: See TracTickets for help on using tickets.