NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/43375: panic when mount(8)ing umass(4) device (Sony DSC-H50 Digital Camera)



The following reply was made to PR kern/43375; it has been noted by GNATS.

From: "Alan R. S. Bueno" <alan.bsd%gmail.com@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc: 
Subject: Re: kern/43375: panic when mount(8)ing umass(4) device (Sony DSC-H50 
        Digital Camera)
Date: Mon, 31 May 2010 14:05:53 -0300

 On Sun, May 30, 2010 at 11:10 PM, David Holland
 <dholland-bugs%netbsd.org@localhost> wrote:
 > The following reply was made to PR kern/43375; it has been noted by GNATS=
 .
 >
 > From: David Holland <dholland-bugs%netbsd.org@localhost>
 > To: gnats-bugs%NetBSD.org@localhost
 > Cc:
 > Subject: Re: kern/43375: panic when mount(8)ing umass(4) device (Sony
 > =A0 =A0 =A0 =A0DSC-H50 Digital Camera)
 > Date: Mon, 31 May 2010 02:09:15 +0000
 >
 > =A0On Sat, May 29, 2010 at 07:25:02PM +0000, Alan R. S. Bueno wrote:
 > =A0> =A0> Do you have that traceback, or can you get one from the dump?
 > =A0>
 > =A0> =A0Yes. The system reboots after the panic, so no chance to ddb(4).
 > =A0>
 > =A0> =A0Let me know if I'm doing something wrong.
 >
 > =A0You may be, because the trace doesn't entirely make sense.
 >
 > =A0> =A0middle-earth# gunzip /var/crash/netbsd.5.core.gz
 > =A0> =A0middle-earth# crash -M netbsd.5.core
 > =A0> =A0Crash version 5.99.29, image version 5.99.29.
 > =A0> =A0System panicked: buf mem pool index %d
 > =A0> =A0Backtrace from time of crash is available.
 >
 > =A0This looks fine in principle; however, were you running the same
 > =A0kernel that generated the dump? If it's not quite the same it would
 > =A0explain the trace.
 >
 > =A0If in doubt use the -N /netbsd.whatever option to crash to feed it the
 > =A0same kernel that generated the core.
 >
 
 Oops! I think you're right. Trying again with updated kernel and
 modules (and after clean /var/crash/...), *without* the patches:
 
 [...mount_msdos and panic and reboot happens here...]
 # crash -M netbsd.0.core -N /netbsd
 Crash version 5.99.29, image version 5.99.29.
 System panicked: buf mem pool index %d
 Backtrace from time of crash is available.
 crash> trace
 _KERNEL_OPT_NVGA_RASTERCONSOLE(104,0,c049993b,c099cf47,0,ccb0694c,104,0,0,c=
 cb069
 4c) at 0
 end(104,0,c09bb200,cc91b2a0,0,2,0,ccb06958,0,0) at 0xcc91b2a0
 panic(c099cf47,17,c23c4790,0,0,cc5e0678,ccb0698c,c0678c83,cc5e0678,0) at 0x=
 c05bc
 782
 buf_mempoolidx(cc5e0678,0,b0,c23c4790,0,0,ccb069bc,c0679ffb,c23c4790,0) at =
 0xc06
 78292
 allocbuf(c23c4790,0,0,0,cc91b310,cc5e0678,0,ccb06a7c,cc5e0678,0) at 0xc0678=
 c83
 getblk(cc5e0678,7a0,0,0,0,0,ccb069fc,c06782fe,cc5e0678,cc5e0678) at 0xc0679=
 ffb
 bio_doread(0,ffffffff,0,c067853a,c23c4894,cc5e0678,cb18b100,f0000,0,c213760=
 0) at
  0xc067a10e
 bread(cc5e0678,7a0,0,0,ffffffff,0,ccb06a7c,c2137600,ccb06a8c,ccb72ccd) at 0=
 xc067
 a307
 end(c2137600,ccb79600,0,1,11,2,40,cb2efc00,cc5e0678,cb2efe0b) at 0xccb72cf4
 end(cc5e0678,ccb0b42c,cc91b2a0,ccb0b3a0,cc91b2a0,0,3,c05bcefc,ccb0bd28,2) a=
 t 0xc
 cb7536e
 end(ccb0b42c,bfbfe4cc,ccb0b3a0,ccb06cc0,0,ccb796c0,ccb06b8c,c0682841,c0a604=
 d0,cc
 b0b42c) at 0xccb7597d
 VFS_MOUNT(ccb0b42c,bfbfe4cc,ccb0b3a0,ccb06cc0,ccb0bd2c,ccb41a18,cc9f1e40,0,=
 67000
 ,0) at 0xc0680a94
 do_sys_mount(cc91b2a0,0,80492c5,bfbfe4cc,0,bfbfeccc,0,8c,ccb06d28,bbb30000)=
  at 0
 xc06898dc
 sys___mount50(cc91b2a0,ccb06d00,ccb06d28,ccb06d00,bbb30000,cc4f3784,19a,804=
 92c5,
 bfbfe4cc,0) at 0xc0689a8d
 syscall(ccb06d48,b3,ab,1f,1f,bfbfe8cc,bfbfe4cc,bfbfed68,bfbfeccc,bbbccbc0) =
 at 0x
 c05ceae9
 
 Question: is ps needed?
 
 
 > =A0There are two ways to go about debugging this further: one is to use
 > =A0rump_msdos, which should exhibit the same behavior but being entirely
 > =A0userlevel can be run in a debugger and also won't kill the system when
 > =A0it fails.
 >
 > =A0The other is to go ahead and boot and crash a test kernel; if you
 > =A0compile msdosfs in instead of loading it as a module, you'll probably
 > =A0get sane stuff out of crash; alternatively, if you include ddb and set
 > =A0the ddb.onpanic sysctl to 1, you may be able to get a working
 > =A0backtrace directly from ddb. Either way, enable DIAGNOSTIC for good
 > =A0measure.
 >
 
 Trying the 2nd way... With patches, msdosfs in kernel, DIAGNOSTIC,
 ddb.onpanic=3D1.
 
 I taked shots of the screen with my digital camera (neither serial console
 nor other way to get the output here...). I did my best to type without typ=
 os.
 
 # mount_msdos /dev/sd0e /mnt
 mount_msdos: "/mnt" is a non-resolved or relative path.
 mount_msdos: using "/mnt" instead.
 panic: bread: zero-length buf requested
 
 fatal breakpoint trap in supervisor mode
 trap type 1 code 0 eip c022d974 cs 8 eflags 246 cr2 bbb30a10 ilevel 0
 Stopped in pid 475.1 (mount_msdos) at   netbsd:breakpoint+0x4:  popl    %eb=
 p
 db{0}> trace
 breakpoint(cc680678,ccbb29fc,c0466b30,ccbb2a08,0,ccbb2a7c,ccbb2a2c,c06b0fa3=
 ,c09f
 18c0,ffffffff) at netbsd:breakpoint+0x4
 panic(c09f18c0,ffffffff,0,0,c2191600,c0100f4e,0,f0000,0,c2191600) at netbsd=
 :pani
 c+0x1f2
 bread(cc680678,7a0,0,0,ffffffff,0,ccbb2a7c,c2191600,ccbb2a8c,c04d9fad) at n=
 etbsd
 :bread+0x83
 fillinusemap(c2191600,c0a6aaa0,0,1,11,2,40,cb34fc00,cc680678,cb34fe0b) at n=
 etbsd
 :fillinusemap+0x144
 msdosfs_mountfs(cc680678,ccbbc000,cc9dc7e0,ccbbba00,cc9dc7e0,0,3,c05e428c,c=
 cbbc8
 fc,a) at netbsd:msdosfs_mountfs+0x5fa
 msdosfs_mount(ccbbc000,bfbfe4cc,ccbbba00,ccbb2cc0,0,c0a6ab60,ccbb2b8c,c06ba=
 8f9,c
 0ab8690,ccbbc000) at netbsd:msdosfs_mount+0x2f5
 VFS_MOUNT(ccbbc000,bfbfe4cc,ccbbba00,ccbb2cc0,ccbbc900,ccbefac8,ccab2e40,0,=
 bbb34
 000,0) at netbsd:VFS_MOUNT+0x24
 do_sys_mount(cc9dc7e0,0,80492c5,bfbfe4cc,0,bfbfeccc,0,8c,ccbb2d28,bbb30000)=
  at n
 etbsd:do_sys_mount+0x847
 sys___mount50(cc9dc7e0,ccbb2d00,ccbb2d28,bfbfe154,bbb30000,cc5931e4,19a,804=
 92c5,
 bfbfe4cc,0) at netbsd:sys___mount50+0x2d
 syscall(ccbb2d48,b3,ab,1f,1f,bfbfe8cc,bfbfe4cc,bfbfed68,bfbfeccc,bbbccbc0) =
 at ne
 tbsd:syscall+0xb9
 


Home | Main Index | Thread Index | Old Index