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
