Opened 9 years ago

Last modified 2 years ago

#6121 assigned bug

PANIC: destroying a slab which isn't empty by 'low resource manager'

Reported by: kallisti5 Owned by: nobody
Priority: normal Milestone: R1
Component: System/Kernel Version: R1/Development
Keywords: slab Cc:
Blocked By: Blocking:
Has a Patch: no Platform: x86

Description

Gcc2 hybrid, hrev36995. 1G memory, freshly rebooted.

Seems to occur on low memory situations... Here is what I was doing when it occured...

Set Background to very large image scaled. (3000x3000+)

Open the background in Wonderbrush, resize the image to 1024x768. (40% memory used now)

save it.

Attempt to change wallpaper, crash.

Attachments (1)

2010-06-02 15.16.30.jpg (112.0 KB) - added by kallisti5 9 years ago.
trace of crash

Download all attachments as: .zip

Change History (3)

Changed 9 years ago by kallisti5

Attachment: 2010-06-02 15.16.30.jpg added

trace of crash

comment:1 Changed 9 years ago by bonefish

Keywords: slab added

The slab comes straight out of the cache's empty slab list and the cache is locked at that point. Looks like a structural corruption. The size == count predicate which fails here is also used for adding a slab to the list and count is only decremented after removing the slab from the list (when allocating an object). I don't see locking problems, since slabs are always handled with the cache locked. A double free could cause such a problem; count would become greater than size in this case. A memory dump of the slab structure would have been interesting (dw <slab> 16), information on the cache maybe, too (slab_cache <cache>).

comment:2 Changed 2 years ago by axeld

Owner: changed from axeld to nobody
Status: newassigned
Note: See TracTickets for help on using tickets.