Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6570758

REGRESSION: 1.6 throws InternalError when trying to exit full screen exclusive mode, Linux

    XMLWordPrintable

    Details

    • Subcomponent:
      2d
    • Introduced In Version:
      6
    • CPU:
      x86
    • OS:
      linux

      Description

      FULL PRODUCT VERSION :
      java version "1.6.0"
      Java(TM) SE Runtime Environment (build 1.6.0-b105)
      Java HotSpot(TM) 64-Bit Server VM (build 1.6.0-b105, mixed mode)


      ADDITIONAL OS VERSION INFORMATION :
      Linux akio 2.6.17-gentoo-r7 #3 Thu Sep 14 18:51:27 EDT 2006 x86_64 AMD Athlon(tm) 64 Processor 3000+ AuthenticAMD GNU/Linux

      EXTRA RELEVANT SYSTEM CONFIGURATION :
      Video card: Nvidia GeForce3 Ti 200 (with Nvidia binary driver, vers. 1.0-8776)

      A DESCRIPTION OF THE PROBLEM :
      When I attempt to exit Full Screen Exclusive Mode under Java 1.6 by explicitly setting the full-screen window to null, my program crashes with an exception that appears to be related to display modes, even though the program in question never changes the display mode. The same code, running under 1.5.0_11-b03, throws no exceptions.


      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      Invoke FSEM and then try to exit it as described above.

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      The program should exit FSEM after the window is set to null--this was the behaviour in 1.5.
      ACTUAL -
      The program throws an exception and FSEM remains on until the program is killed.

      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      Exception in thread "main" java.lang.InternalError: Could not set display mode
      at sun.awt.X11GraphicsDevice.configDisplayMode(Native Method)
      at sun.awt.X11GraphicsDevice.setDisplayMode(X11GraphicsDevice.java:382)
      at sun.awt.X11GraphicsDevice.setFullScreenWindow(X11GraphicsDevice.java:298)
      at FullScreenTest.init(FullScreenTest.java:19)
      at FullScreenTest.main(FullScreenTest.java:8)

      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
      import java.awt.*;

      public class FullScreenTest{

      GraphicsDevice gDevice = null;

      public static void main (String[] args){
      (new FullScreenTest()).init();
      }

      void init(){
      gDevice = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
      Frame screen = new Frame();
      screen.setIgnoreRepaint(true);
      screen.setUndecorated(true);
      screen.setResizable(false);
      gDevice.setFullScreenWindow(screen);
      screen.createBufferStrategy(2);
              gDevice.setFullScreenWindow(null);
      }

      }

      When compiled and run under 1.5, the above makes the screen flash briefly grey as FSEM is invoked and then immediately exited. Under 1.6, the exception is thrown and the screen remains grey. :(

      ---------- END SOURCE ----------

      CUSTOMER SUBMITTED WORKAROUND :
      The only known workaround is to revert to a 1.5 JDK.

      Release Regression From : 5.0u11
      The above release value was the last known release where this
      bug was not reproducible. Since then there has been a regression.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              campbell Christopher Campbell (Inactive)
              Reporter:
              ndcosta Nelson Dcosta (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: