FreeBSD amd64 crash - why?
Ivan Voras
ivoras at freebsd.org
Thu Dec 11 07:42:40 PST 2008
Wojciech Puchar wrote:
> (kgdb) bt\
> #0 doadump () at pcpu.h:195
> #1 0x0000000000000004 in ?? ()
> #2 0xffffffff8029cde9 in boot (howto=260) at
> ../../../kern/kern_shutdown.c:418
> #3 0xffffffff8029d202 in panic (fmt=0x104 <Address 0x104 out of bounds>)
> at ../../../kern/kern_shutdown.c:574
> #4 0xffffffff804da163 in trap_fatal (frame=0xffffff0001ae06e0,
> eva=Variable "eva" is not available.
> )
> at ../../../amd64/amd64/trap.c:764
> #5 0xffffffff804da535 in trap_pfault (frame=0xffffffffa53818f0,
> usermode=0)
> at ../../../amd64/amd64/trap.c:680
> #6 0xffffffff804dae85 in trap (frame=0xffffffffa53818f0) at
> ../../../amd64/amd64/trap.c:449
> #7 0xffffffff804c083e in calltrap () at
> ../../../amd64/amd64/exception.S:209
> #8 0xffffffffa5381b00 in ?? ()
> #9 0xffffff0001ae06e0 in ?? ()
> #10 0xffffffff804cb596 in ipi_bitmap_handler (frame=
> {tf_rdi = -2140742176, tf_rsi = -1523049488, tf_rdx = 4104, tf_rcx
> = 715684, tf_r8 = -1098907750400, tf_r9 = -2140669600, tf_rax = 7840359,
> tf_rbx = -2140742176, tf_rbp = -2140614400, tf_r10 = 4640, tf_r11 = 116,
> tf_r12 = 5153376776576, tf_r13 = -1523049728, tf_r14 = 71567949, tf_r15
> = 2, tf_trapno = -1523049712, tf_addr = -1099483445536, tf_flags =
> -1099212052096, tf_err = 0, tf_rip = -2145744350, tf_cs = 8, tf_rflags =
> 582, tf_rsp = -1523049824, tf_ss = 16})
> at ../../../amd64/amd64/mp_machdep.c:979
> #11 0xffffffff804c1236 in Xipi_intr_bitmap_handler () at apic_vector.S:206
> #12 0xffffffff801a8a22 in acpi_timer_read () at cpufunc.h:239
> #13 0xffffffff801a8a47 in acpi_timer_get_timecount_safe (tc=Variable
> "tc" is not available.
> ) at ../../../dev/acpica/acpi_timer.c:244
> #14 0xffffffff802a81aa in binuptime (bt=0xffffffffa5381b00) at
> ../../../kern/kern_tc.c:167
> #15 0xffffffff802a8230 in bintime (bt=0xffffffffa5381b00) at
> ../../../kern/kern_tc.c:217
> #16 0xffffffff802a82b7 in microtime (tvp=0xffffffffa5381b20) at
> ../../../kern/kern_tc.c:237
> #17 0xffffffff802adb17 in gettimeofday (td=Variable "td" is not available.
> ) at ../../../kern/kern_time.c:430
> #18 0xffffffff804da754 in syscall (frame=0xffffffffa5381c80) at
> ../../../amd64/amd64/trap.c:907
> #19 0xffffffff804c0a4b in Xfast_syscall () at
> ../../../amd64/amd64/exception.S:330
> #20 0x0000000800d96bdc in ?? ()
> Previous frame inner to this frame (corrupt stack?)
> (kgdb) [root at serwer ~]# exit
>
The code path in this backtrace is very low-risk, there are not many
things that can go wrong in a gettimeofday() call. It's very likely it's
a hardware problem (tried memtest86 recently?), but you should post it
to current@ to verify. You might want to switch to TSC timecounter if
it's available on your hardware (see kern.timecounter.smp_tsc) to avoid
the acpi_timer* code path and see if the system still panics.
More information about the freebsd-questions
mailing list