Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 21 Feb 1999 11:20:01 -0800 (PST)
From:      Howard Goldstein <hgoldste@bbs.mpcs.com>
To:        freebsd-bugs@FreeBSD.org
Subject:   Re: kern/10166: panic during heavy sio i/o;no coproc; vesa+vm86
Message-ID:  <199902211920.LAA08235@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/10166; it has been noted by GNATS.

From: Howard Goldstein <hgoldste@bbs.mpcs.com>
To: Bruce Evans <bde@zeta.org.au>
Cc: hgoldste@bbs.mpcs.com, freebsd-gnats-submit@FreeBSD.ORG
Subject: Re: kern/10166: panic during heavy sio i/o;no coproc; vesa+vm86
Date: Sun, 21 Feb 1999 14:12:31 -0500 (EST)

 Bruce Evans writes:
  > The symbols seem to be OK for these, but no data is printed for the
  > critical frame(s) (the one shown as calling trap(), and possible one=
 
  > not shown that actually calls trap()).
 
 Here's some more bt.  I can reproduce this very easily.  Please let me
 know if there are other things I can poke around for to make this
 easier.
 
 #=20
 
 Fatal trap 12: pkernel trap 12 with interrupts disabled
 
 
 Fatal trap 12: page fault while in kernel mode
 fault virtual address   =3D 0x76107fa
 fault code              =3D supervisor read, page not present
 instruction pointer     =3D 0x8:0xf01a7bc3
 stack pointer           =3D 0x10:0xf2899c4c
 frame pointer           =3D 0x10:0xf2899c70
 code segment            =3D base 0x0, limit 0xfffff, type 0x1b
                         =3D DPL 0, pres 1, def32 1, gran 1
 processor eflags        =3D resume, IOPL =3D 0
 current process         =3D 50 (vdusrvr)
 interrupt mask          =3D tty=20
 kernel: type 12 trap, code=3D0
 Stopped at      random_poll+0xef3:      testb   $0x1,0x84(%eax)
 db> trace
 random_poll(f0571000,f2899ca8,f0191b67,0,10) at random_poll+0xef3
 random_poll(0,10,2ed,2ed,20) at random_poll+0xe6a
 Xfastintr4(f2899cd4,80000000,283,f2899cd4,f2899cdc) at Xfastintr4+0x17
 random_poll(f2899cd4,70,0,30f000c,3a6f680b) at random_poll+0x2178
 siocnputc(1c03,70,5,f2899d08,f013183f) at siocnputc+0x30
 cnputc(70,9,0,f01be8fe,f2899d54) at cnputc+0x42
 vprintf(70,f2899d78) at vprintf+0xef
 kvprintf(f01bea3c,f01317a8,f2899d78,a,f2899d94) at kvprintf+0x62d
 printf(f01bea29,c,f01be8f3,f01bea1d) at printf+0x3d
 trap(f2899e0c,76107ca,f2874200,c,0) at trap+0x7e8
 trap(f2899e0c,0,76107ca,80000000,f2874200) at trap+0x757
 trap(10,f2890010,f286c980,f2874200,f2899e48) at trap+0x3b6
 alltraps(1c80,f2899f34,7f0010,f2899ef8,f2899f34) at alltraps+0x28
 spec_vnoperate(f2899ef8,f2899ef8,f0591680,f286c980,f2899ed0) at spec_vn=
 operate+0x2c3
 ufs_itimes(f2899ef8,f2899f0c,f0150c01,f2899ef8,5dc) at ufs_itimes+0x24c=
 8
 ufs_vnoperatespec(f2899ef8,5dc,f2874200,f2899f2c,f2899ef8) at ufs_vnope=
 ratespec+0x15
 vn_rdwr(f0591680,f2899f34,f0403900,f2874200,f01c4efc) at vn_rdwr+0x23d
 read(f2874200,f2899f84) at read+0x95
 syscall(10027,27,25620,efbfd6bc,efbfdd18) at syscall+0x127
 Xint0x80_syscall() at Xint0x80_syscall+0x2c
 db>
 
 *****
 
 Remote debugging using /dev/cuaa1
 0xf01a7bc3 in siointr1 (com=3D0xf0571000) at ../../i386/isa/sio.c:1545
 1545                                            if (com->tp =3D=3D NULL=
 
 (kgdb) bt
 #0  0xf01a7bc3 in siointr1 (com=3D0xf0571000) at ../../i386/isa/sio.c:1=
 545
 #1  0xf01a7b3a in siointr (unit=3D0) at ../../i386/isa/sio.c:1465
 #2  0xf0191b67 in Xfastintr4 ()
 #3  0xf01a8e48 in siocnclose (sp=3D0xf2899cd4) at ../../i386/isa/sio.c:=
 2600
 #4  0xf01a90b8 in siocnputc (dev=3D7171, c=3D112) at ../../i386/isa/sio=
 .c:2742
 #5  0xf01900fe in cnputc (c=3D112) at ../../i386/i386/cons.c:413
 #6  0xf013183f in putchar (c=3D112, arg=3D0xf2899d78) at ../../kern/sub=
 r_prf.c:309
 #7  0xf0131f75 in kvprintf (fmt=3D0xf01bea3c " while in %s mode\n",=20
     func=3D0xf01317a8 <putchar>, arg=3D0xf2899d78, radix=3D10,=20
     ap=3D0xf2899d94 "\035=EA\e=F0") at ../../kern/subr_prf.c:590
 #8  0xf013172d in printf (
     fmt=3D0xf01bea29 "\n\nFatal trap %d: %s while in %s mode\n")
     at ../../kern/subr_prf.c:262
 #9  0xf019d1e8 in trap_fatal (frame=3D0xf2899e0c, eva=3D123799498)
     at ../../i386/i386/trap.c:858
 #10 0xf019d157 in trap_pfault (frame=3D0xf2899e0c, usermode=3D0, eva=3D=
 123799498)
     at ../../i386/i386/trap.c:835
 #11 0xf019cdb6 in trap (frame=3D{tf_es =3D 16, tf_ds =3D -225902576,=20=
 
       tf_edi =3D -226047616, tf_esi =3D -226016768, tf_ebp =3D -2258620=
 72,=20
       tf_isp =3D -225862092, tf_ebx =3D -225861896, tf_edx =3D 128,=20
       tf_ecx =3D -262743808, tf_eax =3D 123799414, tf_trapno =3D 12, tf=
 _err =3D 0,=20
       tf_eip =3D -266700265, tf_cs =3D -226033656, tf_eflags =3D 66118,=
 =20
       tf_esp =3D -225861972, tf_ss =3D -267041277}) at ../../i386/i386/=
 trap.c:437
 ---Type <return> to continue, or q <return> to quit---
 #12 0xf01a7a17 in sioread (dev=3D7296, uio=3D0xf2899f34, flag=3D8323088=
 )
     at ../../i386/isa/sio.c:1385
 #13 0xf0154603 in spec_read (ap=3D0xf2899ef8)
     at ../../miscfs/specfs/spec_vnops.c:278
 #14 0xf01740dc in ufsspec_read (ap=3D0xf2899ef8)
     at ../../ufs/ufs/ufs_vnops.c:1811
 #15 0xf017464d in ufs_vnoperatespec (ap=3D0xf2899ef8)
     at ../../ufs/ufs/ufs_vnops.c:2312
 #16 0xf0150c01 in vn_read (fp=3D0xf0591680, uio=3D0xf2899f34, cred=3D0x=
 f0403900)
     at vnode_if.h:303
 #17 0xf0133911 in read (p=3D0xf2874200, uap=3D0xf2899f84)
     at ../../kern/sys_generic.c:121
 #18 0xf019d687 in syscall (frame=3D{tf_es =3D 65575, tf_ds =3D 39, tf_e=
 di =3D 153120,=20
       tf_esi =3D -272640324, tf_ebp =3D -272638696, tf_isp =3D -2258616=
 76,=20
       tf_ebx =3D -1, tf_edx =3D 671417344, tf_ecx =3D -272640264, tf_ea=
 x =3D 3,=20
       tf_trapno =3D 0, tf_err =3D 2, tf_eip =3D 134516156, tf_cs =3D 31=
 ,=20
       tf_eflags =3D 582, tf_esp =3D -272640376, tf_ss =3D 39})
     at ../../i386/i386/trap.c:1100
 #19 0xf019174c in Xint0x80_syscall ()
 #20 0x80487ed in ?? ()
 #21 0x80480e9 in ?? ()
 (kgdb)bx =3D -1, tf_edx =3D 671417344, tf_ecx =3D -272640264, tf_eax =3D=
  3,=20
       tf_trapno =3D 0, tf_err =3D 2, tf_eip =3D 134516156, tf_cs =3D 31=
 ,=20
       tf_eflags =3D 582, tf_esp =3D -272640376, tf_ss =3D 39})
     at ../../i386/i386/trap.c:1100
 #19 0xf019174c in Xint0x80_syscall ()
 #20 0x80487ed in ?? ()
 #21 0x80480e9 in ?? ()
 (kgdb)  frame 11
 #11 0xf019cdb6 in trap (frame=3D{tf_es =3D 16, tf_ds =3D -225902576,=20=
 
       tf_edi =3D -226047616, tf_esi =3D -226016768, tf_ebp =3D -2258620=
 72,=20
       tf_isp =3D -225862092, tf_ebx =3D -225861896, tf_edx =3D 128,=20
       tf_ecx =3D -262743808, tf_eax =3D 123799414, tf_trapno =3D 12, tf=
 _err =3D 0,=20
       tf_eip =3D -266700265, tf_cs =3D -226033656, tf_eflags =3D 66118,=
 =20
       tf_esp =3D -225861972, tf_ss =3D -267041277}) at ../../i386/i386/=
 trap.c:437
 437                             (void) trap_pfault(&frame, FALSE, eva);=
 
 (kgdb) print eva
 $1 =3D 123799498
 (kgdb) print *eva
 Cannot access memory at address 0x76107ca.
 (kgdb) l
 432     #endif
 433                     /* kernel trap */
 434
 435                     switch (type) {
 436                     case T_PAGEFLT:                 /* page fault *=
 /
 437                             (void) trap_pfault(&frame, FALSE, eva);=
 
 438                             return;
 439
 440                     case T_DNA:
 441     #if NNPX > 0
 (kgdb)  frame 10
 #10 0xf019d157 in trap_pfault (frame=3D0xf2899e0c, usermode=3D0, eva=3D=
 123799498)
     at ../../i386/i386/trap.c:835
 835                     trap_fatal(frame, eva);
 (kgdb) l
 830             if (!usermode) {
 831                     if (intr_nesting_level =3D=3D 0 && curpcb && cu=
 rpcb->pcb_onfault) {
 832                             frame->tf_eip =3D (int)curpcb->pcb_onfa=
 ult;
 833                             return (0);
 834                     }
 835                     trap_fatal(frame, eva);
 836                     return (-1);
 837             }
 838
 839             /* kludge to pass faulting virtual address to sendsig *=
 /
 (kgdb) print *frame
 $2 =3D {tf_es =3D 16, tf_ds =3D -225902576, tf_edi =3D -226047616,=20
   tf_esi =3D -226016768, tf_ebp =3D -225862072, tf_isp =3D -225862092,=20=
 
   tf_ebx =3D -225861896, tf_edx =3D 128, tf_ecx =3D -262743808, tf_eax =
 =3D 123799414,=20
   tf_trapno =3D 12, tf_err =3D 0, tf_eip =3D -266700265, tf_cs =3D -226=
 033656,=20
   tf_eflags =3D 66118, tf_esp =3D -225861972, tf_ss =3D -267041277}
 (kgdb) print *curpcb
 $3 =3D 15962112
 (kgdb) print curpcb
 $4 =3D -225869824
 (kgdb)  print eva
 $5 =3D 123799498
 (kgdb) print *eva
 Cannot access memory at address 0x76107ca.
 (kgdb)  frame 9
 #9  0xf019d1e8 in trap_fatal (frame=3D0xf2899e0c, eva=3D123799498)
     at ../../i386/i386/trap.c:858
 858                     printf("\n\nFatal trap %d: %s while in %s mode\=
 n",
 (kgdb) l
 853             code =3D frame->tf_err;
 854             type =3D frame->tf_trapno;
 855             sdtossd(&gdt[IDXSEL(frame->tf_cs & 0xffff)].sd, &softse=
 g);
 856
 857             if (type <=3D MAX_TRAP_MSG)
 858                     printf("\n\nFatal trap %d: %s while in %s mode\=
 n",
 859                             type, trap_msg[type],
 860                             frame->tf_eflags & PSL_VM ? "vm86" :
 861                             ISPL(frame->tf_cs) =3D=3D SEL_UPL ? "us=
 er" : "kernel");
 862     #ifdef SMP
 (kgdb) print type    =20
 print code
 $7 =3D 12
 (kgdb) print code
 $8 =3D 0
 (kgdb)  frame 12
 #12 0xf01a7a17 in sioread (dev=3D7296, uio=3D0xf2899f34, flag=3D8323088=
 )
     at ../../i386/isa/sio.c:1385
 1385            tp =3D com_addr(unit)->tp;
 (kgdb) l
 1380            if (mynor & CONTROL_MASK)
 1381                    return (ENODEV);
 1382            unit =3D MINOR_TO_UNIT(mynor);
 1383            if (com_addr(unit)->gone)
 1384                    return (ENODEV);
 1385            tp =3D com_addr(unit)->tp;
 1386            return ((*linesw[tp->t_line].l_read)(tp, uio, flag));
 1387    }
 1388
 1389    static int
 (kgdb) print *unit
 Cannot access memory at address 0x7610776.
 (kgdb) print unit
 $9 =3D 123799414
 (kgdb) print tp
 $10 =3D (struct tty *) 0x7610776
 (kgdb) frame 13
 #13 0xf0154603 in spec_read (ap=3D0xf2899ef8)
     at ../../miscfs/specfs/spec_vnops.c:278
 278                     error =3D (*cdevsw[major(vp->v_rdev)]->d_read)
 (kgdb) print *vp
 $11 =3D {v_flag =3D 8, v_usecount =3D 1, v_writecount =3D 1, v_holdcnt =
 =3D 0,=20
   v_lastr =3D 0, v_id =3D 151, v_mount =3D 0xf0586e00, v_op =3D 0xf057e=
 800,=20
   v_freelist =3D {tqe_next =3D 0x0, tqe_prev =3D 0x0}, v_mntvnodes =3D =
 {
     le_next =3D 0xf286ca40, le_prev =3D 0xf286c828}, v_cleanblkhd =3D {=
 
     tqh_first =3D 0x0, tqh_last =3D 0xf286c9b0}, v_dirtyblkhd =3D {tqh_=
 first =3D 0x0,=20
     tqh_last =3D 0xf286c9b8}, v_synclist =3D {le_next =3D 0x0, le_prev =
 =3D 0x0},=20
   v_numoutput =3D 0, v_type =3D VCHR, v_un =3D {vu_mountedhere =3D 0xf0=
 56d900,=20
     vu_socket =3D 0xf056d900, vu_specinfo =3D 0xf056d900,=20
     vu_fifoinfo =3D 0xf056d900}, v_lease =3D 0x0, v_lastw =3D 0, v_csta=
 rt =3D 0,=20
   v_lasta =3D 0, v_clen =3D 0, v_maxio =3D 0, v_object =3D 0x0, v_inter=
 lock =3D {
     lock_data =3D 0}, v_vnlock =3D 0x0, v_tag =3D VT_UFS, v_data =3D 0x=
 f05a6f00,=20
   v_cache_src =3D {lh_first =3D 0x0}, v_cache_dst =3D {tqh_first =3D 0x=
 f0591640,=20
     tqh_last =3D 0xf0591650}, v_dd =3D 0xf286c980, v_ddid =3D 0, v_poll=
 info =3D {
     vpi_lock =3D {lock_data =3D 0}, vpi_selinfo =3D {si_pid =3D 0, si_f=
 lags =3D 0},=20
     vpi_events =3D 0, vpi_revents =3D 0}}
 (kgdb) l
 273
 274             switch (vp->v_type) {
 275
 276             case VCHR:
 277                     VOP_UNLOCK(vp, 0, p);
 278                     error =3D (*cdevsw[major(vp->v_rdev)]->d_read)
 279                             (vp->v_rdev, uio, ap->a_ioflag);
 280                     vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, p);
 281                     return (error);
 282
 (kgdb) l
 273
 274             switch (vp->v_type) {
 275
 276             case VCHR:
 277                     VOP_UNLOCK(vp, 0, p);
 278                     error =3D (*cdevsw[major(vp->v_rdev)]->d_read)
 279                             (vp->v_rdev, uio, ap->a_ioflag);
 280                     vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, p);
 281                     return (error);
 282
 (kgdb) print *uio
 $12 =3D {uio_iov =3D 0xf2899f2c, uio_iovcnt =3D 1, uio_offset =3D 0x000=
 00000000e5f20,=20
   uio_resid =3D 1500, uio_segflg =3D UIO_USERSPACE, uio_rw =3D UIO_READ=
 ,=20
   uio_procp =3D 0xf2874200}
 (kgdb) print *ap
 Cannot access memory at address 0x80000000.
 (kgdb) print p
 $13 =3D (struct proc *) 0xf2874200
 (kgdb) print *p
 $14 =3D {p_procq =3D {tqe_next =3D 0xf037a3f4, tqe_prev =3D 0x0}, p_lis=
 t =3D {
     le_next =3D 0xf2874360, le_prev =3D 0xf28740a8}, p_cred =3D 0xf056d=
 980,=20
   p_fd =3D 0xf05a5380, p_stats =3D 0xf2898214, p_limit =3D 0xf058f200,=20=
 
   p_upages_obj =3D 0xf037151c, p_procsig =3D 0xf056d960, p_flag =3D 163=
 90,=20
   p_stat =3D 2 '\002', p_pad1 =3D "\000\000", p_pid =3D 50, p_hash =3D =
 {
     le_next =3D 0xf2874d00, le_prev =3D 0xf056fe88}, p_pglist =3D {le_n=
 ext =3D 0x0,=20
     le_prev =3D 0xf28740dc}, p_pptr =3D 0xf2874360, p_sibling =3D {le_n=
 ext =3D 0x0,=20
     le_prev =3D 0xf28740e8}, p_children =3D {lh_first =3D 0x0}, p_ithan=
 dle =3D {
     callout =3D 0xf116c428}, p_oppid =3D 0, p_dupfd =3D 0, p_vmspace =3D=
  0xf2877a00,=20
   p_estcpu =3D 39, p_cpticks =3D 19, p_pctcpu =3D 163, p_wchan =3D 0x0,=
 =20
   p_wmesg =3D 0xf01b5bec "select", p_swtime =3D 709, p_slptime =3D 0, p=
 _realtimer =3D {
     it_interval =3D {tv_sec =3D 0, tv_usec =3D 0}, it_value =3D {tv_sec=
  =3D 0,=20
       tv_usec =3D 0}}, p_runtime =3D 77187615, p_switchtime =3D {tv_sec=
  =3D 720,=20
     tv_usec =3D 349840}, p_uticks =3D 5219, p_sticks =3D 4460, p_iticks=
  =3D 77,=20
   p_traceflag =3D 0, p_tracep =3D 0x0, p_siglist =3D 0, p_textvp =3D 0x=
 f286cc80,=20
   p_lock =3D 0 '\000', p_oncpu =3D 0 '\000', p_lastcpu =3D 0 '\000',=20=
 
   p_pad2 =3D 0 '\000', p_locks =3D 0, p_simple_locks =3D 0, p_stops =3D=
  0,=20
   p_stype =3D 0, p_step =3D 0 '\000', p_pfsflags =3D 0 '\000', p_pad3 =3D=
  "\000",=20
   p_retval =3D {0, 671417344}, p_sigiolst =3D {slh_first =3D 0x0}, p_si=
 gparent =3D 0,=20
   p_oldsigmask =3D 0, p_sig =3D 0, p_code =3D 0, p_sigmask =3D 0, p_pri=
 ority =3D 59 ';',=20
   p_usrpri =3D 59 ';', p_nice =3D 0 '\000',=20
   p_comm =3D "vdusrvr\000r\000\000\000\000\000\000\000", p_pgrp =3D 0xf=
 056da00,=20
   p_sysent =3D 0xf01c4cd4, p_rtprio =3D {type =3D 1, prio =3D 0}, p_add=
 r =3D 0xf2898000,=20
 ---Type <return> to continue, or q <return> to quit---
   p_md =3D {md_regs =3D 0xf2899fac}, p_xstat =3D 0, p_acflag =3D 0, p_r=
 u =3D 0x0,=20
   p_nthreads =3D 0, p_aioinfo =3D 0x0, p_wakeup =3D 0, p_peers =3D 0x0,=
 =20
   p_leader =3D 0xf2874200, p_asleep =3D {as_priority =3D 0, as_timo =3D=
  0}}
 (kgdb) frame 14
 #14 0xf01740dc in ufsspec_read (ap=3D0xf2899ef8)
     at ../../ufs/ufs/ufs_vnops.c:1811
 1811            error =3D VOCALL(spec_vnodeop_p, VOFFSET(vop_read), ap)=
 ;
 (kgdb) l
 1806            struct inode *ip;
 1807            struct uio *uio;
 1808
 1809            uio =3D ap->a_uio;
 1810            resid =3D uio->uio_resid;
 1811            error =3D VOCALL(spec_vnodeop_p, VOFFSET(vop_read), ap)=
 ;
 1812            /*
 1813             * The inode may have been revoked during the call, so =
 it must not
 1814             * be accessed blindly here or in the other wrapper fun=
 ctions.
 1815             */
 (kgdb) print *ap
 $16 =3D {a_desc =3D 0xf01c421c, a_vp =3D 0xf286c980, a_uio =3D 0xf2899f=
 34,=20
   a_ioflag =3D 8323088, a_cred =3D 0xf0403900}
 (kgdb) print *ap->a_desc
 $18 =3D {vdesc_offset =3D 10, vdesc_name =3D 0xf01b2d9c "vop_read", vde=
 sc_flags =3D 0,=20
   vdesc_vp_offsets =3D 0xf01c4214, vdesc_vpp_offset =3D -1,=20
   vdesc_cred_offset =3D 16, vdesc_proc_offset =3D -1,=20
   vdesc_componentname_offset =3D -1, vdesc_transports =3D 0x0}
 (kgdb) print uio_iov
 No symbol "uio_iov" in current context.
 (kgdb) print uio->uio_iov
 $19 =3D (struct iovec *) 0xf2899f2c
 (kgdb) print *uio->uio_iov
 $20 =3D {
   iov_base =3D 0xefbfd6bc "=D6Tlm\001=D6PO\230=F1\230N\224\235\214\004=AC=
 \005|\005=AD",=20
   iov_len =3D 1500}
 (kgdb) print *uio->uio_iov.iov_base
 $21 =3D -42 '=D6'
 (kgdb) print uio->uio_iov.iov_base
 $22 =3D 0xefbfd6bc "=D6Tlm\001=D6PO\230=F1\230N\224\235\214\004=AC\005|=
 \005=AD"
 (kgdb) frame 15
 #15 0xf017464d in ufs_vnoperatespec (ap=3D0xf2899ef8)
     at ../../ufs/ufs/ufs_vnops.c:2312
 2312            return (VOCALL(ufs_specop_p, ap->a_desc->vdesc_offset, =
 ap));
 (kgdb) l
 2307    ufs_vnoperatespec(ap)
 2308            struct vop_generic_args /* {
 2309                    struct vnodeop_desc *a_desc;
 2310            } */ *ap;
 2311    {
 2312            return (VOCALL(ufs_specop_p, ap->a_desc->vdesc_offset, =
 ap));
 2313    }
 2314
 2315
 (kgdb) print *ap
 Cannot access memory at address 0x77507ff.
 (kgdb) frame 16
 #16 0xf0150c01 in vn_read (fp=3D0xf0591680, uio=3D0xf2899f34, cred=3D0x=
 f0403900)
     at vnode_if.h:303
 303             return (VCALL(vp, VOFFSET(vop_read), &a));
 (kgdb) l
 298             a.a_desc =3D VDESC(vop_read);
 299             a.a_vp =3D vp;
 300             a.a_uio =3D uio;
 301             a.a_ioflag =3D ioflag;
 302             a.a_cred =3D cred;
 303             return (VCALL(vp, VOFFSET(vop_read), &a));
 304     }
 305     struct vop_write_args {
 306             struct vnodeop_desc *a_desc;
 307             struct vnode *a_vp;
 (kgdb) print a
 $23 =3D {a_desc =3D 0xf01c421c, a_vp =3D 0xf286c980, a_uio =3D 0xf2899f=
 34,=20
   a_ioflag =3D 8323088, a_cred =3D 0xf0403900}
 (kgdb) print &a
 $24 =3D (struct vop_read_args *) 0xf2899ef8
 (kgdb) print vp
 $25 =3D (struct vnode *) 0xf286c980
 (kgdb) print *vp
 $26 =3D {v_flag =3D 8, v_usecount =3D 1, v_writecount =3D 1, v_holdcnt =
 =3D 0,=20
   v_lastr =3D 0, v_id =3D 151, v_mount =3D 0xf0586e00, v_op =3D 0xf057e=
 800,=20
   v_freelist =3D {tqe_next =3D 0x0, tqe_prev =3D 0x0}, v_mntvnodes =3D =
 {
     le_next =3D 0xf286ca40, le_prev =3D 0xf286c828}, v_cleanblkhd =3D {=
 
     tqh_first =3D 0x0, tqh_last =3D 0xf286c9b0}, v_dirtyblkhd =3D {tqh_=
 first =3D 0x0,=20
     tqh_last =3D 0xf286c9b8}, v_synclist =3D {le_next =3D 0x0, le_prev =
 =3D 0x0},=20
   v_numoutput =3D 0, v_type =3D VCHR, v_un =3D {vu_mountedhere =3D 0xf0=
 56d900,=20
     vu_socket =3D 0xf056d900, vu_specinfo =3D 0xf056d900,=20
     vu_fifoinfo =3D 0xf056d900}, v_lease =3D 0x0, v_lastw =3D 0, v_csta=
 rt =3D 0,=20
   v_lasta =3D 0, v_clen =3D 0, v_maxio =3D 0, v_object =3D 0x0, v_inter=
 lock =3D {
     lock_data =3D 0}, v_vnlock =3D 0x0, v_tag =3D VT_UFS, v_data =3D 0x=
 f05a6f00,=20
   v_cache_src =3D {lh_first =3D 0x0}, v_cache_dst =3D {tqh_first =3D 0x=
 f0591640,=20
     tqh_last =3D 0xf0591650}, v_dd =3D 0xf286c980, v_ddid =3D 0, v_poll=
 info =3D {
     vpi_lock =3D {lock_data =3D 0}, vpi_selinfo =3D {si_pid =3D 0, si_f=
 lags =3D 0},=20
     vpi_events =3D 0, vpi_revents =3D 0}}
 (kgdb) frame 17
 #17 0xf0133911 in read (p=3D0xf2874200, uap=3D0xf2899f84)
     at ../../kern/sys_generic.c:121
 121             if ((error =3D (*fp->f_ops->fo_read)(fp, &auio, fp->f_c=
 red)))
 (kgdb) l
 116              */
 117             if (KTRPOINT(p, KTR_GENIO))
 118                     ktriov =3D aiov;
 119     #endif
 120             cnt =3D uap->nbyte;
 121             if ((error =3D (*fp->f_ops->fo_read)(fp, &auio, fp->f_c=
 red)))
 122                     if (auio.uio_resid !=3D cnt && (error =3D=3D ER=
 ESTART ||
 123                         error =3D=3D EINTR || error =3D=3D EWOULDBL=
 OCK))
 124                             error =3D 0;
 125             cnt -=3D auio.uio_resid;
 (kgdb) print *fp
 Cannot access memory at address 0x76107ff.
 (kgdb) print auio
 $27 =3D {uio_iov =3D 0xf2899f2c, uio_iovcnt =3D 1, uio_offset =3D 0x000=
 00000000e5f20,=20
   uio_resid =3D 1500, uio_segflg =3D UIO_USERSPACE, uio_rw =3D UIO_READ=
 ,=20
   uio_procp =3D 0xf2874200}
 (kgdb) print *p
 $29 =3D {p_procq =3D {tqe_next =3D 0xf037a3f4, tqe_prev =3D 0x0}, p_lis=
 t =3D {
     le_next =3D 0xf2874360, le_prev =3D 0xf28740a8}, p_cred =3D 0xf056d=
 980,=20
   p_fd =3D 0xf05a5380, p_stats =3D 0xf2898214, p_limit =3D 0xf058f200,=20=
 
   p_upages_obj =3D 0xf037151c, p_procsig =3D 0xf056d960, p_flag =3D 163=
 90,=20
   p_stat =3D 2 '\002', p_pad1 =3D "\000\000", p_pid =3D 50, p_hash =3D =
 {
     le_next =3D 0xf2874d00, le_prev =3D 0xf056fe88}, p_pglist =3D {le_n=
 ext =3D 0x0,=20
     le_prev =3D 0xf28740dc}, p_pptr =3D 0xf2874360, p_sibling =3D {le_n=
 ext =3D 0x0,=20
     le_prev =3D 0xf28740e8}, p_children =3D {lh_first =3D 0x0}, p_ithan=
 dle =3D {
     callout =3D 0xf116c428}, p_oppid =3D 0, p_dupfd =3D 0, p_vmspace =3D=
  0xf2877a00,=20
   p_estcpu =3D 39, p_cpticks =3D 19, p_pctcpu =3D 163, p_wchan =3D 0x0,=
 =20
   p_wmesg =3D 0xf01b5bec "select", p_swtime =3D 709, p_slptime =3D 0, p=
 _realtimer =3D {
     it_interval =3D {tv_sec =3D 0, tv_usec =3D 0}, it_value =3D {tv_sec=
  =3D 0,=20
       tv_usec =3D 0}}, p_runtime =3D 77187615, p_switchtime =3D {tv_sec=
  =3D 720,=20
     tv_usec =3D 349840}, p_uticks =3D 5219, p_sticks =3D 4460, p_iticks=
  =3D 77,=20
   p_traceflag =3D 0, p_tracep =3D 0x0, p_siglist =3D 0, p_textvp =3D 0x=
 f286cc80,=20
   p_lock =3D 0 '\000', p_oncpu =3D 0 '\000', p_lastcpu =3D 0 '\000',=20=
 
   p_pad2 =3D 0 '\000', p_locks =3D 0, p_simple_locks =3D 0, p_stops =3D=
  0,=20
   p_stype =3D 0, p_step =3D 0 '\000', p_pfsflags =3D 0 '\000', p_pad3 =3D=
  "\000",=20
   p_retval =3D {0, 671417344}, p_sigiolst =3D {slh_first =3D 0x0}, p_si=
 gparent =3D 0,=20
   p_oldsigmask =3D 0, p_sig =3D 0, p_code =3D 0, p_sigmask =3D 0, p_pri=
 ority =3D 59 ';',=20
   p_usrpri =3D 59 ';', p_nice =3D 0 '\000',=20
   p_comm =3D "vdusrvr\000r\000\000\000\000\000\000\000", p_pgrp =3D 0xf=
 056da00,=20
   p_sysent =3D 0xf01c4cd4, p_rtprio =3D {type =3D 1, prio =3D 0}, p_add=
 r =3D 0xf2898000,=20
 ---Type <return> to continue, or q <return> to quit---
   p_md =3D {md_regs =3D 0xf2899fac}, p_xstat =3D 0, p_acflag =3D 0, p_r=
 u =3D 0x0,=20
   p_nthreads =3D 0, p_aioinfo =3D 0x0, p_wakeup =3D 0, p_peers =3D 0x0,=
 =20
   p_leader =3D 0xf2874200, p_asleep =3D {as_priority =3D 0, as_timo =3D=
  0}}
 (kgdb) print *p->p_fd
 $30 =3D {fd_ofiles =3D 0xf05a539c, fd_ofileflags =3D 0xf05a53ec "",=20
   fd_cdir =3D 0xf286fe00, fd_rdir =3D 0xf286fe00, fd_nfiles =3D 20, fd_=
 lastfile =3D 2,=20
   fd_freefile =3D 1, fd_cmask =3D 18, fd_refcnt =3D 1}
 (kgdb) frame 18
 #18 0xf019d687 in syscall (frame=3D{tf_es =3D 65575, tf_ds =3D 39, tf_e=
 di =3D 153120,=20
       tf_esi =3D -272640324, tf_ebp =3D -272638696, tf_isp =3D -2258616=
 76,=20
       tf_ebx =3D -1, tf_edx =3D 671417344, tf_ecx =3D -272640264, tf_ea=
 x =3D 3,=20
       tf_trapno =3D 0, tf_err =3D 2, tf_eip =3D 134516156, tf_cs =3D 31=
 ,=20
       tf_eflags =3D 582, tf_esp =3D -272640376, tf_ss =3D 39})
     at ../../i386/i386/trap.c:1100
 1100            error =3D (*callp->sy_call)(p, args);
 (kgdb) l
 1095            p->p_retval[0] =3D 0;
 1096            p->p_retval[1] =3D frame.tf_edx;
 1097
 1098            STOPEVENT(p, S_SCE, callp->sy_narg);
 1099
 1100            error =3D (*callp->sy_call)(p, args);
 1101
 1102            switch (error) {
 1103
 1104            case 0:
 (kgdb) print *callp
 $32 =3D {sy_narg =3D 3, sy_call =3D 0xf013387c <read>}
 (kgdb) print args
 $33 =3D {1, -272640324, 1500, 0, 134570048, 11, -272640464, -266787087}=
 
 (kgdb) print frame
 $34 =3D {tf_es =3D 65575, tf_ds =3D 39, tf_edi =3D 153120, tf_esi =3D -=
 272640324,=20
   tf_ebp =3D -272638696, tf_isp =3D -225861676, tf_ebx =3D -1, tf_edx =3D=
  671417344,=20
   tf_ecx =3D -272640264, tf_eax =3D 3, tf_trapno =3D 0, tf_err =3D 2,=20=
 
   tf_eip =3D 134516156, tf_cs =3D 31, tf_eflags =3D 582, tf_esp =3D -27=
 2640376,=20
   tf_ss =3D 39}
 (kgdb) frame 19
 #19 0xf019174c in Xint0x80_syscall ()
 (kgdb)
 
 


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199902211920.LAA08235>