partial fb* fix, was Re: [Xquartz-dev] Reproducible server crash using gimp

Ben Byer bbyer at apple.com
Fri Dec 7 22:29:48 PST 2007


On Dec 7, 2007, at 6:14 PM, Ben Byer wrote:

> On Dec 7, 2007, at 6:01 PM, Jeremy Huddleston wrote:
>
>>
>> On Dec 7, 2007, at 17:53, Ben Byer wrote:
>>> It crashes inside the fbFill for (366, 133).  (There HAS to be a  
>>> better way to draw a line than that!!!!)
>>
>> There is, but we still have to support calls from clients that want  
>> to do things the hard way...  if you disable the fbBlah, does it  
>> how does rlFill handle it? 
>> _______________________________________________
>
> It calls fbstipple. :(
> Looking more into the whole idea, I realized that most of the things  
> crashing are the weird X primitives -- stippling, line drawing.   
> Rootless doesn't accelerate any of that in any real fashion.  It's  
> more about things like copying.
>
> What we need to do is figure out a way to map things like fbStipple  
> to Quartz primitives.
>
> In the mean time, a smoking gun:
>
> fbFill(x=555, y=133, width=1, heigth=1) dst=0xb85986f0
> fbFill(x=556, y=133, width=1, heigth=1) dst=0xb85986f0
> fbFill(x=557, y=133, width=1, heigth=1) dst=0xb85986f0
> fbFill(x=558, y=133, width=1, heigth=1) dst=0x0

I haven't found a solution for this, but I've found two things that  
help (but may just mask the root cause of the problem).

http://gitweb.freedesktop.org/?p=xorg/xserver.git;a=commit;h=e5f54f122b2068ff7b94a979ebadac4cf8eef20f
http://gitweb.freedesktop.org/?p=xorg/xserver.git;a=commit;h=6f441d79c7c884c8cd9315f490f7833a877344aa

I'm committing this to our git branch in the hopes that it will help  
stability, but I'm not sure it's the right way to solve the problem.   
It's really more of a band-aid -- now, when I run Gimp and click on  
menus, I get errors on stderr:

fbfill.c:46: null pointer
WARNING: fbbltone tried to write over end of buffer (dst=0x829534  
dstEnd=0x829200)
WARNING: fbbltone tried to write over end of buffer (dst=0x829534  
dstEnd=0x829200)
WARNING: fbbltone tried to write over end of buffer (dst=0x829534  
dstEnd=0x829200)
WARNING: fbbltone tried to write over end of buffer (dst=0x829534  
dstEnd=0x829200)
[...]  repeated 1697 times

... but it doesn't crash.
--
Ben Byer
CoreOS / BSD Technology Group, XDarwin maintainer



More information about the Xquartz-dev mailing list