JDK-7146522 : [macosx] in closed/java/awt/Component/6307563/bug6307563.java, empty buffer strategy
  • Type: Bug
  • Component: client-libs
  • Sub-Component: javax.swing
  • Affected Version: 7
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • OS: os_x
  • CPU: x86
  • Submitted: 2012-02-17
  • Updated: 2016-01-29
  • Resolved: 2012-07-19
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 8
8Resolved
Related Reports
Duplicate :  
Relates :  
Description
As suggested in 7124552, I'm filing a separate bug about closed/java/awt/Component/6307563/bug6307563.java regression.
Here in onEDT20(), window.getBufferStrategy() is null.
Should it be not null at this moment? 

java.lang.NullPointerException
	at bug6307563.onEDT20(bug6307563.java:30)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at SwingTestHelper.invoke(SwingTestHelper.java:625)
	at SwingTestHelper.access$800(SwingTestHelper.java:173)
	at SwingTestHelper$6.run(SwingTestHelper.java:609)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:241)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:701)
	at java.awt.EventQueue.access$000(EventQueue.java:102)
	at java.awt.EventQueue$3.run(EventQueue.java:662)
	at java.awt.EventQueue$3.run(EventQueue.java:660)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:671)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)
After a reboot of my Windows XP SP3 OS laptop, I was trying to run bugster 2.21.0.02[Production], the interface froze on me after entering the bug number to display.  I "end process" the javaw process, then ran it again.  Same symptom.  A third time and it ran as expected.  I did not cdo any clearing of caches or deleting the local Application Data/Sun/Java directories  Sorry I don't have any further details.

###@###.### suggested this bug as the possible culprit if it involved BufferStragegy, and asked if I saw it again, to include the details here.  The full trace disappeared off the filesystem, but at least I have the stacktrace (below).

Exception in thread "AWT-EventQueue-0" java.lang.IllegalStateException: Buffers have not been created
	at sun.awt.windows.WComponentPeer.getBackBuffer(Unknown Source)
	at java.awt.Component$FlipBufferStrategy.getBackBuffer(Unknown Source)
	at java.awt.Component$FlipBufferStrategy.updateInternalBuffers(Unknown Source)
	at java.awt.Component$FlipBufferStrategy.revalidate(Unknown Source)
	at java.awt.Component$FlipBufferStrategy.revalidate(Unknown Source)
	at java.awt.Component$FlipBufferStrategy.getDrawGraphics(Unknown Source)
	at javax.swing.BufferStrategyPaintManager.prepare(Unknown Source)
	at javax.swing.BufferStrategyPaintManager.paint(Unknown Source)
	at javax.swing.RepaintManager.paint(Unknown Source)
	at javax.swing.JComponent.paint(Unknown Source)
	at java.awt.GraphicsCallback$PaintCallback.run(Unknown Source)
	at sun.awt.SunGraphicsCallback.runOneComponent(Unknown Source)
	at sun.awt.SunGraphicsCallback.runComponents(Unknown Source)
	at java.awt.Container.paint(Unknown Source)
	at java.awt.Window.paint(Unknown Source)
	at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
	at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
	at javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
	at javax.swing.RepaintManager.access$700(Unknown Source)
	at javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
	at java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$000(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)

Hope this helps.

Comments
EVALUATION Brute-force fix like adding window.createBufferStrategy(1); into onEDT20 method solves the problem. As far as it is a Swing top-level I am re-asigning the issue to the Swing team. For AWT user should explicitly invoke createBufferStrategy method.
03-05-2012