Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 1 Sep 2009 12:47:45 -0700 (PDT)
From:      Richard Mahlerwein <mahlerrd@yahoo.com>
To:        FreeBSD-Stable <freebsd-stable@freebsd.org>
Subject:   Re: Fatal Trap 12 in various processes always at address 0x3030313a
Message-ID:  <79047.96509.qm@web51007.mail.re2.yahoo.com>
In-Reply-To: <400450.59350.qm@web51010.mail.re2.yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
From: Richard Mahlerwein <mahlerrd@yahoo.com>
Subject: Re: Fatal Trap 12 in various processes always at address 0x3030313=
a
To: "FreeBSD-Stable" <freebsd-stable@freebsd.org>
Date: Tuesday, September 1, 2009, 2:58 PM

> From: Gavin Atkinson <gavin@FreeBSD.org>
> Subject: Re: Fatal Trap 12 in various processes always at address 0x30303=
13a
> To: "Richard Mahlerwein" <mahlerrd@yahoo.com>
> Cc: "FreeBSD-Stable" <freebsd-stable@FreeBSD.org>
> Date: Sunday, August 30, 2009, 3:47 PM
> On Sat, 29 Aug 2009, Richard
> Mahlerwein wrote:
>=20
>> I upgraded from 7.1-PRELEASE to -stable and all seemed fine
>> until I rebooted out of single user mode after doing make
>> installworld and mergemaster.=A0 At that point, near the
>> end of the boot sequence I got a core dump, apparently
>> triggered by devd.
>>=20
>> ****
>> Fatal trap 12: page fault while in kernel mode.
>> cpu id =3D 0; apic id =3D 00
>> fault virtual address =3D 0x3030313a
>> fault code =3D supervisor write, page not present
>> [snip]
>> current process =3D 355 (devd)
>> ****

>> Does anyone have a further recommendation on what to do,
>> try, test or change?
>=20
> Firstly, please set up a dump partition by adding
> 'dumpdev=3D"AUTO"' to your rc.conf.
>=20
> Then, can you compile in the kernel debugger (options KGB /
> options DDB) and when this happens again, please obtain a
> backtrace from the debugger with the "bt" command.=A0
> Then, give the "show registers" command so that we can
> establish which register is pointing to the odd address.
> Finally, issue the "call" command to hopefully
> save a copy of the kernel dump for later analysis.
>=20
> Thanks,
>=20
> Gavin

Error at virtual address 0x3030313a
current process 352(sysctl)=20

bt says (typing blind, but I think I got it):

Tracing pid 352 tid 100044 td 0xc3378480
sysctl_devctl_disable(c0c80ac0,0,0,d82fcba4,d82fcba4...) at sysctl_devctl_d=
isable+0xaa
sysctl_root(d82fcba4,4,1,d82fcc60,0,...) at sysctl_root+0x187
userland_sysctl(c3378480,d82fcc14,3,0,0,...) at userland_sysctl+0x1c4
__sysctl(c3378480,d82fccfc,18,d82fcd38,d82fcd2c,...) at __sysctl_0x94
syscall(d82fcd38) at syscall_0x335
Xint0x80_syscall() at Xint0x80_syscall_0x20
--- syscall (202,FreeBSD ELF32, __sysctl, eip =3D 0x2815beaf, esp=3D0xbfbfe=
55c, epb =3D 0xbfbfe588 ---

show registers :

cs 0x20
ds 0xc1470028
es 0xc1470028
fs 0xc1460008
ss 0x28
eax 0xc0cea0cc devsoftc_0x4c
ecx 0
edx 0x30303132
ebx 0xc3181350
esp 0xd82fcb34
ebp 0xd82fcb54
esi 0
edi 0
eip 0xc08218da sysctl_devctl_disable+0xaa
efl 0x10202
sysctl_devctl_disable+0xaa: movl %eax,0x8(%edx)

I hope that tells someone on the list way more than it tells me.

Thanks again for all the help so far!

-Rich
I hope changing back to non-text (to get around some messed-up-ed-ness I've=
 been having in my Yahoo account) won't mess=0A this up too bad.=A0 Please =
don't yell at me if it does - just a polite mention will do.=A0 :)

I=0Achanged devd_enable=3D"NO" to devd_enable=3D"YES" in rc.conf, and get T=
HIS=0Aerror (which is back to being almost the same as the original one I g=
ot=0Aon the first attempt at a new kernel)

vault virtual address 0x3030313a
fault code =3D supervisor write, page not present
instruction pointer =3D 0x20:0xc08216dc
stack pointer =3D 0x28: 0xd8311b70
frame pointer =3D 0x28:0xd8300b8c
code segment =3D base 0x0, limit 0xfffff, type 0x1b
=3DDPL 0, pres 1, def32 1, gran 1
processor eflags =3D interrupt enabled, resume, IOPL =3D 0
current process -=3D 255 (devd)
[thread pid 355 tid 100045 ]
stopped at devread+0x12c: movl %eax,0x8(%edx)

bt says:
Tracing pid 355 tid 100045 tc 0xc3378240
devread(c30df400,d8300c60,0,c3434564,d8300bd8,...) at devread+0x12c
giant_read(c30df400,d8300c60,0,0,400,...) at giant_read+0x89
devfs_read_f(c33adb48,d8300c60,c3071300,0,c33adb48,...) at=0A dofileread+0x=
96
kern_readv(c3378240,3,d8300c60,bfbfe9f7,400,...) at kern_readv+0x58
read(c3378240,d8300cfc,c,80000000,369e99,...) at read+0x4f
syscall(d8300d38) at syscall_0x335
Xint0x80_syscall() at Xint0x80_syscall_0x20
--- syscall (3, FreeBSD ELF32, read), eip - 0x8086c7f, esp =3D 0xbfbfe9bc, =
ebp =3D 0xbfbfee98 ---

And show registers:
cs=3D20,ds=3Dd8300028, es=3Dd8300028,fs=3D d8300008, ss=3D28, eax=3Dc0cea0c=
c devsoftc_0x4c
ecx=3D0x4,,=0Aedx=3D0x30303132, ebx=3Doxc3181350, esp=3Dpxd8300b70, ebp=3Do=
xd8300b8c,=0Aesi=3D0xc30df400, edi=3D0x6, eip=3Doxc08216dc devread_0x12c, e=
fl=3D0x10202
devread+0x12c: movl %eax, 0x8(%edx)

I'm=0Astill not quite sure what that's telling me, but is it significant th=
at=0Ait's the same virtual location with a different piece of code loaded=
=0Athere because of a change in options?=A0 No other change was made, just=
=0Achanging devd_enable.=A0 I'm going to check loader.conf, too, as someone=
=0Aelse suggested (but at this point, I didn't want to muddy the waters by=
=0Achanging two things at once).
=0A=0A=0A      



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