Java: IllegalStateException - Буферы не были созданы

У меня странное исключение в одном из моих серверов.
Одно и то же приложение (java, swing) работает на нескольких серверах.
Каждый сервер работает с двумя мониторами. Та же версия JRE (версия JRE 6 24) Все они в приличном потреблении процессора / памяти.

Только в одном из них - когда я перетаскиваю свое приложение с одного монитора на другой, оно выдает java.lang.IllegalStateException исключение. Я приложил полное исключение ниже. У кого-нибудь есть идеи?

Спасибо.

А теперь вот исключение

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 javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
    at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
    at javax.swing.RepaintManager.seqPaintDirtyRegions(Unknown Source)
    at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source)
    at java.awt.event.InvocationEvent.dispatch(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)

3 ответа

Решение

Попробуйте добавить следующий параметр в командную строку Java:

-Dsun.java2d.d3d=false

Попробовав следующее,

-Dsun.java2d.d3d = ложь
-Dsun.java2d.noddraw = верно
-Dsun.java2d.ddoffscreen= ложь
-DJ2D_D3D= ложь

и не найдя решения, я наткнулся на это, которое сработало.

jframe.createBufferStrategy(1);

http://www.java-gaming.org/index.php/topic,25021.0

Это относится к базе данных ошибок Oracle: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6933331.

Из оценки ошибки:

.. не имеет никаких последствий, кроме дампа трассировки стека в консоли (никаких зависаний, визуальных артефактов не поступало)

Другие вопросы по тегам