Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 18 Jul 2007 23:04:34 +0200
From:      Michal Mertl <mime@traveller.cz>
To:        freebsd-stable <freebsd-stable@freebsd.org>
Subject:   Panic with umass (with USB tape and Amanda)
Message-ID:  <1184792674.1670.7.camel@genius.i.cz>

next in thread | raw e-mail | index | archive | help
Hello everybody,

I have just had a panic on 6.2 amd64 box with ehci connected USB DDS4
tape drive while it was for the first time being accessed with Amanda. I
have previously successfully tested it with tar.

I have a kernel crash dump with the following information:

panic: trying to sleep while sleeping is prohibited
cpuid = 0
KDB: stack backtrace:
panic() at panic+0x250
sleepq_add() at sleepq_add+0x225
msleep() at msleep+0x132
bwait() at bwait+0x55
swap_pager_putpages() at swap_pager_putpages+0x45c
vm_pageout_flush() at vm_pageout_flush+0x13b
vm_contig_launder_page() at vm_contig_launder_page+0xdc
vm_page_alloc_contig() at vm_page_alloc_contig+0x321
contigmalloc() at contigmalloc+0x5f7
bus_dmamem_alloc() at bus_dmamem_alloc+0x80
usb_block_allocmem() at usb_block_allocmem+0x118
usb_allocmem() at usb_allocmem+0x13e
usbd_transfer() at usbd_transfer+0xf1
umass_setup_transfer() at umass_setup_transfer+0x3b
umass_bbb_state() at umass_bbb_state+0xc0
usb_transfer_complete() at usb_transfer_complete+0x217
uhci_softintr() at uhci_softintr+0x100
uhci_intr1() at uhci_intr1+0x152
ithread_loop() at ithread_loop+0x148
fork_exit() at fork_exit+0xbb
fork_trampoline() at fork_trampoline+0xe

bt full

#0  0xffffffff8027ca40 in shutdown_conf (unused=0x0)
    at ../../../kern/kern_shutdown.c:138
No locals.
#1  0xffffffff8027d304 in boot (howto=-2004318071)
    at ../../../kern/kern_shutdown.c:209
        _ep = (struct eventhandler_entry *) 0x0
        _el = (struct eventhandler_list *) 0xffffff007b84c800
        first_buf_printf = 1
#2  0xffffffff8027cd9b in panic (
    fmt=0xffffffff803dfa78 "trying to sleep while sleeping is
prohibited")
    at ../../../kern/kern_shutdown.c:542
        bootopt = 260
        newpanic = 1
        ap = {{gp_offset = 8, fp_offset = 48, 
    overflow_arg_area = 0xffffffffb197a650, 
    reg_save_area = 0xffffffffb197a570}}
        buf = "trying to sleep while sleeping is prohibited", '\0'
<repeats 211 times>
#3  0xffffffff8029f02a in sleepq_switch (wchan=0x0)
    at ../../../kern/subr_sleepqueue.c:447
No locals.
#4  0xffffffff8028337c in msleep (ident=0xffffffff80560b40, mtx=0x0, 
    priority=68, wmesg=0xffffffff803ef69a "swwrt", timo=0)
    at ../../../kern/kern_synch.c:133
        p = (struct proc *) 0xffffffff9f826428
        catch = 0
        rval = -2141828960
        flags = -2141828960
#5  0xffffffff802cd1d6 in vfs_unbusy_pages (bp=0xffffffff803ef69a)
    at ../../../kern/vfs_bio.c:3227
        i = 0
        obj = 0x1
        m = 0xffffffff9f826428
#6  0xffffffff8034b691 in swap_pager_copy
(srcobject=0xffffff007fd8a570, 
    dstobject=0x0, offset=18446742974451804800, destroysource=-1)
    at ../../../vm/swap_pager.c:766
        i = 18446744072394090256
#7  0xffffffff80361a70 in vm_pageout_object_deactivate_pages (
    pmap=0xffffffffb197a810, first_object=0xffffff000f21ea80, 
    desired=-1315461200) at ../../../vm/vm_pageout.c:539
        backing_object = 0xffffffff802cd1d6
        object = 0x1
        p = 0xffffffff802cd1d6
        next = 0xffffffffb197a710
        actcount = -1
        rcount = 0
        remove_mode = -1315461232
#8  0xffffffff80351338 in vm_page_release_contigl
(m=0xffffff000f21ea80, 
    count=18446742976342828400) at ../../../vm/vm_contig.c:353
No locals.
#9  0xffffffff803518b3 in contigmalloc (size=0, type=0xffffffff,
flags=-256, 
    low=32768, high=1048575, alignment=505970,
boundary=18446742976282112000)
    at ../../../vm/vm_contig.c:579
        ret = (void *) 0x7b872
        pages = 0x1
        npgs = 4503560972664832
#10 0xffffffff80352040 in contigmalloc (size=0,
type=0xffffffff80521d20, 
    flags=1, low=0, high=4294967295, alignment=0, boundary=0)
    at ../../../vm/vm_contig.c:546
        ret = (void *) 0x0
        pages = 0xffffff0076a46860
        npgs = 8
#11 0xffffffff80368f3d in alloc_bounce_pages (dmat=0x0,
numpages=1457574160)
    at ../../../amd64/amd64/busdma_machdep.c:1061
---Type <return> to continue, or q <return> to quit---
        bpage = (struct bounce_page *) 0x1
        bz = (struct bounce_zone *) 0xffffff000978ed00
        count = 1
#12 0xffffffff802379ff in usb_block_allocmem (tag=0xffffff0056e0d100,
size=0, 
    align=32768, dmap=0xffffff0076a46860)
at ../../../dev/usb/usb_mem.c:187
        p = (usb_dma_block_t *) 0x0
#13 0xffffffff80237bba in usb_allocmem (bus=0x0, size=32768, align=0, 
    p=0xffffff0076a46860) at ../../../dev/usb/usb_mem.c:248
        tag = 0x0
        err = USBD_NORMAL_COMPLETION
        f = (struct usb_frag_dma *) 0x0
        b = (usb_dma_block_t *) 0xffffffffb197aaa0
        i = 0
#14 0xffffffff80239c5a in usbd_transfer (xfer=0xffffff0076a46800)
    at ../../../dev/usb/usbdi.c:311
        bus = (struct usbd_bus *) 0x0
        pipe = 0xffffff00132bb500
        err = 1540196352
        size = 32768
#15 0xffffffff80233fa9 in umass_setup_transfer (sc=0x0, pipe=0x0,
buffer=0x0, 
    buflen=0, flags=0, xfer=0xffffff0076a46800)
    at ../../../dev/usb/umass.c:1252
        err = USBD_NORMAL_COMPLETION
#16 0xffffffff802344c0 in umass_bbb_state (xfer=0x0,
priv=0xffffff005bcd8800, 
    err=USBD_NORMAL_COMPLETION) at ../../../dev/usb/umass.c:1626
        Residue = 0
        next_xfer = 0x0
#17 0xffffffff8023a50f in usb_transfer_complete
(xfer=0xffffff007b962000)
    at ../../../dev/usb/usbdi.c:863
        pipe = 0xffffff005994bb00
        dmap = (usb_dma_t *) 0xffffffff80517ea0
        sync = 0
        erred = 0
        repeat = 0
        polling = 0
#18 0xffffffff8022fdb0 in uhci_softintr (v=0x0)
at ../../../dev/usb/uhci.c:1374
        sc = (uhci_softc_t *) 0xffffffff866ad000
        ii = (uhci_intr_info_t *) 0x0
        nextii = (uhci_intr_info_t *) 0x0
#19 0xffffffff8022faab in uhci_intr1 (sc=0xffffffff866ad000)
    at ../../../dev/usb/uhci.c:1274
        status = 1
        ack = 1
#20 0xffffffff80267269 in ithread_loop (arg=0xffffff007b9de540)
    at ../../../kern/kern_intr.c:682
        ie = (struct intr_event *) 0xffffff0000029800
        __func__ = "Óc&\200˙˙˙˙Óc&\200˙"
#21 0xffffffff8026606b in fork_exit (
    callout=0xffffffff80267121 <ithread_loop>, arg=0xffffff007b9de540, 
    frame=0xffffffffb197ac50) at ../../../kern/kern_fork.c:821
        p = (struct proc *) 0xffffff007b6c5a08
#22 0xffffffff8036e77e in Xapic_isr3 () at apic_vector.S:134

I can probably provide some more information, possibly even trying to
reproduce it on similar system (this one is in production).

Thank you

Michal




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1184792674.1670.7.camel>