kern/59303: vinum crashes kernel if concurrent reviving attempts
Dmitry Morozovsky
marck at rinet.ru
Sat Nov 15 07:10:20 PST 2003
>Number: 59303
>Category: kern
>Synopsis: vinum crashes kernel if concurrent reviving attempts
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sat Nov 15 07:10:17 PST 2003
>Closed-Date:
>Last-Modified:
>Originator: Dmitry Morozovsky
>Release: FreeBSD 4-STABLE i386
>Organization:
Cronyx Plus LLC (RiNet ISP)
>Environment:
System: FreeBSD 4-STABLE (4.9-R for instance)
mini-kernel (derived from GENERIC, most devices deleted, nothing added)
vinum module
>Description:
It seems vinum somehow destroy portions of kernel memory when admin
(incorrectly) requests start operation on currently reviving subdisk. In
multiuser mode, kernel usually panics on syslogd write request. However, it is
possible, though not so easy, to crash kernel even when all filesystems are in
read-only mode, only via read requests.
Some tracebacks may be found at http://woozle.hole.ru/misc/vinum/revive/
Coredumps are saved, I would be glad to provide additional info.
>How-To-Repeat:
- create example vinum mirror:
disklabel -e da0 ... disklabel -e da1
vinum create
drive a da0h
drive b da1h
volume test setupstate
plex org concat
sd len 1g drive a
plex org concat
sd len 1g drive b
newfs -U -v /dev/vinum/test
- emulate disk crash:
vinum setstate stale test.p1.s0
vinum setstate faulty test.p1
- the following sequence in multiuser mode leads to immediate panic
with syslogd as current process (see bt5.txt):
vinum start test.p1; sleep 2; \
vinum start; sleep 2; \
vinum start
- in single-user mode, mounting every FS r/o, you can still crash kernel via
sequence above, followed by _some_ (not so easily reproducible) disk
activity, such as ls, su, find or even ps (all other backtraces).
>Fix:
Unknown for the moment.
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list