Hi,
For the past two weeks I've been tracking an issue that I found with kernels greater than 2.6.8 / 2.6.8.1 and wine. Starting with kernel 2.6.9-rc1, Warcraft III copy protection would not work -- ie please insert disc. I found changes to the cdrom driver in rc1. Reversing them did not work. For a while I was lost to what could have changed. Then I had an idea: search for changes that could affect the way processes run. That led me to reverse changes related to ptrace, and I found a series of patches that break Warcraft III copy protection code.
Patch 1: ptrace single-stepping fix Included in 2.6.9-rc1 By Davide Libenzi? http://linux.bkbits.net:8080/linux-2.6/cset@1.1803.1803.144.55
This change includes a note that it could break debuggers. Reversing this change would allow War3 to work in rc1, but kernels greater than rc1 would still not work.
Patch 2: make single-step into signal delivery stop in handler Included in 2.6.9-rc2 By Roland McGrath http://linux.bkbits.net:8080/linux-2.6/cset@1.1832.59.196
The next patch may depend on patch #2 because it is a bug-fix based on 2.
Patch 3: Fix PTRACE_CONT after single-step into signal delivery Also 2.6.9-rc2 By Roland McGrath http://linux.bkbits.net:8080/linux-2.6/cset@1.1847
Reversing patches 1, 2, and 3 in kernels 2.6.9-rc2 and greater (through 2.6.10-rc1) will allow War3 to work. I tried 1 & 3 without 2, but it failed leading me to believe that 1 & 2 are required. I didn't try 1 & 2 alone because I think reversing 2 would require 3 reversed.
All the patch changes seem to be on ptrace single-stepping. However, there is at least one ptrace single-stepping patch that seems to make no difference at all: http://linux.bkbits.net:8080/linux-2.6/cset@1.1803.144.70
There are other single-stepping patches for different non-i386 architectures but I have no idea on these because I don't run the others. They are meaningless for wine anyways.
Now that I've identified a problem, I'm curious where else it's cropping up. Paul Rupe, could you try reversing these patches to see if this fixes your crashing problem? And how about those people having trouble with debugging?
Then I guess the next step is to find out if this is a wine bug or not. If it's not, then it may be a kernel bug and we should report it to the kernel devs.
Jesse