Re: Possible XFree86-DRI solution and a different display problem


Hi Bill,

From what I am seeing, it appears that you are correct about "racing". When the "squat-bug" shows up, it appears that the last "Display Calls" are to the display on the right (VCP Ray Path) of:

http://www.cimms.ou.edu/~kmanross/VCPRPE/VCPRPE_terrainAndBeamPath.gif

whereas the "squat-bug" does not show up when the last Display Calls are to the display on the left (PPI Panel).

If you are interested in seeing the output, it is here:

http://www.cimms.ou.edu/~kmanross/VCPRPE/displayOutput_kiwaChoose_squat.txt
http://www.cimms.ou.edu/~kmanross/VCPRPE/displayOutput_kiwaChoose_norm.txt
http://www.cimms.ou.edu/~kmanross/VCPRPE/displayOutput_kiwaStartup_squat.txt
http://www.cimms.ou.edu/~kmanross/VCPRPE/displayOutput_kiwaStartup_norm.txt
http://www.cimms.ou.edu/~kmanross/VCPRPE/displayOutput_unknownRadarChoose_squat.txt

"Startup" means the output when the app is first started.
"Choose" means the output when the radar is chosen using the menu after the app has been running.

So I guess the question becomes, can I force the order in which the displays load?

Thanks!

-kevin.


Bill Hibbard wrote:
Hi Kevin,

First, thanks for your advice about XFree86.


OK, enough with that ramble and onto another (shorter) one.  About half
the time when I load my app, I get what I call a "squat-bug".  You can
see an example here:

http://www.cimms.ou.edu/~kmanross/VCPRPE/squat-bug.gif

The image does not fill the VisAD display area (white square).  The
other half of the time it works correctly, filling the whole area.  I'm
not sure what is causing this, except that the rings, line and dots are
created in a separate class than the terrain image.

I would be very grateful for any help on this and would be happy to
provide some code if needed.


This is very likely a problem (e.g., a race condition) with
calls to ScalarMap.SetRange(), particularly for the ScalarMap
to YAxis. Assuming you are running VisAD from compiled source,
your might uncomment the print statement at lines 715-716
of ScalarMap.java. I would expect that you'll see differences
in the order of calls for the ScalarMap to YAxis, between the
times your app works correctly and the times it fails. You
might also replace "System.out.println" in this call by
"DisplayImpl.printStack", which will show the stack at calls
to setRange(). Feel free to send a message to the list with
the output.

Cheers,
Bill




--
+------------------------------------------------------------+
Kevin L. Manross        [KD5MYD]               (405)-366-0557
CIMMS Research Associate               kevin.manross@xxxxxxxx
[NSSL-WRDD/SWATN]           http://www.cimms.ou.edu/~kmanross

"My opinions are my own and not representative of CIMMS, NSSL,
 NOAA or any affiliates"
+------------------------------------------------------------+