Opened 11 years ago

Closed 10 years ago

#2550 closed bug (fixed)

[ReiserFS] PANIC: Had reserved page, but there is none!

Reported by: stippi Owned by: bonefish
Priority: normal Milestone: R1
Component: System/Kernel Version: R1/pre-alpha1
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

When copying large data from a ReiserFS volume, eventually I get this panic, seems to be reproducable every time. The used memory goes up and up in ProcessController, maybe this is actually a leak. Here is the stack crawl:

...
kernel>:panic
kernel>:vm_page_allocate_page
kernel>:map_tmap
kernel>:vm_map_page
kernel>:vm_create_annonymous_area
kernel>:create_area
kernel>:area_allocate_pages
kernel>:CreateSlab
kernel>:object_cache_reserved_internal
kernel>:object_cache_alloc
kernel>:Allocate
kernel>:NewBlock
kernel>:get_cached_block
kernel>:block_cache_get_etc
kernel>:block_cache_get
reiserfs>:_GetBlock
reiserfs>:_SetTo
reiserfs>:_ReadBlock
reiserfs>:GetBlock(BlockCache)
reiserfs>:GetBlock(Tree)
reiserfs>:_ReadIndirectItem
reiserfs>:ReadAt
reiserfs>:reiserfs_read

Change History (3)

comment:1 Changed 11 years ago by stippi

Milestone: R1/alpha1R1

Should have mentioned the revision when I initially reported this... anyways, if this is a ReiserFS problem, then it doesn't really need to be in the Alpha/1 Milestone.

comment:2 Changed 11 years ago by axeld

It's relatively impossible that this is a ReiserFS related problem (although it might manage to trigger it somehow). This problem happens when someone in the kernel uses more pages than previously reserved; this is low VM stuff, though.

But since I didn't see it yet (never used ReiserFS on Haiku, though), not having it in the alpha milestone doesn't seem to be wrong. It might even have been fixed in the mean time ;-)

comment:3 Changed 10 years ago by mmlr

Resolution: fixed
Status: newclosed

Fixed in hrev33032. Anything creating a B_FULL_LOCK area could trigger it due to an integer overflow in the loop condition. Most prominently seen in block cache or heap growing.

Note: See TracTickets for help on using tickets.