Bug#340537: Still there
Okay, after rebooting into kernel 2.6.15.5 with all preemption turned off, X froze in the same way it has been in the past. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Bug#340537: Still there
Michel Dänzer wrote: Not sure about that; it's still disabled in the default Debian kernels at least. Sure, but it's going to be enabled on Ubuntu Dapper's kernel, and this is still a bug that can theoretically be worked around by just handling the error properly; doing so shouldn't require modification of more than two functions. Sure, that's what I meant by 'the fix just seems to have turned a server crash into an infinite loop for you'. It doesn't explain though why this happens for you but not for (almost) everybody else. I'll try with preempt disabled, then. But I can't imagine I'm the only person running X.org on amd64 with a preemptible kernel.
Bug#340537: Still there
Michel Dänzer wrote: > This is a weird one. I've never seen any other even similar report anywhere. So I suspect there's something special about your machine. E.g., does it also happen with a non-PREEMPT kernel? Basically, try to eliminate any variables that might be considered special on your system. Actually, it looks like https://bugs.freedesktop.org/show_bug.cgi?id=541 is related, but it's about Xprt, and the 'fix' just seems to have turned a server crash into an infinite loop for you. It would make a lot of sense if this was related to that bug. There's nothing exceptional about my system, and I'd imagine most people are using a PREEMPT kernel nowadays anyway. I went back through the original backtrace I submitted, and I noticed something that stood out at me after looking at Xorg bug #541. If you look at the FreeResource() function in dix/resource.c, it returns void. This would have been fine before the #541 patch since the "Freeing resource id" error would have killed the server. However, now that it just prints out an error message (presumably this error is now normal according to #541), dix/dispatch.c:ProcDestroyWindow() has no way of knowing if the resource was successfully freed or not. I can only assume that since the resource isn't freed and ProcDestroyWindow() doesn't return BadWindow, the event never gets removed from the dispatch table and just keeps running over and over again. Does this sound feasible?
Bug#340537: Still there
On Wed, 2006-03-01 at 19:45 -0500, Ari Pollak wrote: > Please disregard my previous comment. With regular use, even under EXA, > X still freezes or crashes at least once a day with the same error > message being looped continously to Xorg.0.log. This is a weird one. I've never seen any other even similar report anywhere. So I suspect there's something special about your machine. E.g., does it also happen with a non-PREEMPT kernel? Basically, try to eliminate any variables that might be considered special on your system. Actually, it looks like https://bugs.freedesktop.org/show_bug.cgi?id=541 is related, but it's about Xprt, and the 'fix' just seems to have turned a server crash into an infinite loop for you. -- Earthling Michel Dänzer | Debian (powerpc), X and DRI developer Libre software enthusiast| http://svcs.affero.net/rm.php?r=daenzer