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

WindowOwnedByEmbeddedFrameTest: sun.java2d.opengl.CGLLayer cannot be cast to sun.java2d.metal.MTLLayer

    Details

    • CPU:
      x86_64
    • OS:
      os_x
    • Verification:
      Verified

      Description

      The test java/awt/Window/WindowOwnedByEmbeddedFrameTest/WindowOwnedByEmbeddedFrameTest.java fails with the following output :

      #section:main
      ----------messages:(5/269)----------
      command: main WindowOwnedByEmbeddedFrameTest
      reason: User specified action: run main WindowOwnedByEmbeddedFrameTest
      Mode: othervm
      Additional options from @modules: --add-modules java.desktop --add-exports java.desktop/sun.awt=ALL-UNNAMED
      elapsed time (seconds): 0.501
      ----------configuration:(4/97)----------
      Boot Layer
        add modules: java.desktop
        add exports: java.desktop/sun.awt ALL-UNNAMED

      ----------System.out:(0/0)----------
      ----------System.err:(48/4044)----------
      metalEnabled=1
      WARNING: An illegal reflective access operation has occurred
      WARNING: Illegal reflective access by WindowOwnedByEmbeddedFrameTest (file:/Users/vprovodin/workspace/github/JetBrainsRuntime_Lanai/JTwork/classes/java/awt/Window/WindowOwnedByEmbeddedFrameTest/WindowOwnedByEmbeddedFrameTest.d/) to constructor sun.lwawt.macosx.CEmbeddedFrame()
      WARNING: Please consider reporting this to the maintainers of WindowOwnedByEmbeddedFrameTest
      WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
      WARNING: All illegal access operations will be denied in a future release
      java.lang.RuntimeException: Cannot create EmbeddedFrame
      at WindowOwnedByEmbeddedFrameTest.createEmbeddedFrame(WindowOwnedByEmbeddedFrameTest.java:102)
      at WindowOwnedByEmbeddedFrameTest.main(WindowOwnedByEmbeddedFrameTest.java:54)
      at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.base/java.lang.reflect.Method.invoke(Method.java:564)
      at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
      at java.base/java.lang.Thread.run(Thread.java:832)
      Caused by: java.lang.ClassCastException: class sun.java2d.opengl.CGLLayer cannot be cast to class sun.java2d.metal.MTLLayer (sun.java2d.opengl.CGLLayer and sun.java2d.metal.MTLLayer are in module java.desktop of loader 'bootstrap')
      at java.desktop/sun.java2d.metal.MTLGraphicsConfig.createSurfaceData(MTLGraphicsConfig.java:257)
      at java.desktop/sun.java2d.opengl.CGLLayer.replaceSurfaceData(CGLLayer.java:90)
      at java.desktop/sun.lwawt.macosx.CPlatformEmbeddedFrame.replaceSurfaceData(CPlatformEmbeddedFrame.java:107)
      at java.desktop/sun.lwawt.LWWindowPeer.replaceSurfaceData(LWWindowPeer.java:1185)
      at java.desktop/sun.lwawt.LWWindowPeer.replaceSurfaceData(LWWindowPeer.java:1179)
      at java.desktop/sun.lwawt.LWWindowPeer.notifyReshape(LWWindowPeer.java:736)
      at java.desktop/sun.lwawt.macosx.CPlatformEmbeddedFrame.setBounds(CPlatformEmbeddedFrame.java:80)
      at java.desktop/sun.lwawt.LWWindowPeer.setBounds(LWWindowPeer.java:372)
      at java.desktop/sun.lwawt.LWComponentPeer.setBounds(LWComponentPeer.java:551)
      at java.desktop/sun.lwawt.LWComponentPeer.initializeImpl(LWComponentPeer.java:338)
      at java.desktop/sun.lwawt.LWWindowPeer.initializeImpl(LWWindowPeer.java:216)
      at java.desktop/sun.lwawt.LWComponentPeer.initialize(LWComponentPeer.java:324)
      at java.desktop/sun.lwawt.LWToolkit.createDelegatedPeer(LWToolkit.java:214)
      at java.desktop/sun.lwawt.macosx.LWCToolkit.createEmbeddedFrame(LWCToolkit.java:281)
      at java.desktop/sun.lwawt.macosx.CEmbeddedFrame.addNotify(CEmbeddedFrame.java:53)
      at java.desktop/java.awt.Window.show(Window.java:1040)
      at java.desktop/sun.awt.EmbeddedFrame.show(EmbeddedFrame.java:179)
      at java.desktop/sun.lwawt.macosx.CEmbeddedFrame.<init>(CEmbeddedFrame.java:47)
      at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
      at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
      at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
      at java.base/java.lang.reflect.ReflectAccess.newInstance(ReflectAccess.java:124)
      at java.base/jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:346)
      at java.base/java.lang.Class.newInstance(Class.java:604)
      at WindowOwnedByEmbeddedFrameTest.createEmbeddedFrame(WindowOwnedByEmbeddedFrameTest.java:100)
      ... 7 more

      JavaTest Message: Test threw exception: java.lang.RuntimeException: Cannot create EmbeddedFrame
      JavaTest Message: shutting down test

      STATUS:Failed.`main' threw exception: java.lang.RuntimeException: Cannot create EmbeddedFrame


      The failure was not observed on OpenJDK build jdk-15-ea+8_osx-x64
      With -Dsun.java2d.metal=false the test fails because of JDK-8238208

      The reproducibility: 100%
      Steps to reproduce:

      $ jtreg -Dsun.java2d.metal=true -testjdk:[path_to_lanai_home] test/jdk/java/awt/Window/WindowOwnedByEmbeddedFrameTest/WindowOwnedByEmbeddedFrameTest.java

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                aghaisas Ajit Ghaisas
                Reporter:
                vprovodin Vitaly Provodin
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: