Difference between pages "LiteRumble" and "Thread:User talk:Xor/Robocode OpenGL/RobocodeGL Preview 4/reply (2)"

From Robowiki
(Difference between pages)
Jump to navigation Jump to search
(Introduction)
 
(Restored edits authored by Beaming dated 2020-01-02T18:04:08+00:00)
 
Line 1: Line 1:
Something I've been working on over the last week, it's still quite rough but it's the thought that counts ;-)
+
I was able to recreate the battle field freeze after window resize to leading to the zero pixel tall battle field. It happens on hi-DPI and normal-DPI linux computers with jdk-11 (did not check jdk-8).
 +
The console log is below.
  
It is designed to serve vanilla HTML - no JS, CSS or anything fancy. All sorting of columns is done server side through linked GET arguments.
+
<pre>
 
+
Loaded net.sf.robocode.api
Through much hard work and thinking I've managed to get it to run in the free tier of Google App Engine. There is still work that needs to be done, but the main stuff is all up and working, if quite messy inside.
+
Loaded net.sf.robocode.core
 
+
Loading plugins from /home/evmik/robocode/libs
Here's the link:
+
Loaded net.sf.robocode.repository
 
+
Loaded net.sf.robocode.sound
[http://literumble.appspot.com LiteRumble]
+
Loaded net.sf.robocode.host
 
+
Loaded net.sf.robocode.battle
The other rumbles on the home page should fill out automagically as they are given battles - no hardcoded rumble names or configurations. One of my goals for this was to be able to have a rumble setup which would never need any maintenance.
+
Loaded net.sf.robocode.ui.editor
 
+
Loaded net.sf.robocode.ui
I'm also releasing the code under <i>[http://creativecommons.org/licenses/by-nc-sa/3.0/ Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License]</i>. It is hosted on [https://bitbucket.org/jkflying/literumble/src BitBucket].
+
Loaded net.sf.robocode.gl2
 
+
before Parse
Some of the scoring I've done differently to Darkcanuck - I have Win% instead of PL, and in Melee my survival is not as a bot-specific %, but rather as an 'out of total rounds' % (the 1v1 won't be affected).
+
after Parse
 
+
Reading robot database
Due to the restricted writes I haven't got any per-client data correction - in fact, it may just occasionally lose 1 or 2 uploaded battles due to my memcached delayed writes. I initially put this in, but had to take it out again as it was taking too many writes to work decently. I may put it back in now that I have improved caching.
+
force update takes 0.082375326s
 
+
WARNING: An illegal reflective access operation has occurred
Take a peak around and tell me what you think.
+
WARNING: Illegal reflective access by com.jogamp.common.os.NativeLibrary$3 (file:/home/evmik/robocode/./libs/gluegen-rt-2.3.2.jar) to method java.lang.ClassLoader.findLibrary(java.lang.String)
 +
WARNING: Please consider reporting this to the maintainers of com.jogamp.common.os.NativeLibrary$3
 +
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
 +
Creating window.properties file
 +
update takes 0.030204256s
 +
Preparing battle...
 +
----------------------
 +
Round 1 initializing..
 +
Let the games begin!
 +
..
 +
force update takes 0.038383916s
 +
com.jogamp.opengl.util.AnimatorBase$UncaughtAnimatorException: java.lang.RuntimeException: com.jogamp.opengl.GLException: Caught IllegalArgumentException: Width (-13) and height (-10) cannot be <= 0 on thread AWT-EventQueue-0
 +
at com.jogamp.opengl.util.AWTAnimatorImpl.display(AWTAnimatorImpl.java:92)
 +
at com.jogamp.opengl.util.AnimatorBase.display(AnimatorBase.java:452)
 +
at com.jogamp.opengl.util.Animator$MainLoop.run(Animator.java:204)
 +
at java.base/java.lang.Thread.run(Thread.java:834)
 +
Caused by: java.lang.RuntimeException: com.jogamp.opengl.GLException: Caught IllegalArgumentException: Width (-13) and height (-10) cannot be <= 0 on thread AWT-EventQueue-0
 +
at com.jogamp.common.util.awt.AWTEDTExecutor.invoke(AWTEDTExecutor.java:58)
 +
at jogamp.opengl.awt.AWTThreadingPlugin.invokeOnOpenGLThread(AWTThreadingPlugin.java:103)
 +
at jogamp.opengl.ThreadingImpl.invokeOnOpenGLThread(ThreadingImpl.java:201)
 +
at com.jogamp.opengl.Threading.invokeOnOpenGLThread(Threading.java:202)
 +
at com.jogamp.opengl.Threading.invoke(Threading.java:221)
 +
at com.jogamp.opengl.awt.GLCanvas.display(GLCanvas.java:505)
 +
at com.jogamp.opengl.util.AWTAnimatorImpl.display(AWTAnimatorImpl.java:81)
 +
... 3 more
 +
Caused by: com.jogamp.opengl.GLException: Caught IllegalArgumentException: Width (-13) and height (-10) cannot be <= 0 on thread AWT-EventQueue-0
 +
at com.jogamp.opengl.GLException.newGLException(GLException.java:76)
 +
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1327)
 +
at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1147)
 +
at com.jogamp.opengl.awt.GLCanvas$12.run(GLCanvas.java:1438)
 +
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:303)
 +
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
 +
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
 +
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
 +
at java.base/java.security.AccessController.doPrivileged(Native Method)
 +
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
 +
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
 +
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
 +
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
 +
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
 +
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
 +
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
 +
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
 +
Caused by: java.lang.IllegalArgumentException: Width (-13) and height (-10) cannot be <= 0
 +
at java.desktop/java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:1016)
 +
at java.desktop/java.awt.image.BufferedImage.<init>(BufferedImage.java:324)
 +
at net.sf.robocode.ui.battleview.BattleView.createGroundImage(BattleView.java:252)
 +
at net.sf.robocode.ui.battleview.BattleView.initialize(BattleView.java:221)
 +
at net.sf.robocode.ui.battleview.BattleView.access$1300(BattleView.java:71)
 +
at net.sf.robocode.ui.battleview.BattleView$MyPanel.update(BattleView.java:857)
 +
at net.sf.robocode.ui.battleview.BattleView$MyPanel.paint(BattleView.java:847)
 +
at org.jogamp.glg2d.GLG2DSimpleEventListener.paintGL(GLG2DSimpleEventListener.java:124)
 +
at org.jogamp.glg2d.GLG2DSimpleEventListener.display(GLG2DSimpleEventListener.java:67)
 +
at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:692)
 +
at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:674)
 +
at com.jogamp.opengl.awt.GLCanvas$11.run(GLCanvas.java:1424)
 +
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1293)
 +
... 15 more
 +
com.jogamp.opengl.GLException: Caught IllegalArgumentException: Width (-20) and height (-15) cannot be <= 0 on thread AWT-EventQueue-0
 +
at com.jogamp.opengl.GLException.newGLException(GLException.java:76)
 +
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1327)
 +
at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1147)
 +
at com.jogamp.opengl.awt.GLCanvas$12.run(GLCanvas.java:1438)
 +
at com.jogamp.opengl.Threading.invoke(Threading.java:223)
 +
at com.jogamp.opengl.awt.GLCanvas.display(GLCanvas.java:505)
 +
at com.jogamp.opengl.awt.GLCanvas.paint(GLCanvas.java:559)
 +
at java.desktop/sun.awt.RepaintArea.paintComponent(RepaintArea.java:264)
 +
at java.desktop/sun.awt.X11.XRepaintArea.paintComponent(XRepaintArea.java:66)
 +
at java.desktop/sun.awt.RepaintArea.paint(RepaintArea.java:240)
 +
at java.desktop/sun.awt.X11.XComponentPeer.handleEvent(XComponentPeer.java:555)
 +
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5069)
 +
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
 +
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
 +
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
 +
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
 +
at java.base/java.security.AccessController.doPrivileged(Native Method)
 +
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
 +
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
 +
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
 +
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
 +
at java.base/java.security.AccessController.doPrivileged(Native Method)
 +
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
 +
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
 +
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
 +
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
 +
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
 +
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
 +
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
 +
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
 +
Caused by: java.lang.IllegalArgumentException: Width (-20) and height (-15) cannot be <= 0
 +
at java.desktop/java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:1016)
 +
at java.desktop/java.awt.image.BufferedImage.<init>(BufferedImage.java:324)
 +
at net.sf.robocode.ui.battleview.BattleView.createGroundImage(BattleView.java:252)
 +
at net.sf.robocode.ui.battleview.BattleView.initialize(BattleView.java:221)
 +
at net.sf.robocode.ui.battleview.BattleView.access$1300(BattleView.java:71)
 +
at net.sf.robocode.ui.battleview.BattleView$MyPanel.update(BattleView.java:857)
 +
at net.sf.robocode.ui.battleview.BattleView$MyPanel.paint(BattleView.java:847)
 +
at org.jogamp.glg2d.GLG2DSimpleEventListener.paintGL(GLG2DSimpleEventListener.java:124)
 +
at org.jogamp.glg2d.GLG2DSimpleEventListener.display(GLG2DSimpleEventListener.java:67)
 +
at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:692)
 +
at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:674)
 +
at com.jogamp.opengl.awt.GLCanvas$11.run(GLCanvas.java:1424)
 +
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1293)
 +
... 28 more
 +
com.jogamp.opengl.GLException: Caught IllegalArgumentException: Width (-20) and height (-15) cannot be <= 0 on thread AWT-EventQueue-0
 +
at com.jogamp.opengl.GLException.newGLException(GLException.java:76)
 +
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1327)
 +
at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1147)
 +
at com.jogamp.opengl.awt.GLCanvas$12.run(GLCanvas.java:1438)
 +
at com.jogamp.opengl.Threading.invoke(Threading.java:223)
 +
at com.jogamp.opengl.awt.GLCanvas.display(GLCanvas.java:505)
 +
at com.jogamp.opengl.awt.GLCanvas.paint(GLCanvas.java:559)
 +
at java.desktop/sun.awt.RepaintArea.paintComponent(RepaintArea.java:264)
 +
at java.desktop/sun.awt.X11.XRepaintArea.paintComponent(XRepaintArea.java:66)
 +
at java.desktop/sun.awt.RepaintArea.paint(RepaintArea.java:240)
 +
at java.desktop/sun.awt.X11.XComponentPeer.handleEvent(XComponentPeer.java:555)
 +
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5069)
 +
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
 +
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
 +
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
 +
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
 +
at java.base/java.security.AccessController.doPrivileged(Native Method)
 +
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
 +
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
 +
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
 +
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
 +
at java.base/java.security.AccessController.doPrivileged(Native Method)
 +
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
 +
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
 +
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
 +
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
 +
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
 +
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
 +
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
 +
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
 +
Caused by: java.lang.IllegalArgumentException: Width (-20) and height (-15) cannot be <= 0
 +
at java.desktop/java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:1016)
 +
at java.desktop/java.awt.image.BufferedImage.<init>(BufferedImage.java:324)
 +
at net.sf.robocode.ui.battleview.BattleView.createGroundImage(BattleView.java:252)
 +
at net.sf.robocode.ui.battleview.BattleView.initialize(BattleView.java:221)
 +
at net.sf.robocode.ui.battleview.BattleView.access$1300(BattleView.java:71)
 +
at net.sf.robocode.ui.battleview.BattleView$MyPanel.update(BattleView.java:857)
 +
at net.sf.robocode.ui.battleview.BattleView$MyPanel.paint(BattleView.java:847)
 +
at org.jogamp.glg2d.GLG2DSimpleEventListener.paintGL(GLG2DSimpleEventListener.java:124)
 +
at org.jogamp.glg2d.GLG2DSimpleEventListener.display(GLG2DSimpleEventListener.java:67)
 +
at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:692)
 +
at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:674)
 +
at com.jogamp.opengl.awt.GLCanvas$11.run(GLCanvas.java:1424)
 +
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1293)
 +
... 28 more
 +
com.jogamp.opengl.GLException: Caught IllegalArgumentException: Width (-20) and height (-15) cannot be <= 0 on thread AWT-EventQueue-0
 +
at com.jogamp.opengl.GLException.newGLException(GLException.java:76)
 +
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1327)
 +
at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1147)
 +
at com.jogamp.opengl.awt.GLCanvas$12.run(GLCanvas.java:1438)
 +
at com.jogamp.opengl.Threading.invoke(Threading.java:223)
 +
at com.jogamp.opengl.awt.GLCanvas.display(GLCanvas.java:505)
 +
at com.jogamp.opengl.awt.GLCanvas.paint(GLCanvas.java:559)
 +
at java.desktop/sun.awt.RepaintArea.paintComponent(RepaintArea.java:264)
 +
at java.desktop/sun.awt.X11.XRepaintArea.paintComponent(XRepaintArea.java:66)
 +
at java.desktop/sun.awt.RepaintArea.paint(RepaintArea.java:240)
 +
at java.desktop/sun.awt.X11.XComponentPeer.handleEvent(XComponentPeer.java:555)
 +
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5069)
 +
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
 +
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
 +
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
 +
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
 +
at java.base/java.security.AccessController.doPrivileged(Native Method)
 +
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
 +
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
 +
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
 +
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
 +
at java.base/java.security.AccessController.doPrivileged(Native Method)
 +
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
 +
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
 +
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
 +
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
 +
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
 +
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
 +
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
 +
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
 +
Caused by: java.lang.IllegalArgumentException: Width (-20) and height (-15) cannot be <= 0
 +
at java.desktop/java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:1016)
 +
at java.desktop/java.awt.image.BufferedImage.<init>(BufferedImage.java:324)
 +
at net.sf.robocode.ui.battleview.BattleView.createGroundImage(BattleView.java:252)
 +
at net.sf.robocode.ui.battleview.BattleView.initialize(BattleView.java:221)
 +
at net.sf.robocode.ui.battleview.BattleView.access$1300(BattleView.java:71)
 +
at net.sf.robocode.ui.battleview.BattleView$MyPanel.update(BattleView.java:857)
 +
at net.sf.robocode.ui.battleview.BattleView$MyPanel.paint(BattleView.java:847)
 +
at org.jogamp.glg2d.GLG2DSimpleEventListener.paintGL(GLG2DSimpleEventListener.java:124)
 +
at org.jogamp.glg2d.GLG2DSimpleEventListener.display(GLG2DSimpleEventListener.java:67)
 +
at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:692)
 +
at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:674)
 +
at com.jogamp.opengl.awt.GLCanvas$11.run(GLCanvas.java:1424)
 +
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1293)
 +
... 28 more
 +
com.jogamp.opengl.GLException: Caught IllegalArgumentException: Width (-20) and height (-15) cannot be <= 0 on thread AWT-EventQueue-0
 +
at com.jogamp.opengl.GLException.newGLException(GLException.java:76)
 +
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1327)
 +
at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1147)
 +
at com.jogamp.opengl.awt.GLCanvas$12.run(GLCanvas.java:1438)
 +
at com.jogamp.opengl.Threading.invoke(Threading.java:223)
 +
at com.jogamp.opengl.awt.GLCanvas.display(GLCanvas.java:505)
 +
at com.jogamp.opengl.awt.GLCanvas.paint(GLCanvas.java:559)
 +
at java.desktop/sun.awt.RepaintArea.paintComponent(RepaintArea.java:264)
 +
at java.desktop/sun.awt.X11.XRepaintArea.paintComponent(XRepaintArea.java:66)
 +
at java.desktop/sun.awt.RepaintArea.paint(RepaintArea.java:240)
 +
at java.desktop/sun.awt.X11.XComponentPeer.handleEvent(XComponentPeer.java:555)
 +
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5069)
 +
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
 +
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
 +
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
 +
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
 +
at java.base/java.security.AccessController.doPrivileged(Native Method)
 +
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
 +
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
 +
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
 +
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
 +
at java.base/java.security.AccessController.doPrivileged(Native Method)
 +
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
 +
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
 +
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
 +
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
 +
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
 +
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
 +
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
 +
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
 +
Caused by: java.lang.IllegalArgumentException: Width (-20) and height (-15) cannot be <= 0
 +
at java.desktop/java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:1016)
 +
at java.desktop/java.awt.image.BufferedImage.<init>(BufferedImage.java:324)
 +
at net.sf.robocode.ui.battleview.BattleView.createGroundImage(BattleView.java:252)
 +
at net.sf.robocode.ui.battleview.BattleView.initialize(BattleView.java:221)
 +
at net.sf.robocode.ui.battleview.BattleView.access$1300(BattleView.java:71)
 +
at net.sf.robocode.ui.battleview.BattleView$MyPanel.update(BattleView.java:857)
 +
at net.sf.robocode.ui.battleview.BattleView$MyPanel.paint(BattleView.java:847)
 +
at org.jogamp.glg2d.GLG2DSimpleEventListener.paintGL(GLG2DSimpleEventListener.java:124)
 +
at org.jogamp.glg2d.GLG2DSimpleEventListener.display(GLG2DSimpleEventListener.java:67)
 +
at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:692)
 +
at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:674)
 +
at com.jogamp.opengl.awt.GLCanvas$11.run(GLCanvas.java:1424)
 +
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1293)
 +
... 28 more
 +
X11Util.Display: Shutdown (JVM shutdown: true, open (no close attempt): 1/1, reusable (open, marked uncloseable): 0, pending (open in creation order): 1)
 +
X11Util: Open X11 Display Connections: 1
 +
X11Util: Open[0]: NamedX11Display[:0, 0x7f39984078c0, refCount 1, unCloseable false]
 +
</pre>

Latest revision as of 02:11, 25 April 2020

I was able to recreate the battle field freeze after window resize to leading to the zero pixel tall battle field. It happens on hi-DPI and normal-DPI linux computers with jdk-11 (did not check jdk-8). The console log is below.

Loaded net.sf.robocode.api
Loaded net.sf.robocode.core
Loading plugins from /home/evmik/robocode/libs
Loaded net.sf.robocode.repository
Loaded net.sf.robocode.sound
Loaded net.sf.robocode.host
Loaded net.sf.robocode.battle
Loaded net.sf.robocode.ui.editor
Loaded net.sf.robocode.ui
Loaded net.sf.robocode.gl2
before Parse
after Parse
Reading robot database
force update takes 0.082375326s
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.jogamp.common.os.NativeLibrary$3 (file:/home/evmik/robocode/./libs/gluegen-rt-2.3.2.jar) to method java.lang.ClassLoader.findLibrary(java.lang.String)
WARNING: Please consider reporting this to the maintainers of com.jogamp.common.os.NativeLibrary$3
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
Creating window.properties file
update takes 0.030204256s
Preparing battle...
----------------------
Round 1 initializing..
Let the games begin!
..
force update takes 0.038383916s
com.jogamp.opengl.util.AnimatorBase$UncaughtAnimatorException: java.lang.RuntimeException: com.jogamp.opengl.GLException: Caught IllegalArgumentException: Width (-13) and height (-10) cannot be <= 0 on thread AWT-EventQueue-0
	at com.jogamp.opengl.util.AWTAnimatorImpl.display(AWTAnimatorImpl.java:92)
	at com.jogamp.opengl.util.AnimatorBase.display(AnimatorBase.java:452)
	at com.jogamp.opengl.util.Animator$MainLoop.run(Animator.java:204)
	at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.RuntimeException: com.jogamp.opengl.GLException: Caught IllegalArgumentException: Width (-13) and height (-10) cannot be <= 0 on thread AWT-EventQueue-0
	at com.jogamp.common.util.awt.AWTEDTExecutor.invoke(AWTEDTExecutor.java:58)
	at jogamp.opengl.awt.AWTThreadingPlugin.invokeOnOpenGLThread(AWTThreadingPlugin.java:103)
	at jogamp.opengl.ThreadingImpl.invokeOnOpenGLThread(ThreadingImpl.java:201)
	at com.jogamp.opengl.Threading.invokeOnOpenGLThread(Threading.java:202)
	at com.jogamp.opengl.Threading.invoke(Threading.java:221)
	at com.jogamp.opengl.awt.GLCanvas.display(GLCanvas.java:505)
	at com.jogamp.opengl.util.AWTAnimatorImpl.display(AWTAnimatorImpl.java:81)
	... 3 more
Caused by: com.jogamp.opengl.GLException: Caught IllegalArgumentException: Width (-13) and height (-10) cannot be <= 0 on thread AWT-EventQueue-0
	at com.jogamp.opengl.GLException.newGLException(GLException.java:76)
	at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1327)
	at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1147)
	at com.jogamp.opengl.awt.GLCanvas$12.run(GLCanvas.java:1438)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:303)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: java.lang.IllegalArgumentException: Width (-13) and height (-10) cannot be <= 0
	at java.desktop/java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:1016)
	at java.desktop/java.awt.image.BufferedImage.<init>(BufferedImage.java:324)
	at net.sf.robocode.ui.battleview.BattleView.createGroundImage(BattleView.java:252)
	at net.sf.robocode.ui.battleview.BattleView.initialize(BattleView.java:221)
	at net.sf.robocode.ui.battleview.BattleView.access$1300(BattleView.java:71)
	at net.sf.robocode.ui.battleview.BattleView$MyPanel.update(BattleView.java:857)
	at net.sf.robocode.ui.battleview.BattleView$MyPanel.paint(BattleView.java:847)
	at org.jogamp.glg2d.GLG2DSimpleEventListener.paintGL(GLG2DSimpleEventListener.java:124)
	at org.jogamp.glg2d.GLG2DSimpleEventListener.display(GLG2DSimpleEventListener.java:67)
	at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:692)
	at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:674)
	at com.jogamp.opengl.awt.GLCanvas$11.run(GLCanvas.java:1424)
	at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1293)
	... 15 more
com.jogamp.opengl.GLException: Caught IllegalArgumentException: Width (-20) and height (-15) cannot be <= 0 on thread AWT-EventQueue-0
	at com.jogamp.opengl.GLException.newGLException(GLException.java:76)
	at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1327)
	at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1147)
	at com.jogamp.opengl.awt.GLCanvas$12.run(GLCanvas.java:1438)
	at com.jogamp.opengl.Threading.invoke(Threading.java:223)
	at com.jogamp.opengl.awt.GLCanvas.display(GLCanvas.java:505)
	at com.jogamp.opengl.awt.GLCanvas.paint(GLCanvas.java:559)
	at java.desktop/sun.awt.RepaintArea.paintComponent(RepaintArea.java:264)
	at java.desktop/sun.awt.X11.XRepaintArea.paintComponent(XRepaintArea.java:66)
	at java.desktop/sun.awt.RepaintArea.paint(RepaintArea.java:240)
	at java.desktop/sun.awt.X11.XComponentPeer.handleEvent(XComponentPeer.java:555)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5069)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: java.lang.IllegalArgumentException: Width (-20) and height (-15) cannot be <= 0
	at java.desktop/java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:1016)
	at java.desktop/java.awt.image.BufferedImage.<init>(BufferedImage.java:324)
	at net.sf.robocode.ui.battleview.BattleView.createGroundImage(BattleView.java:252)
	at net.sf.robocode.ui.battleview.BattleView.initialize(BattleView.java:221)
	at net.sf.robocode.ui.battleview.BattleView.access$1300(BattleView.java:71)
	at net.sf.robocode.ui.battleview.BattleView$MyPanel.update(BattleView.java:857)
	at net.sf.robocode.ui.battleview.BattleView$MyPanel.paint(BattleView.java:847)
	at org.jogamp.glg2d.GLG2DSimpleEventListener.paintGL(GLG2DSimpleEventListener.java:124)
	at org.jogamp.glg2d.GLG2DSimpleEventListener.display(GLG2DSimpleEventListener.java:67)
	at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:692)
	at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:674)
	at com.jogamp.opengl.awt.GLCanvas$11.run(GLCanvas.java:1424)
	at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1293)
	... 28 more
com.jogamp.opengl.GLException: Caught IllegalArgumentException: Width (-20) and height (-15) cannot be <= 0 on thread AWT-EventQueue-0
	at com.jogamp.opengl.GLException.newGLException(GLException.java:76)
	at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1327)
	at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1147)
	at com.jogamp.opengl.awt.GLCanvas$12.run(GLCanvas.java:1438)
	at com.jogamp.opengl.Threading.invoke(Threading.java:223)
	at com.jogamp.opengl.awt.GLCanvas.display(GLCanvas.java:505)
	at com.jogamp.opengl.awt.GLCanvas.paint(GLCanvas.java:559)
	at java.desktop/sun.awt.RepaintArea.paintComponent(RepaintArea.java:264)
	at java.desktop/sun.awt.X11.XRepaintArea.paintComponent(XRepaintArea.java:66)
	at java.desktop/sun.awt.RepaintArea.paint(RepaintArea.java:240)
	at java.desktop/sun.awt.X11.XComponentPeer.handleEvent(XComponentPeer.java:555)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5069)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: java.lang.IllegalArgumentException: Width (-20) and height (-15) cannot be <= 0
	at java.desktop/java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:1016)
	at java.desktop/java.awt.image.BufferedImage.<init>(BufferedImage.java:324)
	at net.sf.robocode.ui.battleview.BattleView.createGroundImage(BattleView.java:252)
	at net.sf.robocode.ui.battleview.BattleView.initialize(BattleView.java:221)
	at net.sf.robocode.ui.battleview.BattleView.access$1300(BattleView.java:71)
	at net.sf.robocode.ui.battleview.BattleView$MyPanel.update(BattleView.java:857)
	at net.sf.robocode.ui.battleview.BattleView$MyPanel.paint(BattleView.java:847)
	at org.jogamp.glg2d.GLG2DSimpleEventListener.paintGL(GLG2DSimpleEventListener.java:124)
	at org.jogamp.glg2d.GLG2DSimpleEventListener.display(GLG2DSimpleEventListener.java:67)
	at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:692)
	at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:674)
	at com.jogamp.opengl.awt.GLCanvas$11.run(GLCanvas.java:1424)
	at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1293)
	... 28 more
com.jogamp.opengl.GLException: Caught IllegalArgumentException: Width (-20) and height (-15) cannot be <= 0 on thread AWT-EventQueue-0
	at com.jogamp.opengl.GLException.newGLException(GLException.java:76)
	at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1327)
	at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1147)
	at com.jogamp.opengl.awt.GLCanvas$12.run(GLCanvas.java:1438)
	at com.jogamp.opengl.Threading.invoke(Threading.java:223)
	at com.jogamp.opengl.awt.GLCanvas.display(GLCanvas.java:505)
	at com.jogamp.opengl.awt.GLCanvas.paint(GLCanvas.java:559)
	at java.desktop/sun.awt.RepaintArea.paintComponent(RepaintArea.java:264)
	at java.desktop/sun.awt.X11.XRepaintArea.paintComponent(XRepaintArea.java:66)
	at java.desktop/sun.awt.RepaintArea.paint(RepaintArea.java:240)
	at java.desktop/sun.awt.X11.XComponentPeer.handleEvent(XComponentPeer.java:555)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5069)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: java.lang.IllegalArgumentException: Width (-20) and height (-15) cannot be <= 0
	at java.desktop/java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:1016)
	at java.desktop/java.awt.image.BufferedImage.<init>(BufferedImage.java:324)
	at net.sf.robocode.ui.battleview.BattleView.createGroundImage(BattleView.java:252)
	at net.sf.robocode.ui.battleview.BattleView.initialize(BattleView.java:221)
	at net.sf.robocode.ui.battleview.BattleView.access$1300(BattleView.java:71)
	at net.sf.robocode.ui.battleview.BattleView$MyPanel.update(BattleView.java:857)
	at net.sf.robocode.ui.battleview.BattleView$MyPanel.paint(BattleView.java:847)
	at org.jogamp.glg2d.GLG2DSimpleEventListener.paintGL(GLG2DSimpleEventListener.java:124)
	at org.jogamp.glg2d.GLG2DSimpleEventListener.display(GLG2DSimpleEventListener.java:67)
	at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:692)
	at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:674)
	at com.jogamp.opengl.awt.GLCanvas$11.run(GLCanvas.java:1424)
	at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1293)
	... 28 more
com.jogamp.opengl.GLException: Caught IllegalArgumentException: Width (-20) and height (-15) cannot be <= 0 on thread AWT-EventQueue-0
	at com.jogamp.opengl.GLException.newGLException(GLException.java:76)
	at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1327)
	at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1147)
	at com.jogamp.opengl.awt.GLCanvas$12.run(GLCanvas.java:1438)
	at com.jogamp.opengl.Threading.invoke(Threading.java:223)
	at com.jogamp.opengl.awt.GLCanvas.display(GLCanvas.java:505)
	at com.jogamp.opengl.awt.GLCanvas.paint(GLCanvas.java:559)
	at java.desktop/sun.awt.RepaintArea.paintComponent(RepaintArea.java:264)
	at java.desktop/sun.awt.X11.XRepaintArea.paintComponent(XRepaintArea.java:66)
	at java.desktop/sun.awt.RepaintArea.paint(RepaintArea.java:240)
	at java.desktop/sun.awt.X11.XComponentPeer.handleEvent(XComponentPeer.java:555)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5069)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: java.lang.IllegalArgumentException: Width (-20) and height (-15) cannot be <= 0
	at java.desktop/java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:1016)
	at java.desktop/java.awt.image.BufferedImage.<init>(BufferedImage.java:324)
	at net.sf.robocode.ui.battleview.BattleView.createGroundImage(BattleView.java:252)
	at net.sf.robocode.ui.battleview.BattleView.initialize(BattleView.java:221)
	at net.sf.robocode.ui.battleview.BattleView.access$1300(BattleView.java:71)
	at net.sf.robocode.ui.battleview.BattleView$MyPanel.update(BattleView.java:857)
	at net.sf.robocode.ui.battleview.BattleView$MyPanel.paint(BattleView.java:847)
	at org.jogamp.glg2d.GLG2DSimpleEventListener.paintGL(GLG2DSimpleEventListener.java:124)
	at org.jogamp.glg2d.GLG2DSimpleEventListener.display(GLG2DSimpleEventListener.java:67)
	at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:692)
	at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:674)
	at com.jogamp.opengl.awt.GLCanvas$11.run(GLCanvas.java:1424)
	at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1293)
	... 28 more
X11Util.Display: Shutdown (JVM shutdown: true, open (no close attempt): 1/1, reusable (open, marked uncloseable): 0, pending (open in creation order): 1)
X11Util: Open X11 Display Connections: 1
X11Util: Open[0]: NamedX11Display[:0, 0x7f39984078c0, refCount 1, unCloseable false]