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>