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>
