Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 16 Oct 2009 18:09:31 +0100 (BST)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        current@FreeBSD.org
Subject:   dtrace profile timers still unstable?
Message-ID:  <alpine.BSF.2.00.0910161556260.7984@fledge.watson.org>

next in thread | raw e-mail | index | archive | help

In the past, I've had little luck using the DTrace profile timers on FreeBSD 
for much without crashes, and this morning was no different.  I attempted to 
use the following(ish) script:

   profile-1ms
   {

           @data[stack()] = count();
   }


The result was:

spin lock 0x849747d8 (cyclic cpu) held by 0x85442b40 (tid 100539) too long
panic: spin lock held too long

0  doadump () at pcpu.h:246
#1  0x8089b5bf in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:416
#2  0x8089b8a2 in panic (fmt=Variable "fmt" is not available.
) at /usr/src/sys/kern/kern_shutdown.c:579
#3  0x8088afaf in _mtx_lock_spin_failed (m=0x0)
     at /usr/src/sys/kern/kern_mutex.c:490
#4  0x8088b035 in _mtx_lock_spin (m=0x849747d8, tid=2220091648, opts=0,
     file=0x8a717a45 
"/usr/src/sys/modules/cyclic/../../cddl/dev/cyclic/cyclic.c", line=574) at 
/usr/src/sys/kern/kern_mutex.c:526
#5  0x8088b7d1 in _mtx_lock_spin_flags (m=0x849747d8, opts=0,
     file=0x8a717a45 
"/usr/src/sys/modules/cyclic/../../cddl/dev/cyclic/cyclic.c", line=574) at 
/usr/src/sys/kern/kern_mutex.c:246
#6  0x8a716f97 in cyclic_clock () from /boot/kernel/cyclic.ko
#7  0x80bce876 in lapic_handle_timer (frame=0x842c6c34)
     at /usr/src/sys/i386/i386/local_apic.c:777
#8  0x80bc61cf in Xtimerint () at apic_vector.s:108
#9  0x80bba455 in acpi_cpu_c1 () at 
/usr/src/sys/i386/acpica/acpi_machdep.c:554
#10 0x804ff24c in acpi_cpu_idle () at /usr/src/sys/dev/acpica/acpi_cpu.c:921
#11 0x80bcff2b in cpu_idle_acpi (busy=1)
     at /usr/src/sys/i386/i386/machdep.c:1236
#12 0x80bd18db in cpu_idle (busy=1) at /usr/src/sys/i386/i386/machdep.c:1324
#13 0x808bf81e in sched_idletd (dummy=0x0)
     at /usr/src/sys/kern/sched_ule.c:2562

In the past, I've had similar experiences, although possibly different panics. 
I wonder if we should just disable the profile provider in 8.0 to prevent 
similar footshooting by others?  Or perhaps someone with some dtrace internals 
interest could investigate?

(I've seen panics with it pretty deterministically on i386 and amd64)

Robert N M Watson
Computer Laboratory
University of Cambridge



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