A little more followup.  The crash occurs around line 675 of
xc/programs/Xserver/vnc/XserverDesktop.cc where we have 

        *r = pent->co.shco.red->color;

(along with blue and green).  However, there is no check for
pent->co.shco.red being NULL, and when it is, Xvnc crashes.

-- 
Peter Fales                       Lucent Technologies, Room 1C-436
N9IYJ                             2000 N Naperville Rd PO Box 3033
internet: [EMAIL PROTECTED]       Naperville, IL 60566-7033
                                  work: (630) 979-8031

On Fri, Jan 14, 2005 at 03:19:58PM -0600, Peter Fales wrote:
> We're seeing cases where where java applications can consistently cause
> the 4.0 server to crash.  It requires a fairly specific set of circumstances
> 
> - Solaris 8 (doesn't crash on Linux, not sure about other Solaris versions)
> - Sun's J2SDK 1.4.2_06 (doesn't crash with 1.4.0 or 1.4.1)
> - VNC 4.0 server running in default 8 bit mode (doesn't crash with -depth 24)
> 
> To reproduce, copy the following code (from
> http://java.sun.com/developer/qow/archive/24/) into a file called 
> SplashTest.java, and run 
> 
>               $ javac SplashTest.java
>               $ java SplashTest
>               (Move the mouse onto the splash screen when it comes up)
> 
> Given that java 1.4.0 and 1.4.1 are OK, I almost wonder if there is a bug
> in java.  But even if there is, it would be nice if it didn't crash
> the server.
> 
> ============================ cut here ==============================
> import java.awt.event.*;
> import java.awt.*;
> 
> public class SplashTest {
> 
>     public static void main(String args[]) {
>        new SplashWindowFrame();
>     }
> }
> 
> class SplashWindowFrame extends Frame {
>     SplashWindow sw;
>     Image splashIm;
> 
>     SplashWindowFrame() {
>        super();
> 
>        /* Add the window listener */
>        addWindowListener(new WindowAdapter() {
>           public void windowClosing(WindowEvent evt) {
>               dispose(); 
>             System.exit(0);
>         }});
> 
>        /* Size the frame */
>        setSize(200,200);
> 
>        /* Center the frame */
>        Dimension screenDim = 
>             Toolkit.getDefaultToolkit().getScreenSize();
>        Rectangle frameDim = getBounds();
>        setLocation((screenDim.width - frameDim.width) / 2,
>               (screenDim.height - frameDim.height) / 2);
> 
>        MediaTracker mt = new MediaTracker(this);
>        splashIm = Toolkit.getDefaultToolkit(
>            ).getImage("test.gif");
>        mt.addImage(splashIm,0);
>        try {
>           mt.waitForID(0);
>        } catch(InterruptedException ie){}
> 
>        sw = new SplashWindow(this,splashIm);
> 
>        try {
>         Thread.sleep(3000);
>        } catch(InterruptedException ie){}
> 
>        sw.dispose();
> 
>        /* Show the frame */
>        setVisible(true);
>        }
> }
> 
> class SplashWindow extends Window {
>     Image splashIm;
> 
>     SplashWindow(Frame parent, Image splashIm) {
>         super(parent);
>         this.splashIm = splashIm;
>         setSize(200,200);
> 
>         /* Center the window */
>         Dimension screenDim = 
>              Toolkit.getDefaultToolkit().getScreenSize();
>         Rectangle winDim = getBounds();
>         setLocation((screenDim.width - winDim.width) / 2,
>               (screenDim.height - winDim.height) / 2);
>         setVisible(true);
>     }
> 
>     public void paint(Graphics g) {
>        if (splashIm != null) {
>            g.drawImage(splashIm,0,0,this);
>        }
>     }
> }
> 
> 
> ============================ cut here ==============================
> -- 
> Peter Fales                     Lucent Technologies, Room 1C-436
> N9IYJ                           2000 N Naperville Rd PO Box 3033
> internet: [EMAIL PROTECTED]     Naperville, IL 60566-7033
>                                 work: (630) 979-8031
> _______________________________________________
> VNC-List mailing list
> [email protected]
> To remove yourself from the list visit:
> http://www.realvnc.com/mailman/listinfo/vnc-list
_______________________________________________
VNC-List mailing list
[email protected]
To remove yourself from the list visit:
http://www.realvnc.com/mailman/listinfo/vnc-list

Reply via email to