kern/52916: vinum causes panic after start/stop/... cycle, easy
to reproduce
Pawel Malachowski
pawmal at unia.3lo.lublin.pl
Wed Jun 4 12:00:30 PDT 2003
The following reply was made to PR kern/52916; it has been noted by GNATS.
From: "Pawel Malachowski" <pawmal at unia.3lo.lublin.pl>
To: Greg 'groggy' Lehey <grog at FreeBSD.org>
Cc: FreeBSD-gnats-submit at FreeBSD.org
Subject: Re: kern/52916: vinum causes panic after start/stop/... cycle, easy to reproduce
Date: Wed, 04 Jun 2003 21:00:24 +0200
On 4 Jun 2003 at 16:57, Greg 'groggy' Lehey wrote:
> >> Description:
> > Both 4.8-RELEASE and fresh 4.8-STABLE (on two different machines) catch
> > kernel panic when I try something like:
> > vinum start;vinum stop;vinum start;vinum stop;vinum start;vinum stop
> >
> > It is very easy to reproduce.
>
> I was not able to reproduce it.
I've published this script on Polish FreeBSD users group, people confirm
their machines are crashing too (about 20-60 start/stop cycles):
#!/bin/sh
i=1
while [ 1 ]
do
echo Trying $i
vinum start
vinum stop
i=$(($i + 1))
done
> > 4.8-STABLE was compiled with debug symbols, unfortunately there is
> > no crashdump.
>
> What's the problem? Do you have crash dumps enabled?
Yes.
% grep dump /etc/rc.conf
dumpdev="/dev/ad0s2b"
% swapinfo
Device 1K-blocks Used Avail Capacity Type
/dev/ad0s2b 1048448 0 1048448 0% Interleaved
% sysctl kern.dumpdev
kern.dumpdev: { major = 116, minor = 0x30001 }
Swap is big enough.
> > Fatal trap 12: page fault while in kernel mode
>
> Sorry, this doesn't help at all. At the very least I'd need to know
> what the EIP address was.
>
>
> > fault virtual address = 0xb7
> > fault code = supervisor read, page not present
> > instruction pointer = 0x8:0xc01bedc8
>
> This one.
This was sent earlier for private, I'm adding to audit trail.
(Obtained from machine with DDB, copied `by hand'):
fatal trap 12: page fault while in kernel mode
fault virtual address = 0x3edde192
fault code = supervisor read, page not present
instruction pointer = 0x8: 0xc02248b4
stack pointer = 0x10:0xe194adc4
frame pointer = 0x10:0xe194add8
code segment = base 0x0, limit 0xfffff, type 0x1b,
DPL 0, press 1, def 321, gran 1
proccessor eflags = interrupt enabled, resume, IOPL=0
current process = 61 (syslogd)
interrupt mask = none
kernel type 12 trap, code=0
stopped ad dscheck+0x104 movl 0xb8(%esi),%edx
`x $eip' shows dscheck+0x104 b8968b
> > So I compiled vinum statically into kernel,
> >
> > # vinum start;vinum stop;vinum start;vinum stop;
> > ** no drives found: No such file or directory
> > Can't unload vinum: No such file or directory
> > ** no drives found: No such file or directory
> > Can't unload vinum: No such file or directory
> >
> > and it crashed again with message like this:
> >
> > vinum: no drives found
> > vinum: no drives found
>
> You shouldn't be able to stop Vinum with a statically compiled module.
Of course, but I'm able to produce a panic this way, that's why it
is so interesting. :)
--
Pawe³ Ma³achowski
More information about the freebsd-bugs
mailing list