kern/134584: [panic] spin lock held too long

barbara barbara.xxx1975 at libero.it
Fri Jul 31 05:19:51 UTC 2009


> The following reply was made to PR kern/134584; it has been noted by GNATS.
> 
> From: Attilio Rao <attilio at freebsd.org>
> To: barbara <barbara.xxx1975 at libero.it>
> Cc: bug-followup <bug-followup at freebsd.org>, FreeBSD-stable <FreeBSD-stable at freebsd.org>
> Subject: Re: kern/134584: [panic] spin lock held too long
> Date: Sun, 26 Jul 2009 16:36:44 +0200
> 
>  2009/7/26 barbara <barbara.xxx1975 at libero.it>:
>  > It happened again, on shutdown.
>  > As the previous time, it happened after a high (for a desktop) uptime and, if it could matter, after running net-p2p/transmission-gtk2 for several hours.
>  > I don't know if it's related, but often quitting transmission, doesn't terminate the process. Sometimes it end after several minutes the gui exited, sometimes it's still running after hours.
>  > I've noticed it as the destination folder is on a manually mounted device and I can't umount it as fstat reports the device used by a transmission process.
>  > So I often have to kill it.
>  > This happened both the time I had this kind of panic.
>  
>  Can you try to reproduce it with WITNESS and *without*
>  WITNESS_SKIPSPIN? I would need to look at "show alllocks" and
>  possibily "ps" because it seems that the lock owner is preempted but
>  it should not happen while holding a spinlock (unless the acquired
>  spinlock is the one in the preempting path, in this case thought it
>  should drop inside sched_switch() and we can try to understand why
>  that doesn't happen).
>  

Yesterday it happened again but the machines locked on panic command and nothing was dumped.
It also happened today, and as yesterday after some hours (~10) of uptime, but this time I've got no ddb.txt, just vmcore.

It stopped after the following message:
cpu reset: Stopping other CPUs

The output of "show alllocks command" is (http://pastebin.com/f2323ad60):
Process 1 (init) thread 0xc589bd80 (100002)
exclusive sleep mutex Giant r = 0 (0xc0873b10) locked @ /usr/src/sys/kern/kern_module.c:102

That is the "mtx_lock(&Giant);" line in "static void module_shutdown(void *arg1, int arg2)".


ps -axl from crashinfo (http://pastebin.com/f15e7ff90):
  UID   PID  PPID CPU PRI NI   VSZ   RSS MWCHAN STAT  TT       TIME COMMAND
    0     0     0   0 -16  0     0     0 sched  DLs   ??  10505772:02.00 [swapper]
    0     1     0   0  -8  0  1888     0 -      RLs   ??  8198756:46.00 [init]
    0     2     0   0  -8  0     0     0 -      DL    ??  -31491914:-33.55 [g_event]
    0     3     0   0  -8  0     0     0 -      DL    ??  -18031048:-1.55 [g_up]
    0     4     0   0  -8  0     0     0 -      DL    ??  29902314:39.00 [g_down]
    0     5     0   0   8  0     0     0 -      DL    ??    0:00.00 [kqueue tas
    0     6     0   0  -8  0     0     0 ccb_sc DL    ??    0:00.00 [xpt_thrd]
    0     7     0   0   8  0     0     0 -      DL    ??    0:00.00 [acpi_task_
    0     8     0   0   8  0     0     0 -      DL    ??    0:00.00 [acpi_task_
    0     9     0   0   8  0     0     0 -      DL    ??    0:00.00 [acpi_task_
    0    10     0   0 -16  0     0     0 audit_ DL    ??    0:00.00 [audit]
    0    11     0   0 171  0     0     0 -      RL    ??  30495164:05.00 [idle: cpu1
    0    12     0   0 171  0     0     0 -      RL    ??  -8752676:-56.55 [idle: cpu0
    0    13     0   0 -44  0     0     0 -      WL    ??  1297477:00.00 [swi1: net]
    0    14     0   0 -32  0     0     0 -      RL    ??  25300285:42.00 [swi4: cloc
    0    15     0   0 -36  0     0     0 -      WL    ??    0:00.00 [swi3: vm]
    0    16     0   0 -16  0     0     0 -      DL    ??  33237141:47.00 [yarrow]
    0    17     0   0 -40  0     0     0 -      WL    ??  33608583:19.00 [swi2: camb
    0    18     0   0 -28  0     0     0 -      WL    ??    0:00.00 [swi5: +]
    0    19     0   0   8  0     0     0 -      DL    ??  577:12.00 [thread tas
    0    20     0   0 -24  0     0     0 -      WL    ??  15874802:41.00 [swi6: Gian
    0    21     0   0 -24  0     0     0 -      WL    ??  34388543:22.00 [swi6: task
    0    22     0   0 -52  0     0     0 -      WL    ??    0:00.00 [irq9: acpi
    0    23     0   0 -80  0     0     0 -      WL    ??  33965005:45.00 [irq24: vga
    0    24     0   0 -64  0     0     0 -      WL    ??    0:00.00 [irq28: ata
    0    25     0   0 -64  0     0     0 -      WL    ??  15406643:53.00 [irq21: ata
    0    26     0   0 -64  0     0     0 -      WL    ??  225221:21.00 [irq14: ata
    0    27     0   0 -64  0     0     0 -      WL    ??  -19343052:-29.55 [irq15: ata
    0    28     0   0 -64  0     0     0 -      WL    ??  -5763326:-52.55 [irq20: uhc
    0    29     0   0   8  0     0     0 usbevt DL    ??  143817:50.00 [usb0]
    0    30     0   0   8  0     0     0 usbtsk DL    ??    0:00.00 [usbtask-hc
    0    31     0   0   8  0     0     0 usbtsk DL    ??    0:00.00 [usbtask-dr
    0    32     0   0 -64  0     0     0 -      WL    ??    0:00.00 [irq22: uhc
    0    33     0   0   8  0     0     0 usbevt DL    ??  139260:44.00 [usb1]
    0    34     0   0   8  0     0     0 usbevt DL    ??  154878:51.00 [usb2]
    0    35     0   0 -64  0     0     0 -      WL    ??    0:00.00 [irq23: uhc
    0    36     0   0   8  0     0     0 usbevt DL    ??  147693:41.00 [usb3]
    0    37     0   0   8  0     0     0 usbevt DL    ??  153607:50.00 [usb4]
    0    38     0   0 -80  0     0     0 -      RL    ??  -23091533:-19.55 [irq256: hd
    0    39     0   0 -68  0     0     0 -      WL    ??  -9517088:-16.55 [irq19: rl0
    0    40     0   0  -8  0     0     0 -      DL    ??  8660889:23.00 [fdc0]
    0    41     0   0 -48  0     0     0 -      WL    ??    0:00.00 [swi0: sio]
    0    42     0   0 -60  0     0     0 -      WL    ??  19344460:25.00 [irq1: atkb
    0    43     0   0 -60  0     0     0 -      WL    ??    0:00.00 [irq7: ppbu
    0    44     0   0 -16  0     0     0 waitin DL    ??  1395:36.00 [sctp_itera
    0    45     0   0 -16  0     0     0 psleep DL    ??  23513565:41.00 [pagedaemon
    0    46     0   0  20  0     0     0 psleep DL    ??  239:30.00 [vmdaemon]
    0    47     0   0 171  0     0     0 pgzero DL    ??  19812:23.00 [pagezero]
    0    48     0   0  20  0     0     0 ktsusp DL    ??  31705008:58.00 [bufdaemon]
    0    49     0   0  20  0     0     0 ktsusp DL    ??  17747103:57.00 [syncer]
    0    50     0   0  20  0     0     0 ktsusp DL    ??  26534645:02.00 [vnlru]
    0    51     0   0 -16  0     0     0 sdflus DL    ??  4932805:02.00 [softdepflu




More information about the freebsd-stable mailing list