kernel BUG at slab.c:1244 (delsi(

Miroslav BENES mbenes na tenez.cz
Středa Červen 27 15:51:59 CEST 2001


kernel BUG at slab.c:1244!
invalid operand: 0000
CPU:    0
EIP:    0010:[<c012b3d4>]
EFLAGS: 00010082
eax: 0000001b  ebx: c188d768   ecx: 00000001   edx: 00002370
esi: dba5a000  edi: dba5a9aa   ebp: 00012800   esp: dc0fde2c
ds: 0018   es: 0018   ss: 0018
Process mingetty (pid: 1014, stackpage=dc0fd000)
Stack: c01d9d6f 000004dc dba5a000 00001000 dba5a9aa ...
Call Trace: [<c01618cd>] [<c0162545>] ...
Code: 0f 0b 58 8b 6b 10 5a 81 e5 00 04 00 00 74 4d b8 a5 c2 0f 17 



Preji krasny den !

Tak tohle se mi objevilo vcera misto prihlasovaciho dialogu. Nemate 
nekdo poneti o co jde ?

System RH7.1cz, kernel 2.4.5-0.4 z RawHide prekladany s celkem 
normalnimi volbami.


Ve zminenem zdrojaku mm/slab.c je asi toto (hvezdickou oznacen tradek 
vyvolavajici hlasku) :

...
#if DEBUG
        if (cachep->flags & SLAB_POISON)
                if (kmem_check_poison_obj(cachep, objp))
(*)                        BUG();
        if (cachep->flags & SLAB_RED_ZONE) {
                /* Set alloc red-zone, and check old one. */
                if (xchg((unsigned long *)objp, RED_MAGIC2) !=
                                                         RED_MAGIC1)
                        BUG();
                if (xchg((unsigned long *)(objp+cachep->objsize -
                          BYTES_PER_WORD), RED_MAGIC2) != RED_MAGIC1)
                        BUG();
                objp += BYTES_PER_WORD;
        }
#endif
...

Vola se funkce kmem_check_poison_obj, ktera vypada takto :

...
static inline int kmem_check_poison_obj (kmem_cache_t *cachep, void
*addr) {
        int size = cachep->objsize;
        void *end;
        if (cachep->flags & SLAB_RED_ZONE) {
                addr += BYTES_PER_WORD;
                size -= 2*BYTES_PER_WORD;
        }
        end = memchr(addr, POISON_END, size);
        if (end != (addr+size-1))
                return 1;
        return 0;
}
...

Takze to vypada, ze kernel ma nejaky bordel v kesi ?!?
Je neco v neporadku se spravou pameti v posledich 2.4.x kernelech ?

Jen tak na okraj - v te masine je 512 MB, startuje se textovy rezim a 
mam dojem, ze to co bezi by se do te pameti muselo vejit aspon 5x.


Diky za kazdy tip.



--------------------------
Miroslav BENES
E-mail   : mbenes na tenez.cz
TENEZ Chotebor, a.s
--------------------------


Další informace o konferenci Linux