Fw: FreeBSD 6.2 Repeating Crash - Sleeping thread; Fatal trap 12: page fault; warning: 'T2' might be used uninitialized

Worth Bishop wbishop at twosensemedia.com
Tue Jun 12 17:24:46 UTC 2007


Addendum: For what it's worth, the 250Gb Samsung drive was added when the 
system was upgraded - it's only 3-4 months old.

----- Original Message ----- 
From: "Worth Bishop" <wbishop at twosensemedia.com>
To: <freebsd-questions at freebsd.org>
Sent: Tuesday, June 12, 2007 11:33 AM
Subject: FreeBSD 6.2 Repeating Crash - Sleeping thread; Fatal trap 12: page 
fault; warning: 'T2' might be used uninitialized


> Please help if you can...
>
> BACKGROUND
>
> This crash is occurring on a dual-AMD 1.6Ghz cpu white-box system with 1 
> Gb ram, 250Gb storage running GENERIC kernel. The system has been in 
> production use as a web server for nearly five years.
>
> About 3 - 4 months ago, the system was upgraded from an earlier FreeBSD 
> version to 6.1. At the same time, all supporting applications (Apache 
> webserver, PERL, PostgreSQL, PHP, countless other applications & 
> libraries) were upgraded to the current releases. The system was stable up 
> until a couple of weeks ago.
>
> FIRST ERROR EVENT
>
> The system crashed during normal usage. The following message was 
> displayed on the console which was not responsive to keyboard input:
>
> Sleeping thread (tid 100122, pid 11099)
>  owns a non-sleepable lock
>
> panic:  sleeping thread
> cpuid=1
>
> The system was restarted, an fsck routine was completed (answering "yes" 
> to all the "Do you want to salvage" type questions) and the server ran 
> fine. For about a week. It then crashed again several times, at intervals 
> varying from a few minutes of uptime to a few days.
>
> SECOND ERROR EVENT
>
> After some crashes, a message similar to that above was displayed. 
> However, at other times a message similar to this was displayed:
>
> kernel trap 12 with interrupts disabled
>
> Fatal trap 12:  page fault while in kernel mode
> cpuid=0; apic id=01
> fault virtual address =0x100
> fault code =supervisor read, page not present
> instruction pointer =0x20:0xc066c731
> stack pointer =0x28:0xe432ebf0
> framepointer =0x28:0xe432ebfc
> code segment =base 0x0, limit0xfffff, type 0x1b
> 
> =DPL 0, pres 1, def32 1, gran1
> processor eflags =resume, IOPL=0
> current process =36 (syncer)
> trap number = 12
> panic: page fault
> cpuid=0
> uptime:  3d10h11m44s
> Dumping 1535 Mb (2 chunks)  [NOTE:  the system had 1.5Gb memory at that 
> time. Memory was removed, reseated, swapped, etc., now 1Gb]
>   chunk 0:1Mb (159 pages)
>
> CORRECTIONS ATTEMPTED
>
> Somewhere during this ordeal, a Google search revealed a number of other 
> people experiencing the "Sleeping thread" problem. One of these was 
> apparently experienced in a FreeBSD 6.x development version stress test. 
> No definitive solution was identified in anything we say, except a single 
> reference to the problem being a kernel bug fixed in FreeBSD 6.2.
>
> Accordingly, we upgraded from 6.1  to 6.2 but have still experienced the 
> problem.
>
> We reviewed the 'messages' file and found references to several things 
> which led us to check FreeBSD 6.2 ERRATA 
> (http://www.freebsd.org/releases/6.2R/errata.html). This suggested adding 
> 'kern.ipc.nmbclusters="0"' to the /boot/loader.conf file which might avoid 
> a known issue. We tried this, but saw no relief.
>
> We also found a reference in the manual that suggested the issue might be 
> a problem with the APIC in 6.x. This recommended adding 
> 'hint.apic.0.disabled="1"' to loader.conf. Tried this; no help.
>
> In order to try to get more information about the system dumps we added: 
> dumpdev="AUTO" and dumpdir="/usr/crash" [to get more storage space than 
> available in /var/] and have generated several vmcore.# files of ~1 Gb 
> each (all identical size).
>
> We attempted to use DDB to analyze the dumps (struggling now, unfamiliar 
> with kernel debugging process) with no success. Research suggested we 
> needed to create a debug version of the kernel (i.e., KERNEL.DEBUG) with 
> debugging options enabled.
>
> We duly copied GENERIC and edited it, noting that "options   ddb" was 
> already enabled. We added 'makeoptions     DEBUG=-g                # Build 
> kernel with gdb(1) debug symbols' as suggested and tried to "make 
> buildkernel" which errored out stating that KDB must be enabled to use 
> DDB. We edited KERNEL.DEBUG to add 'options         KDB 
> # Enable kernel debugger' and attempted to "make buildkernel" again. This 
> time, the process stopped again with the message:
>
> THIRD ERROR EVENT
>
> [snip]
> inline-unit-growth=100 --param 
> rge-function-growth=1000  -mno-align-long-strings -mpreferred-stack-boundary=2 
>  -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -ffreestanding -Werror 
> /usr/src/sys/crypto/sha2/sha2.c
> /usr/src/sys/crypto/sha2/sha2.c: In function `SHA512_Transform':
> /usr/src/sys/crypto/sha2/sha2.c:753: warning: 'T2' might be used 
> uninitialized in this function
> *** Error code 1
>
> Stop in /usr/obj/usr/src/sys/KERNEL.DEBUG.
> *** Error code 1
>
> Stop in /usr/src.
> *** Error code 1
>
> Stop in /usr/src.
> www:/usr/src#
>
> With this, we are stumped.
>
> HELP PLEASE!
>
> Can anyone:
>
> -  lead us to a solution based on these error messages?
> -  help us understand why the GENERIC kernel with only the debugging 
> options added failed to make?
> -  help us understand what '/usr/src/crypto/sha2/sha2.c' has to do with 
> anything?
> -  help us understand what we need to do to extract useful information 
> from the vmcore.# files?
> -  offer any other suggestions?
>
> Thanks in advance!
>
>
>
>
>
>
>
> 




More information about the freebsd-questions mailing list