From owner-freebsd-questions Thu Jan 28 15:34:23 1999 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id PAA07517 for freebsd-questions-outgoing; Thu, 28 Jan 1999 15:34:23 -0800 (PST) (envelope-from owner-freebsd-questions@FreeBSD.ORG) Received: from allegro.lemis.com (allegro.lemis.com [192.109.197.134]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id PAA07507 for ; Thu, 28 Jan 1999 15:34:18 -0800 (PST) (envelope-from grog@freebie.lemis.com) Received: from freebie.lemis.com (freebie.lemis.com [192.109.197.137]) by allegro.lemis.com (8.9.1/8.9.0) with ESMTP id KAA27404; Fri, 29 Jan 1999 10:04:07 +1030 (CST) Received: (from grog@localhost) by freebie.lemis.com (8.9.2/8.9.0) id KAA11049; Fri, 29 Jan 1999 10:04:06 +1030 (CST) Date: Fri, 29 Jan 1999 10:04:06 +1030 From: Greg Lehey To: M Ferreira Cc: freebsd-questions@FreeBSD.ORG Subject: Re: Fatal trap while reading vinum config from drive Message-ID: <19990129100406.L8473@freebie.lemis.com> References: <36b85b8f.93466878@mail2.leirianet.pt> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.95.1i In-Reply-To: <36b85b8f.93466878@mail2.leirianet.pt>; from M Ferreira on Thu, Jan 28, 1999 at 12:47:44PM +0000 WWW-Home-Page: http://www.lemis.com/~grog Organization: LEMIS, PO Box 460, Echunga SA 5153, Australia Phone: +61-8-8388-8286 Fax: +61-8-8388-8725 Mobile: +61-41-739-7062 Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG [Format recovered at freebie.lemis.com] On Thursday, 28 January 1999 at 12:47:44 +0000, M Ferreira wrote: > > I have 4 disks labeled: > > da0s1 > a: 204800 0 4.2BSD 0 0 0 # (Cyl. 0 - > 143*) > c: 4226725 0 unused 0 0 # (Cyl. 0 - > 2955*) > e: 1972224 204800 4.2BSD 0 0 0 # (Cyl. 143*- > 1522*) > f: 2049701 2177024 unused 0 0 # (Cyl. 1522*- > 2955*) Please do me a favour and use a mailer which doesn't mutilate the text like this. This was illegible, and I had to spend several minutes recovering the format. Also, you don't really need to copy -questions on this one. As the man page says, if you run into trouble, contact me. > da1s1 > b: 538624 0 swap # (Cyl. 0 - 376*) > c: 4226725 0 unused 0 0 # (Cyl. 0 - 2955*) > e: 3688101 538624 unused 0 0 # (Cyl. 376*- 2955*) > > da2s1 > c: 8888924 0 unused 0 0 # (Cyl. 0 - 553*) > e: 8888924 0 unused 0 0 # (Cyl. 0 - 553*) > > da3s1 > c: 8888924 0 unused 0 0 # (Cyl. 0 - 553*) > e: 8888924 0 unused 0 0 # (Cyl. 0 - 553*) > > My intention is to have > > /dev/da1s1b none swap sw 0 0 > /dev/da0s1a / ufs rw 1 1 > /dev/da0s1e /usr ufs rw 2 2 > /dev/vinum/small /arch ufs rw 2 3 > /dev/vinum/big /data ufs rw 2 4 > > so, i've created the following config: > > drive a device /dev/da0s1f > drive b device /dev/da1s1e > drive c device /dev/da2s1e > drive d device /dev/da3s1e > > volume small > plex org concat > sd len 2047735b drive a > sd len 3686135b drive b > > volume big > plex org striped 128b > sd len 8888055b drive c > sd len 8888055b drive d > > disk length values are shortened 265b in order to hold vinum config. > > vinum create 'config' gives me: > > Configuration summary > > Drives: 4 (4 configured) > Volumes: 2 (4 configured) > Plexes: 2 (8 configured) > Subdisks: 4 (16 configured) > > D a State: up Device /dev/da0s1f > D b State: up Device /dev/da1s1e > D c State: up Device /dev/da2s1e > D d State: up Device /dev/da3s1e > > V small State: up Plexes: 1 Size: 2799 MB > V big State: up Plexes: 1 Size: 8679 MB > > P small.p0 C State: up Subdisks: 2 Size: 2799 MB > P big.p0 S State: up Subdisks: 2 Size: 8679 MB > > S small.p0.s0 State: up PO: 0 B Size: 999 MB > S small.p0.s1 State: up PO: 999 MB Size: 1799 MB > S big.p0.s0 State: up PO: 0 B Size: 4339 MB > S big.p0.s1 State: up PO: 64 kB Size: 4339 MB > > Just to confirm everything is fine, init small.p0 and init big.p0 > finish successfully. > > newfs -v /dev/vinum/rbig finishes successfully with one minor quirk > wich is: > > Warning: 530 sector(s) in last cylinder unallocated > /dev/vinum/rbig: 17776110 sectors in 4340 cylinders of 1 tracks, 4096 sectors > 8679.7MB in 272 cyl groups (16 c/g, 32.00MB/g, 7936 i/g) > super-block backups (for fsck -b #) at: > 32, 65568, 131104, 196640, 262176, 327712, 393248, 458784, 524320, > 589856, > > Same thing with newfs -v /dev/vinum/rbig: > > Warning: 530 sector(s) in last cylinder unallocated > /dev/vinum/rsmall: 5733870 sectors in 1400 cylinders of 1 tracks, 4096 sectors > 2799.7MB in 88 cyl groups (16 c/g, 32.00MB/g, 7936 i/g) > super-block backups (for fsck -b #) at: > 32, 65568, 131104, 196640, 262176, 327712, 393248, 458784, 524320, > 589856, Yes, these messages are normal, not just for vinum volumes. > mounting /dev/vinum/small and /dev/vinum/big under /arch and /data > goes ok: > > Filesystem 1K-blocks Used Avail Capacity Mounted on > /dev/da0s1a 99183 37265 53984 41% / > /dev/da0s1e 955591 763377 115767 87% /usr > procfs 4 4 0 100% /proc > /dev/vinum/small 2778213 1 2555955 0% /arch > /dev/vinum/big 8613858 1 7924749 0% /data > > Now the bad news. Without touching $vinum_slices in rc.conf, i tried > to reboot and manually do a vinum read /dev/da0 /dev/da1 /dev/da2 > /dev/da3 (compatibility slice naming should be ok, i guess) Yes, this is the correct way to do it. > and i get: > > Fatal trap 18: integer divide fault while in kernel mode > > How can I diagnose and correct this? > > I'm running 3.0-stable cvsuped this weekend. I just fixed this bug yesterday, but I'm confused that it hit you under these circumstances. Could you please try this (with a Bourne-style shell) *before* you try starting vinum again: for i in /dev/da0s1f /dev/da1s1e /dev/da2s1e /dev/da3s1e; do (dd if=/dev/da1h skip=8 count=6|tr -d '\000-\011\200-\377'; echo) >> log done Then send me the contents of the file log. It should look something like: IN VINOpanic.lemis.comdrive1}6E7~^K6T^Yfoovolume obj state up volume src state up volume raid state down volume r state down volume foo state up plex name obj.p0 state corrupt org concat vol obj plex name obj.p1 state corrupt org striped 128b vol obj plex name src.p0 state corrupt org striped 128b vol src plex name src.p1 state up org concat vol src plex name raid.p0 state faulty org disorg vol raid plex name r.p0 state faulty org disorg vol r plex name foo.p0 state up org concat vol foo plex name foo.p1 state faulty org concat vol foo sd name obj.p0.s0 drive drive2 plex obj.p0 state reborn len 409600b driveoffset 265b plexoffset 0b sd name obj.p0.s1 drive drive4 plex obj.p0 state up len 409600b driveoffset 265b plexoffset 409600b sd name obj.p1.s0 drive drive1 plex obj.p1 state up len 204800b driveoffset 265b plexoffset 0b sd name obj.p1.s1 drive drive2 plex obj.p1 state reborn len 204800b driveoffset 409865b plexoffset 128b sd name obj.p1.s2 drive drive3 plex obj.p1 state up len 204800b driveoffset 265b plexoffset 256b sd name obj.p1.s3 drive drive4 plex obj.p1 state up len 204800b driveoffset 409865b plexoffset 384b sd name src.p0.s0 drive drive1 plex src.p0 state up len 204800b driveoffset 205065b plexoffset 0b sd name src.p0.s1 drive drive2 plex src.p0 state stale len 204800b driveoffset 614665b plexoffset 128b sd name src.p0.s2 drive drive3 plex src.p0 state up len 204800b driveoffset 205065b plexoffset 256b sd name src.p0.s3 drive drive4 plex src.p0 state up len 204800b driveoffset 614665b plexoffset 384b The first line contains the magic number and the name of the system, as well as the beginning of the first line of the saved configuration. The rest of the text shows the configuration as saved on the disk. I'm guessing that something has gone wrong saving this configuration. When you re-sup (not in the next 4 hours, I need to add some documentation), look at vinum(4), in the BUGS section. It will include information on how to debug vinum problems. Greg -- When replying to this message, please do *not* copy FreeBSD-questionsn See complete headers for address, home page and phone numbers finger grog@lemis.com for PGP public key To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message