Date: Wed, 25 Nov 2009 00:53:26 +0300 From: pluknet <pluknet@gmail.com> To: freebsd-stable <freebsd-stable@freebsd.org> Subject: Re: [geom] page fault in g_mbr_config() Message-ID: <a31046fc0911241353o49a356aahe60c7af1373994e4@mail.gmail.com> In-Reply-To: <a31046fc0907240616n636dbbeam7ec2a3230c9562e4@mail.gmail.com> References: <a31046fc0907240611g7e5c086ft9a7f5d0e5e4dc7e0@mail.gmail.com> <a31046fc0907240616n636dbbeam7ec2a3230c9562e4@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
2009/7/24 pluknet <pluknet@gmail.com>: > 2009/7/24 pluknet <pluknet@gmail.com>: >> Hi. >> >> I got a panic while performing a repetitive =A0'fdisk -BI aacd0', >> where aacd0 is a disk on aac0: <IBM ServeRAID-8k>. >> This means that the command was issued after filesystems >> were already created on aacd (after the first fdisk -BI aacd0 >> iteration), and are in umount'ed state. >> >> This is on 7.2-R, amd64. Config is a GENERIC plus ddb, carp, ipfw, quota= . >> >> Fatal trap 12: page fault while in kernel mode >> cpuid =3D 5; apic id =3D 05 >> fault virtual address =A0 =3D 0x20 >> fault code =A0 =A0 =A0 =A0 =A0 =A0 =A0=3D supervisor read data, page not= present >> instruction pointer =A0 =A0 =3D 0x8:0xffffffff804cc554 >> stack pointer =A0 =A0 =A0 =A0 =A0 =3D 0x10:0xfffffffe80079b80 >> frame pointer =A0 =A0 =A0 =A0 =A0 =3D 0x10:0xfffffffe80079bd0 >> code segment =A0 =A0 =A0 =A0 =A0 =A0=3D base 0x0, limit 0xfffff, type 0x= 1b >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=3D DPL 0, pres 1, long 1= , def32 0, gran 1 >> processor eflags =A0 =A0 =A0 =A0=3D interrupt enabled, resume, IOPL =3D = 0 >> current process =A0 =A0 =A0 =A0 =3D 2 (g_event) >> [thread pid 2 tid 100013 ] >> Stopped at =A0 =A0 =A0g_mbr_config+0x64: =A0 =A0 =A0movq =A0 =A00x20(%ra= x),%r15 >> db> bt >> Tracing pid 2 tid 100013 td 0xffffff000144da50 >> g_mbr_config() at g_mbr_config+0x64 >> g_run_events() at g_run_events+0x1b8 >> g_event_procbody() at g_event_procbody+0x57 >> fork_exit() at fork_exit+0x11f >> fork_trampoline() at fork_trampoline+0xe >> --- trap 0, rip =3D 0, rsp =3D 0xfffffffe80079d30, rbp =3D 0 --- > > And, of course... > > db> show proc 818 > Process 818 (fdisk) at 0xffffff0004ed1000: > =A0state: NORMAL > =A0uid: 0 =A0gids: 0, 0, 5 > =A0parent: pid 814 at 0xffffff00045c0478 > =A0ABI: FreeBSD ELF64 > =A0arguments: fdisk > =A0threads: 1 > 100169 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 D =A0 =A0 =A0 g_waitfo 0xfffff= f0004ec9100 fdisk > db> bt 818 > Tracing pid 818 tid 100169 td 0xffffff0004fbf6e0 > sched_switch() at sched_switch+0x1fe > mi_switch() at mi_switch+0x18e > sleepq_timedwait() at sleepq_timedwait+0x31 > _sleep() at _sleep+0x354 > g_waitfor_event() at g_waitfor_event+0x9a > g_ctl_ioctl() at g_ctl_ioctl+0x2df > giant_ioctl() at giant_ioctl+0x7d > devfs_ioctl_f() at devfs_ioctl_f+0x77 > kern_ioctl() at kern_ioctl+0xa2 > ioctl() at ioctl+0xf9 > syscall() at syscall+0x256 > Xfast_syscall() at Xfast_syscall+0xab > --- syscall (54, FreeBSD ELF64, ioctl), rip =3D 0x8008200ec, rsp =3D > 0x7fffffffe1d8, rbp =3D 0x4 --- > This makes me tied to GEOM_* -> GEOM_PART_* scheme (which is in 8+ in DEFAULTS now). After this replacement in DEFAULTS I see no more panics in 'fdisk -BI aacd0= '. --=20 wbr, pluknet
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?a31046fc0911241353o49a356aahe60c7af1373994e4>