Hello,
I have tracked down an issue where our OpenGL application can cause the
real VNC server Xvnc v4.1.2 to crash by executing the following C++ code:
glBegin(GL_LINES);
glVertex2i(x1, y1);
glVertex2i(x2, y2);
glEnd();
Then on the subsequent call to:
glXMakeCurrentReadSGI();
The application detects that the socket has been closed (becaus the
server has crashed) and this results in our application exiting with the
Qt message:
Qt-subapplication: Fatal IO error: client killed
The crash only occurs when the values for x1, x2, y1, and y2 are such
that the line being drawn extends way beyond the window. That is, it
occurs when I have zoomed in very far into my data to be visualized via
OpenGL.
For example, these settings for the line to draw caused a crash:
x1 = 657250 x2 = 657250 y1 = 456500 y2 = 954250
Where the window is defined with these coordinates:
ClipRight = 667799 ClipLeft = 653992 ClipTop = 677810 ClipBottom 670455
And the number of pixels of the window is defined to be:
Width = 1774 and Height = 945
In this case the y dimension of the line extends beyond the window from
456500 to 954250, a distance of 497750 units where the window is defined
to run from 653992 to 670455, a distance of 16463 units, thus making the
line span a distance of over thirty window heights with about 12 spans
heights below the window and the other 18 above the window.
I have a work around to conditionally clip the coordinates to the screen
when the server is a VNC server, but I would expect that since this only
crashes VNC X Displays, that this is an issue with the OpenGL library
being used by VNC and thus deserves to be fixed there.
Is this the correct place to report this issue or can you tell me what
OpenGL library is used by real VNC's Free Edition Xvnc on Suse 10 linux
so that I can report the issue to the maintainers of that OpenGL
library. It also states that underlying X server release is 70100000.
Thanks.
-William
_______________________________________________
VNC-List mailing list
VNC-List@realvnc.com
To remove yourself from the list visit:
http://www.realvnc.com/mailman/listinfo/vnc-list