Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 31 Jul 2004 17:27:19 +0200
From:      Daniel Lang <dl@leo.org>
To:        freebsd-current@freebsd.org
Subject:   Hangs if witness/invariants are disabled
Message-ID:  <20040731152719.GA10448@atrbg11.informatik.tu-muenchen.de>

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

after nearly two weeks of stability thanks to patches from
John Baldwin and fixed SACK, I have disabled WITNESS and INVARIANTS.
However, now with these features disabled, I receive hangs. These
could be related to PREEMPTION, I have not yet disabled preemption.

The first hang was a complete one I could not enter the debugger.

After the first hang I have installed the latest patch by John
posted on Wednesday 28th of July (kern_synch.c and pmap.c IIRC).
But the hang occured as well, but this time, I could break into
DDB and obtain a trace:

db> trace
siointr1(a7d53000) at 0xa0491921 = siointr1+0xc5
siointr(a7d53000) at 0xa0491706 = siointr+0x62
intr_execute_handlers(a7cb2090,c60e8ca8,4,c60e8cec,a04a5ec3) at 0xa04a97c5 = intr_execute_hand5
lapic_handle_intr(34) at 0xa04abd1a = lapic_handle_intr+0x2e
Xapic_isr1() at 0xa04a5ec3 = Xapic_isr1+0x33
--- interrupt, eip = 0xa027b99d, esp = 0xc60e8cec, ebp = 0xc60e8cec ---
acpi_cpu_c1(f6ccf3ee,27e6358f,1,4,a0341890) at 0xa027b99d = acpi_cpu_c1+0x5
acpi_cpu_idle(c60e8d20,a03418a9,a7c5f6e0,c60e8d34,a0341619) at 0xa027b8b5 = acpi_cpu_idle+0xc1
cpu_idle(a7c5f6e0,c60e8d34,a0341619,0,c60e8d48) at 0xa04ad4d0 = cpu_idle+0x28
idle_proc(0,c60e8d48) at 0xa03418a9 = idle_proc+0x19
fork_exit(a0341890,0,c60e8d48) at 0xa0341619 = fork_exit+0x71
fork_trampoline() at 0xa04a5b6c = fork_trampoline+0x8
--- trap 0x1, eip = 0, esp = 0xc60e8d7c, ebp = 0 ---


Although I called doadump() which completed a dump I could
not get a vmcore. :(
In the single-user boot after doadump() and cpu_reset() from
ddb, savecore cannot find a dump on the dumpdev:

# /etc/rc.d/savecore start
Checking for core dump on /dev/da1s1b ...
savecore: no dumps found


Maybe this is due to the fact that I have a PAE enabled kernel with
6GB RAM in the system? Of course the dumpdev and the directory where to
put the saved vmcores does have enough space.


The system was not updated for a while (since lots of things are
going on right now, first netperf merge, now gcc import, I did not
dare to update yet...).

I have #undef PREEMPTION now in sys/i386/include/param.h
and I'll see what happens...

Cheers,
 Daniel
-- 
IRCnet: Mr-Spock                      - Me transfere sursum, Caledoni -  
 Daniel Lang * dl@leo.org * +49 89 2600 8122 * http://www.leo.org/~dl/



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