got a panic on 5.4-STABLE

Rong-En Fan grafan at gmail.com
Wed Sep 21 01:11:13 PDT 2005


On 8/28/05, Rong-En Fan <grafan at gmail.com> wrote:
> And I also looked at the dump file, looks like that when calling
> m_copym(), m->m_len is 20, off is 1500, m->m_next is NULL
> After first iteration, m becomes NULL...
> 
> #20 0xc051d62f in m_copym (m=0x0, off0=1500, len=1480, wait=1)
>     at /usr/src/sys/kern/uipc_mbuf.c:389

I have turned off mpsafenet and got another panic yesterday.
The panicstr is:
kmem_malloc(4096): kmem_map too small: 335544320 total allocated

The backtrace is here: (sorry, no console log, it was flushed by the fsck
messages)
(kgdb) bt full
#0  doadump () at pcpu.h:160
No locals.
#1  0xc04e0385 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:410
        first_buf_printf = 1
#2  0xc04e0733 in panic (
    fmt=0xc0677392 "kmem_malloc(%ld): kmem_map too small: %ld total allocated")
    at /usr/src/sys/kern/kern_shutdown.c:566
        td = (struct thread *) 0xc1f59c00
        bootopt = 260
        newpanic = 0
        ap = 0xc1f59c00 "L�:� �:�"
        buf = "kmem_malloc(4096): kmem_map too small: 335544320 total
allocated", '\0' <repeats 191 times>
#3  0xc05fb1c4 in kmem_malloc (map=0xc0c590c0, size=4096, flags=1026)
    at /usr/src/sys/vm/vm_kern.c:299
        offset = 0
        i = 0
        entry = 0xd603f0c0
        addr = 3253096448
        m = 0xc0c64b48
        pflags = -704384832
#4  0xc060da82 in page_alloc (zone=0xc0c52840, bytes=0, pflag=0x0, wait=0)
    at /usr/src/sys/vm/uma_core.c:957
        p = (void *) 0x0
#5  0xc060d4df in slab_zalloc (zone=0xc0c52840, wait=1026)
    at /usr/src/sys/vm/uma_core.c:827
        slabref = 0x0
        slab = 0x0
        flags = 2 '\002'
        i = -1060746424
#6  0xc060f0ec in uma_zone_slab (zone=0xc0c52840, flags=1282)
    at /usr/src/sys/vm/uma_core.c:1994
        slab = 0x0
        keg = 0xc0c64b40
#7  0xc060f352 in uma_zalloc_bucket (zone=0xc0c52840, flags=1282)
    at /usr/src/sys/vm/uma_core.c:2103
        bucket = 0xc3e6f624
        slab = 0xc0c52840
        saved = 0
        max = 128
        origflags = 1282
#8  0xc060ef3a in uma_zalloc_arg (zone=0xc0c52840, udata=0x0, flags=1282)
    at /usr/src/sys/vm/uma_core.c:1911
        item = (void *) 0xe4b39730
        cache = 0xc0c52878
        bucket = 0x0
        cpu = 0
#9  0xc04d3f00 in malloc (size=192, type=0xc069d0e0, flags=1282) at uma.h:276
        indx = 4
        va = 0x800 <Address 0x800 out of bounds>
        zone = 0x0
        keg = 0xc0c64b40
#10 0xc05d7e67 in softdep_setup_freeblocks (ip=0xc439a604,
length=Unhandled dwarf expression opcode 0x93
)
    at /usr/src/sys/ufs/ffs/ffs_softdep.c:1963
        freeblks = (struct freeblks *) 0xc2330900
        inodedep = (struct inodedep *) 0x1
        adp = (struct allocdirect *) 0x0
        vp = (struct vnode *) 0x0
        bp = (struct buf *) 0x2
        fs = (struct fs *) 0xc229f800
        extblocks = -3098686512764636259
        datablocks = Unhandled dwarf expression opcode 0x93

I read FreeBSD FAQ 5.10 and 5.11, which describe this kind of panic.
This machine has 1G memory. So I turned

kern.ipc.nmbclusters: 25600 -> 32768
vm.kmem_size_max: 335544320 -> 419430400
vm.kmem_size_scale: 3 -> 2

Now, the vm.kmem_size is 419430400 (before is 335544320).
I'm wondering if these 3 panics are related to not enough kmem?
So, I would like to know is there any way to monitor kmem usage?
BTW, after first panic, I turned off SACK but no help. After the second
one, I turned off mpsafenet.

Regards,
Rong-En Fan


More information about the freebsd-stable mailing list