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>