Time stamps aren't processed correctly. So even though date attributes appeared to copy correctly, both xcopy and robocopy interpreted the dates incorrectly (treated them as older than the XP source files).
After processing for a while the transfer would halt, and I'd lose all network connectivity (no ping responses). The usual error message was "the specified network name is no longer available", sometimes I saw "The semaphore timeout period has expired". It looked like the XP network stack had blown up. If I opened up a second terminal session, and just browsed the distant share things would restart.
Inevitably I'd start getting "Access is denied" messages with some files. They appeared to be file associated, but I could copy them in Windows Explorer. Once I got the message with a file it was persistent.
Wow. Really bad stuff. Following Microsoft's advice for network troubleshooting I tried setting the ethernet limit to 10mbps but the behavior didn't change.
I've had pretty predictitable problems with simply copying large numbers of files between XP machines using Explorer on many machines, but xcopy and robocopy are pretty reliable.
Something's definitely broken here, but danged if I can figure it out. My best guess is that the OS X SMB share is doing something that's cracking Microsoft's fragile SMB stack, but really it could be a network adapter hardware issue too.
I suspect I won't be able to solve this one easily. I'll try copying the files using the OS X machine and see if things work any better.
Update 2/18/09: I had no problems copying the files using the XP machine as a server and the OS X machine as a client. The date stamps on directories were also correct, I don't think the OS X SMB server sets copied directory dates equal to source directory dates.
My best guess is that the miserable behavior I'm seeing is not a hardware or network issue, but rather the result of bugs on both sides. My past looks into Microsoft's networking protocols have convinced me the "Heart of Darkness" has nothing on Redmond's legacy networking infrastructure. On the other side, I doubt Apple is putting a lot of energy into making OS X into a respectable SMB server.
Update 2/21/09: I’m now seeing crashes of the XP network stack, whether I use the OS X machine or the XP machine as the SMB server. Before the crash I sometimes see transfer rates slow. I can restore the stack by disabling my XP LAN connection then re-enabling it. I uses an new cable to directly connect the two machines (no router or switch) with no change – so it’s not a network problem.
I’m now copying files to an external USB drive which I’ll then move to the OS X machine manually. The process is exquisitely slow on the old XP box compared to throughput over 100 mbps LAN. The average real world throughput on the LAN was 6 Megabytes/sec, on my USB 2 XP connection it’s probably less than 1MB/sec.
I’d love to blame all of this on Microsoft’s SMB and Apple’s SMB implementation – that’s what I thought on 2/18. Alas, that’s too easy. This problem is too severe – and now I’m noticing problems restarting my XP box. It could be some nasty bug/virus/etc, but I actually suspect the motherboard itself is failing.
I’m not sure how old this machine is, I’m guessing about 2003. It is the first computer I’ve owned that died of old age while it was still quite useful.
Update 2/21/09: Now that I've moved everything and have been cleaning up the XP box, I notice I had Windows Search 4.0 set to index an iMac SMB share mapped to a local drive letter. Hmmm. That might put some extra stress on SMB. I'll see how things behave after removing Windows Share (I don't need it now for the XP box, I can use Spotlight on the iMac).
Update 2/22/09: I've been pushing GBs across the LAN using Retrospect Pro 7.1 (Windows) without a problem. I think the hardware is fine. I think the OS X SMB support is probably not immensely worse than native Windows SMB. Now I'm thinking I pushed the envelope a bit far when I had Windows Search 4.0 indexing a remote OS X SMB share.
Update 5/6/09: Replaced my NIC and things look much better.