Frank Hofmann wrote: > On Mon, 16 Jun 2008, Juergen Keil wrote: > > > For that reason I did suggest to Kyle to try to reproduce this hsfs mount > > panic with kmem heap checking enabled. > > > > Add the following line to /etc/system, reboot, retry to reproduce the hsfs > > mount panic: > > > > set kmem_flags=0xf > > Good idea.
Ok, I can actually reproduce that panic using last week's opensolaris bits. All I have to do is try and "mount -F hsfs" a non-existent slice; e.g. using a CD containing OpenSolaris 2008.05, mount -F hsfs /dev/dsk/c1t1d0s4 /mnt ("mount -F hsfs /dev/dsk/c1t1d0p0 /mnt" should work, though): panic[cpu1]/thread=ffffff0348445720: BAD TRAP: type=e (#pf Page fault) rp=ffffff00108bb990 addr=40 occurred in module "genunix" due to a NULL pointer dereference mount: #pf Page fault Bad kernel fault at addr=0x40 pid=19108, pc=0xfffffffffba92633, sp=0xffffff00108bba80, eflags=0x10207 cr0: 80050033<pg,wp,ne,et,mp,pe> cr4: 6f8<xmme,fxsr,pge,mce,pae,pse,de> cr2: 40 cr3: 22f819000 cr8: c rdi: fffffffffbca88a0 rsi: 1 rdx: 8 rcx: 0 r8: fffffffffbca8a70 r9: 0 rax: 0 rbx: 0 rbp: ffffff00108bbaa0 r10: ffffff02d24a6500 r11: ffffff00108bb680 r12: 1b00000103 r13: ffffff00108bbc08 r14: 1b00000103 r15: 10 fsb: 0 gsb: ffffff02d2e75540 ds: 4b es: 4b fs: 0 gs: 1c3 trp: e err: 0 rip: fffffffffba92633 cs: 30 rfl: 10207 rsp: ffffff00108bba80 ss: 38 ffffff00108bb870 unix:die+c8 () ffffff00108bb980 unix:trap+13c3 () ffffff00108bb990 unix:_cmntrap+e9 () ffffff00108bbaa0 genunix:vfs_devismounted+23 () ffffff00108bbbc0 hsfs:hs_getmdev+176 () ffffff00108bbc60 hsfs:hsfs_mount+195 () ffffff00108bbc90 genunix:fsop_mount+21 () ffffff00108bbe00 genunix:domount+9ff () ffffff00108bbe80 genunix:mount+d2 () ffffff00108bbec0 genunix:syscall_ap+8f () ffffff00108bbf10 unix:brand_sys_syscall32+197 () syncing file systems... done dumping to /dev/dsk/c9t0d0s1, offset 860356608, content: kernel > $C ffffff00108bbaa0 vfs_devismounted+0x23(1b00000103) ffffff00108bbbc0 hs_getmdev+0x176(ffffff02dcf8a508, 804729e, 101, ffffff00108bbc08, ffffff00108bbc3c, ffffff0315246708) ffffff00108bbc60 hsfs_mount+0x195(ffffff02dcf8a508, ffffff02ffea2c00, ffffff00108bbe30, ffffff0315246708) ffffff00108bbc90 fsop_mount+0x21(ffffff02dcf8a508, ffffff02ffea2c00, ffffff00108bbe30, ffffff0315246708) ffffff00108bbe00 domount+0x9ff(0, ffffff00108bbe30, ffffff02ffea2c00, ffffff0315246708, ffffff00108bbe28) ffffff00108bbe80 mount+0xd2(ffffff0347a60fd8, ffffff00108bbeb8) ffffff00108bbec0 syscall_ap+0x8f() ffffff00108bbf10 sys_syscall32+0x101() ============================================================ The panic with "kmem_flags=0xf" is more interesting: > ::status debugging crash dump vmcore.5 (64-bit) from tiger2 operating system: 5.11 snv_93_jk (i86pc) panic message: kernel heap corruption detected dump content: kernel pages only kernel memory allocator: invalid free: buffer not in cache buffer=ffffff0010455e30 bufctl=0 cache: kmem_alloc_256 panic[cpu1]/thread=ffffff03a05ad060: kernel heap corruption detected ffffff0010455a20 genunix:kmem_error+497 () ffffff0010455a40 genunix:kmem_free+d6 () ffffff0010455bb0 hsfs:hs_mountfs+8b9 () ffffff0010455c60 hsfs:hsfs_mount+1e9 () ffffff0010455c90 genunix:fsop_mount+21 () ffffff0010455e00 genunix:domount+9ff () ffffff0010455e80 genunix:mount+d2 () ffffff0010455ec0 genunix:syscall_ap+8f () ffffff0010455f10 unix:brand_sys_syscall32+197 () syncing file systems... done dumping to /dev/dsk/c9t0d0s1, offset 860356608, content: kernel > $C ffffff0010455980 vpanic() ffffff0010455a20 kmem_error+0x497(1, ffffff02ce62b020, ffffff0010455e30) ffffff0010455a40 kmem_free+0xd6(ffffff0010455e30, e8) ffffff0010455bb0 hs_mountfs+0x8b9(ffffff03a5096dc8, 1b00000104, ffffff03a2b9f140, 6100, 0, ffffff034ed39978, 0) ffffff0010455c60 hsfs_mount+0x1e9(ffffff03a5096dc8, ffffff02f09e8900, ffffff0010455e30, ffffff034ed39978) ffffff0010455c90 fsop_mount+0x21(ffffff03a5096dc8, ffffff02f09e8900, ffffff0010455e30, ffffff034ed39978) ffffff0010455e00 domount+0x9ff(0, ffffff0010455e30, ffffff02f09e8900, ffffff034ed39978, ffffff0010455e28) ffffff0010455e80 mount+0xd2(ffffff02e97cce38, ffffff0010455eb8) ffffff0010455ec0 syscall_ap+0x8f() ffffff0010455f10 sys_syscall32+0x101() > hs_mountfs+0x8b9::dis hs_mountfs+0x88f: movq -0x78(%rbp),%r8 hs_mountfs+0x893: xorq %r9,%r9 hs_mountfs+0x896: call +0x34c9f65 <fop_close> hs_mountfs+0x89b: movq 0x30(%rsp),%rdi hs_mountfs+0x8a0: call +0x34c700b <vn_rele> hs_mountfs+0x8a5: testq %r13,%r13 hs_mountfs+0x8a8: je +0xf <hs_mountfs+0x8b9> hs_mountfs+0x8aa: movq %r13,%rdi hs_mountfs+0x8ad: movq $0xe8,%rsi hs_mountfs+0x8b4: call +0x33e0b57 <kmem_free> hs_mountfs+0x8b9: testq %r12,%r12 <<<<<<<<<<<<<<<<<<<<< hs_mountfs+0x8bc: je +0x1b <hs_mountfs+0x8d9> hs_mountfs+0x8be: movq %r12,%rdi hs_mountfs+0x8c1: movq $0xe8,%rsi hs_mountfs+0x8c8: call +0x33e0b43 <kmem_free> hs_mountfs+0x8cd: jmp +0xa <hs_mountfs+0x8d9> hs_mountfs+0x8cf: movq 0x30(%rsp),%rdi hs_mountfs+0x8d4: call +0x34c6fd7 <vn_rele> hs_mountfs+0x8d9: movl %ebx,%eax hs_mountfs+0x8db: popq %r15 hs_mountfs+0x8dd: popq %r14 > ::dis hs_mountfs+0x8df: popq %r13 hs_mountfs+0x8e1: popq %r12 hs_mountfs+0x8e3: popq %rbx hs_mountfs+0x8e4: leave hs_mountfs+0x8e5: ret hs_mountfs+0x8e6: movq %r15,%rdi hs_mountfs+0x8e9: nop hs_mountfs+0x8ea: nop hs_mountfs+0x8eb: nop hs_mountfs+0x8ec: nop hs_mountfs+0x8ed: nop > ffffff0010455e30::whatis ffffff0010455e30 is in thread ffffff03a05ad060's stack _______________________________________________ opensolaris-discuss mailing list opensolaris-discuss@opensolaris.org