Bug 26384

Summary: dc driver hangs in dc_rxeof
Product: Base System Reporter: bill <bill>
Component: kernAssignee: freebsd-bugs (Nobody) <bugs>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Unspecified   
Hardware: Any   
OS: Any   

Description bill 2001-04-06 19:00:09 UTC
	My system hangs while doing large incoming data transfers via dc0.  I
	can break into the debugger but I can't do anything else.

	Here's a backtrace.

#14 0xc019787b in dc_rxeof (sc=0xc095f000) at /usr/src/sys/pci/if_dc.c:2365
#15 0xc0197edf in dc_intr (arg=0xc095f000) at /usr/src/sys/pci/if_dc.c:2640
#16 0xc020aa92 in slow_copyin ()
#17 0xc015d248 in sosend (so=0xc3d03480, addr=0x0, uio=0xc420fed8, top=0x0,
    control=0x0, flags=0, p=0xc3fa73c0) at /usr/src/sys/kern/uipc_socket.c:585
#18 0xc015178c in soo_write (fp=0xc09dbd00, uio=0xc420fed8, cred=0xc0a69180,
    flags=0, p=0xc3fa73c0) at /usr/src/sys/kern/sys_socket.c:81
#19 0xc014e3b1 in dofilewrite (p=0xc3fa73c0, fp=0xc09dbd00, fd=3,
    buf=0x8145004, nbyte=135088, offset=-1, flags=0)
    at /usr/src/sys/sys/file.h:163
#20 0xc014e26a in write (p=0xc3fa73c0, uap=0xc420ff80)
    at /usr/src/sys/kern/sys_generic.c:329
#21 0xc020c27d in syscall2 (frame={tf_fs = 47, tf_es = 47, tf_ds = 47,
      tf_edi = 134684360, tf_esi = -1077939264, tf_ebp = -1077939324,
      tf_isp = -1004470316, tf_ebx = 135088, tf_edx = 134682404, tf_ecx = 3,
      tf_eax = 4, tf_trapno = 0, tf_err = 2, tf_eip = 672976284, tf_cs = 31,
      tf_eflags = 642, tf_esp = -1077939368, tf_ss = 47})
    at /usr/src/sys/i386/i386/trap.c:1150
#22 0xc01ffe65 in Xint0x80_syscall ()
#23 0x804ef42 in ?? ()
#24 0x804c7aa in ?? ()
#25 0x804c111 in ?? ()
#26 0x804af05 in ?? ()

	I went into the debugger to see where things were going.  It went
	through the dc_rxeof loop indefinitely, without ever exiting.  In
	each iteration, ether_input got called. Beyond that, I'm clueless. :)

Fix: 

None known.
How-To-Repeat: 
	Start this and wait:

	while :; do scp /usr/tmp/root.tmp twwells.com:/usr/tmp/root.tmp; done
Comment 1 perisa 2002-05-29 04:08:21 UTC
Hi,

does this problem still exists in a recent FreeBSD 4-STABLE system?

Thanks

Marc
Comment 2 Jens Schweikhardt freebsd_committer freebsd_triage 2002-08-10 15:54:41 UTC
State Changed
From-To: open->closed

feedback timeout.