Le Saturday 9 April 2005 15:36, Pawel Jakub Dawidek a écrit : > > Could you rerun your test (as I'm not able to reproduce it) with recent > HEAD (you need revision 1.191 of sys/kern/subr_witness.c). > I hardcoded the order you're posting here, because this is the right > order, I belive and we need to find out where it is opposite. unfortunately, I only saw it in the course of a maintenance operation (change of the BIOS geometry of the ad8s1 and ad10s1 slices hosting a gmirror : gm0s1, which is itself sliced as gm0s1a, gm0s1d for /tmp, gm0s1e for /var and gm0s1f for /usr). ad8s2 et ad10s2 are labelled as ad8s2d and ad10s2d for /usr/src and /usr/obj. the maintenance is done (and I would like not to do it again). I am rebuilding the world, but I did not catch your recent modfications in sys/kern/subr_witness.c (slow cvsup mirror ?). (see the PS2 at the end for another partial crash report) Cheers, TfH PS : sequence of operations : # gmirror deactivate gm0s1 ad10s1 # gmirror stop gm0s1 GEOM_MIRROR: Device gm0s1: provider mirror/gm0s1 destroyed. GEOM_MIRROR: Device gm0s1 destroyed. # gmirror unload <change of fdisk geometry of ad10s1> dd if=/dev/zero of=/dev/ad10s1 bs=512 count=128 dd if=/dev/zero of=/dev/ad10s1 bs=512 skip=9806700 count=69 gmirror load gmirror forget gm0s1 gmirror insert gm0s1 /dev/ad10s1 <wait for end of synchronization> <repeat of geometry change for ad8s1> <repeat of sync for ad8s1> then : bsdlabel -w -B /dev/mirror/gm0s1 # initialize bsdlabel -e /dev/mirror/gm0s1 [obviously too many error-prone steps, but the end result is suprisingly good : the partitions have been changed and the data are still in place] PS2 : the goal of these changes is to move /usr/src to ad8s2 and /usr/obj towards ad10s2 to investigate a crash involving gmirror : this crash occurred already twice when /usr/src was hosted in the gmirror, but /usr/obj on a standard slice of third disk (as the ad8 and ad10 disks are old, I wanted to check their health by using them "directly") login: Apr 4 22:59:50 multi-cur su: thierry.herbelot to root on /dev/ttyp0 ad10: TIMEOUT - WRITE_DMA retrying (2 retries left) LBA=9806831 ad10: FAILURE - device detached subdisk10: detached ad10: detached GEOM_MIRROR: Cannot update metadata on disk ad10s1 (error=5). GEOM_MIRROR: Cannot update metadata on disk ad10s1 (error=6). GEOM_MIRROR: Device gm0s1: provider ad10s1 disconnected. GEOM_MIRROR: Request failed (error=6). Fatal trap 12: page fault while in kernel mode cpuid = 1; apic id = 01 fault virtual address = 0xdeadc0de fault code = supervisor read, page not present instruction pointer = 0x8:0xc067912c stack pointer = 0x10:0xcd5c8bb4 frame pointer = 0x10:0xcd5c8bb4 code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, def32 1, gran 1 processor eflags = interrupt enabled, resume, IOPL = 0 current process = 8 (g_mirror gm0s1) [thread pid 8 tid 100053 ] Stopped at strlen+0x8: cmpb $0,0(%edx) db> call doadump Dumping 160 MB 16 32 48 64 80 96 112 128 144 Dump complete 0xf db> where Tracing pid 8 tid 100053 td 0xc14b4170 strlen(deadc0de,cd5c8bdc,0,20000020,0) at strlen+0x8 kvprintf(c0834128,c06335a4,cd5c8c90,a,cd5c8cb4) at kvprintf+0x62a printf(c0834128,deadc0de,c07fdc0a,c81a000,0) at printf+0x43 g_print_bio(c23667bc,c0a9fb9e,c0a9ee51,6,c0a9eabc) at g_print_bio+0x84 g_mirror_regular_request(c23667bc,c151d844,14f28,c151d800,c14b29ec) at g_mirror_regular_request+0x22b g_mirror_worker(c151d800,cd5c8d48,c151d800,c0a9879c,0) at g_mirror_worker+0x743 fork_exit(c0a9879c,c151d800,cd5c8d48) at fork_exit+0xa4 fork_trampoline() at fork_trampoline+0x8 --- trap 0x1, eip = 0, esp = 0xcd5c8d7c, ebp = 0 ---Received on Sat Apr 09 2005 - 18:17:42 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:31 UTC