Current xserver git master crash.

Jie Luo clotho67 at
Fri Apr 18 16:27:24 PDT 2008


xserver git cause a lot of crash, when update to commit 
c14f5dc237a31b13d98ae2d0d6143bd91083cf13. It works fine at commit 
9e7ced94a5e3a14762fe934aa69d91f0831cf5ca. From the Xorg.0.log, the crash 
is caused by miPointerSetPosition(). The only commit between these two 
commit that may cause crash is commit 
9b30cc524867a0ad3d0d2227e167f4284830ab4e. After revert this commit, 
xserver seems run fine now.

commit 9b30cc524867a0ad3d0d2227e167f4284830ab4e try to optimize 
dixLookupPrivate(), but as it changing the link list of PrivateRec, it 
will break the lookup when two dixLookupPrivate() is called almost as 
the same time with the same *key*. This means one find the right 
PrivateRec and move it to the front, the other will reach the end of of 
list and create a new PrivateRec whose *value* field is NULL. 
miPointerSetPosition() crash server when it access the NULL pointer.

More information about the xorg mailing list