[haiku-appserver] investigating some bugs

  • From: "Stephan Assmus" <superstippi@xxxxxx>
  • To: haiku-appserver@xxxxxxxxxxxxx
  • Date: Mon, 28 Mar 2005 04:42:28 +0200 CEST

Writing this late at night about some bugs you're tracking down and 
cannot find always bears the risk of going "Doh!" the next morning when 
you're able to think clearly again. I'm going to write this anyways, 
because maybe someone can help and when I wake up tomorrow I find an 
answer in the mail... :-)

I'm wrestling with several problems:

1.) My ViewHWInterface is very similar to the ViewDriver. The BWindow 
it uses, which is almost identical to the one used in ViewDriver 
emulates the input_server. Sometimes the window locks up, and it is 
blocking on a semaphore called "OBinputserverlink" or something to the 
like. This window can only lock up calling some BView hook function 
which in turn uses a BPortLink to send mouse down/moved/up messages to 
the app_server.

2.) Sometimes the RootLayer1 thread starts to suck up all CPU and when 
I manage to debug it via Process controller, it involves 
Layer::StartRebuildRegions() or RebuildRegions(). Is there the 
possibility of StartRebuildRegions() being caught in an endless loop? I 
don't follow everything that's happening there, but the only thing 
which caught my attention was

        for(Layer *lay = VirtualBottomChild(); lay; lay = 
VirtualUpperSibling())

which would loop for ever if the layer tree was somehow screwed up.

3.) The clipping of the windows themself seems to work alright, but the 
clipping of the views they contain seems to be wrong. At least I don't 
see these views draw correctly, with the result being pretty much the 
same wether my Painter driver is used or the ViewDriver. See src/tests/
servers/app/windows. After I added more stuff there, I started to see 
bits of drawing way outside the windows too.

I'm hoping for some assistance in fixing these problems. I would very 
much like to show something at BeGeistert and it looks like it could 
well be possible.

Best regards,
-Stephan

Other related posts: