Hm, I had a look at the source code, and to be honest I can't find a
single reason why the path would be unset.

Did the CD reader detached itself from the bus in the meantime, or did
something like a bus error occur? Check your messages log around the
time the panic occurred to see if something like that happened.

At that point in the code it was using the path variable stored in the
periph and that one is available from when the peripheral was allocated
up to the point where the refcount for the peripheral reaches zero (that
could be wrong) or the device is invalidated.

Nick

On Sat, 29 Jul 2000, Alexander Leidinger wrote:

> Hi,
> 
> while trying to read (dd if=/dev/cd0c) from a damaged cd (the surface is
> a little bit damaged), I've got a panic:
> ---snip---
> #0  boot (howto=260) at ../../kern/kern_shutdown.c:303
> #1  0xc01a0f19 in panic (fmt=0xc029aa60 "lockmgr: pid %d, not %s %d unlocking")
>     at ../../kern/kern_shutdown.c:553
> #2  0xc019b194 in lockmgr (lkp=0xc14f4a00, flags=65542, interlkp=0xd0e2e22c, 
>     p=0xd0313ba0) at ../../kern/kern_lock.c:382
> #3  0xc01cf2af in vop_stdunlock (ap=0xd0d2ecc8) at ../../kern/vfs_default.c:255
> #4  0xc022b641 in ufs_vnoperate (ap=0xd0d2ecc8)
>     at ../../ufs/ufs/ufs_vnops.c:2301
> #5  0xc01d22aa in vput (vp=0xd0e2e1c0) at vnode_if.h:794
> #6  0xc0222ea7 in ffs_sync (mp=0xc1046a00, waitfor=2, cred=0xc0b3f980, 
>     p=0xc037f0a0) at ../../ufs/ffs/ffs_vfsops.c:955
> #7  0xc01d4295 in sync (p=0xc037f0a0, uap=0x0) at ../../kern/vfs_syscalls.c:551
> #8  0xc01a094f in boot (howto=256) at ../../kern/kern_shutdown.c:225
> #9  0xc01a0f19 in panic (fmt=0xc02babef "page fault")
>     at ../../kern/kern_shutdown.c:553
> #10 0xc0265846 in trap_fatal (frame=0xd0d2ee10, eva=68)
>     at ../../i386/i386/trap.c:929
> #11 0xc02654f9 in trap_pfault (frame=0xd0d2ee10, usermode=0, eva=68)
>     at ../../i386/i386/trap.c:822
> #12 0xc02650bf in trap (frame={tf_fs = 16, tf_es = -791543792, 
>       tf_ds = -1072562160, tf_edi = 1, tf_esi = -1056803840, 
>       tf_ebp = -791482800, tf_isp = -791482820, tf_ebx = 0, tf_edx = 64, 
>       tf_ecx = -791482776, tf_eax = 1, tf_trapno = 12, tf_err = 0, 
>       tf_eip = -1072541595, tf_cs = 8, tf_eflags = 2163330, 
>       tf_esp = -791482664, tf_ss = -1072555584}) at ../../i386/i386/trap.c:427
> #13 0xc0125065 in xpt_setup_ccb (ccb_h=0xd0d2ee68, path=0x40, priority=1)
>     at ../../cam/cam_xpt.c:3734
> #14 0xc01219c0 in cam_release_devq (path=0x40, relsim_flags=0, openings=0, 
>     timeout=0, getcount_only=0) at ../../cam/cam_periph.c:855
> ---Type <return> to continue, or q <return> to quit---
> #15 0xc0121b37 in camperiphdone (periph=0xc1021480, done_ccb=0xc1027400)
>     at ../../cam/cam_periph.c:1021
> #16 0xc0127997 in camisr (queue=0xc03189b0) at ../../cam/cam_xpt.c:6328
> #17 0xc01277a9 in swi_cambio () at ../../cam/cam_xpt.c:6231
> #18 0xc025b900 in splz_swi ()
> #19 0xc01a7451 in softclock () at ../../kern/kern_timeout.c:131
> #20 0xc025b85f in doreti_swi ()
> Cannot access memory at address 0x91992874.
> (kgdb) up 13
> #13 0xc0125065 in xpt_setup_ccb (ccb_h=0xd0d2ee68, path=0x40, priority=1)
>     at ../../cam/cam_xpt.c:3734
> 3734            ccb_h->path = path;
> (kgdb) 
> (kgdb) print path
> $1 = (struct cam_path *) 0x0
> (kgdb) print ccb_h
> $2 = (struct ccb_hdr *) 0x0
> (kgdb) up          
> #14 0xc01219c0 in cam_release_devq (path=0x40, relsim_flags=0, openings=0, 
>     timeout=0, getcount_only=0) at ../../cam/cam_periph.c:855
> 855             xpt_setup_ccb(&crs.ccb_h, path,
> (kgdb) print path
> $5 = (struct cam_path *) 0x40
> (kgdb) print *path
> Cannot access memory at address 0x40.
> ---snip---
> 
> It's a kernel from yesterday.
> 
> Bye,
> Alexander.
> 
> -- 
>    If Bill Gates had a dime for every time a Windows box crashed...
>                 ...Oh, wait a minute, he already does.
> 
> http://www.Leidinger.net                       Alexander @ Leidinger.net
>   GPG fingerprint = 7423 F3E6 3A7E B334 A9CC  B10A 1F5F 130A A638 6E7E
> 
> 
> 
> To Unsubscribe: send mail to [EMAIL PROTECTED]
> with "unsubscribe freebsd-current" in the body of the message
> 

--
[EMAIL PROTECTED]
[EMAIL PROTECTED]                                          USB project
http://www.etla.net/~n_hibma/



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to