Subject: port-sparc64/15202: sparc64 can't handle large file transfers
To: None <gnats-bugs@gnats.netbsd.org>
From: Antti Kantee <pooka@iki.fi>
List: netbsd-bugs
Date: 01/10/2002 21:20:38
>Number:         15202
>Category:       port-sparc64
>Synopsis:       sparc64 can't handle large file transfers
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    port-sparc64-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Jan 10 11:21:00 PST 2002
>Closed-Date:
>Last-Modified:
>Originator:     Antti Kantee
>Release:        1.5ZA (beginning of 2002)
>Organization:
>Environment:
Architecture: sparc64
Machine: Ultra10
Symbios 53c875
>Description:

Copying large amounts of stuff from an nfs drive mounted from a i386/1.5ZA
to a local SCSI disk hanging off a 53c875 will eventually panic the system:

panic: psycho0: uncorrectable DMA error AFAR 109821d8 pa ffffffffffffffff AFSR 2700ff0060000000:
2700ff0060000000<P_DTE,S_DTE,S_DWR,P_DWR>
kdb breakpoint at 11e6ff4
Stopped in pid 4 (pagedaemon) at        cpu_Debugger+0x4:       nop
db> tr
psycho_ue(1dd1b24, 5, e0017910, 9, 11b5aec, bc) at psycho_ue+0x60
sparc_intr_retry(0, fffffffffffffff8, 1000000, 6, 4, ffff0002) at sparc_intr_retry+0x48
_bus_dmamap_unload(1810cc0, 1de1100, 11dba3c, 1810cc0, 11a062c, 0) at _bus_dmamap_unload+0x54
iommu_dvmamap_unload(1de1c00, 1de1b80, 1de1100, 1dd1b00, 8, 11dbaa8) at iommu_dvmamap_unload+0x20
psycho_dmamap_unload(1de1c00, 1de1100, 11b65cc, 1de1c00, 8, 11b6624) at psycho_dmamap_unload+0x14
siop_scsicmd_end(1dec240, 20, e002802c, 80, 4068, 80) at siop_scsicmd_end+0x134
siop_intr(1ddf800, 0, 1, 2, 1e27600, 21) at siop_intr+0x1e98
sparc_intr_retry(7, 7ffffff80, b9fa00, f2f5, 4000, 1000000) at sparc_intr_retry+0x48
pmap_page_protect(0, 1dc1ef0, 121f400, 9, 1806ec8, bc) at pmap_page_protect+0x694
genfs_putpages(3ba000, 903d8d0, 0, 0, 3bc000, ffff0002) at genfs_putpages+0x730
uvn_put(9271a70, 3ba000, 3bc000, 9, 11a062c, 0) at uvn_put+0x34
uvmpd_scan_inactive(1236270, 0, 1236310, 1236270, 1236270, 1236310) at uvmpd_scan_inactive+0x480
uvmpd_scan(13, 0, 2a, 0, 1871e98, 185c948) at uvmpd_scan+0x74
uvm_pageout(9022870, 39, 1871cd0, 0, 0, 0) at uvm_pageout+0xe0
proc_trampoline(0, 0, 0, 0, 0, 0) at proc_trampoline+0x4
db> ps
 PID             PPID       PGRP        UID S   FLAGS          COMMAND    WAIT
 402              236        401          0 3  0x4086              tar   netio
 401              236        401          0 2  0x4006              tar
 256              255        256       5988 3  0x4082             tcsh   ttyin
 255              186        186          0 3   0x180             sshd  select
 236              220        236          0 3  0x4082              csh   pause
 220              219        220       5988 3  0x4082             tcsh   pause
 219              186        186          0 3   0x184             sshd  select
 197              191        191          0 3  0x4084           bootpd  select
 196                1        196          0 3  0x4082            getty   ttyin
 194                1        194          0 3    0x80             cron nanosle
 191                1        191          0 3    0x80            inetd  select
 186                1        186          0 3    0x80             sshd  select
 143              137        137          0 3    0x84             nfsd    nfsd
 142              137        137          0 3    0x84             nfsd    nfsd
 141              137        137          0 3    0x84             nfsd    nfsd
 140              137        137          0 3    0x84             nfsd    nfsd
 137                1        137          0 3    0x80             nfsd  select
 129                1        129          0 3    0x80           mountd  select
 114                1        114          0 3    0x80        mount_mfs  mfsidl
 111                0          0          0 3 0x20284            nfsio  nfsidl
 110                0          0          0 3 0x20284            nfsio  nfsidl
 109                0          0          0 3 0x20284            nfsio  nfsidl
db> t/t 0t401
trace: pid 401 at 0x92773d1
preempt(0, 1, 5, 0, 9277c10, ffffffffffffffff) at preempt+0x6c
text_access_fault(9277ed0, 64, 10ebf8, 0, 0, 15761188518) at text_access_fault+0
x244
textfault(27b109, 1764, 27b088, 0, 27b000, 0) at textfault+0x19c


In this case I was copying my NetBSD source nfs server, which includes a
few copies of pkgsrc. It has always paniced when copying one of the larger
distfiles, mozilla source in this latest case.

>How-To-Repeat:

Copy enough large files, eventually it should panic.

>Fix:

Don't know yet, but since this is fairly easy to repeat at least on my
setup, I can poke around a bit, if I get pointers as to what to poke
at.
>Release-Note:
>Audit-Trail:
>Unformatted: