OutOfMemoryError if left running too long

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

OutOfMemoryError if left running too long

kcason

I’m running Protégé 5.5 beta3, but I’ve also seen this in previous version.

If I start Protégé, then leave overnight, the next morning the app has frozen and I see this in the log:

 

Uncaught Exception in thread 'AWT-EventQueue-0'

java.lang.OutOfMemoryError: Java heap space

                at java.awt.image.DataBufferInt.<init>(DataBufferInt.java:75) ~[na:1.8.0_40]

                at java.awt.image.Raster.createPackedRaster(Raster.java:467) ~[na:1.8.0_40]

                at java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:1032) ~[na:1.8.0_40]

                at java.awt.GraphicsConfiguration.createCompatibleImage(GraphicsConfiguration.java:150) ~[na:1.8.0_40]

                at java.awt.GraphicsConfiguration.createCompatibleImage(GraphicsConfiguration.java:178) ~[na:1.8.0_40]

                at sun.awt.image.SunVolatileImage.getBackupImage(SunVolatileImage.java:236) ~[na:1.8.0_40]

                at sun.awt.image.VolatileSurfaceManager.getBackupSurface(VolatileSurfaceManager.java:263) ~[na:1.8.0_40]

                at sun.awt.image.VolatileSurfaceManager.initialize(VolatileSurfaceManager.java:126) ~[na:1.8.0_40]

                at sun.awt.image.SunVolatileImage.<init>(SunVolatileImage.java:88) ~[na:1.8.0_40]

                at sun.awt.image.SunVolatileImage.<init>(SunVolatileImage.java:117) ~[na:1.8.0_40]

                at java.awt.GraphicsConfiguration.createCompatibleVolatileImage(GraphicsConfiguration.java:307) ~[na:1.8.0_40]

                at java.awt.GraphicsConfiguration.createCompatibleVolatileImage(GraphicsConfiguration.java:241) ~[na:1.8.0_40]

                at javax.swing.RepaintManager.getVolatileOffscreenBuffer(RepaintManager.java:1046) ~[na:1.8.0_40]

                at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1482) ~[na:1.8.0_40]

                at javax.swing.RepaintManager.paint(RepaintManager.java:1265) ~[na:1.8.0_40]

                at javax.swing.JComponent.paint(JComponent.java:1042) ~[na:1.8.0_40]

                at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:39) ~[na:1.8.0_40]

                at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:79) ~[na:1.8.0_40]

                at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:116) ~[na:1.8.0_40]

                at java.awt.Container.paint(Container.java:1973) ~[na:1.8.0_40]

                at java.awt.Window.paint(Window.java:3912) ~[na:1.8.0_40]

                at javax.swing.RepaintManager$4.run(RepaintManager.java:835) ~[na:1.8.0_40]

                at javax.swing.RepaintManager$4.run(RepaintManager.java:807) ~[na:1.8.0_40]

                at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_40]

                at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) ~[na:1.8.0_40]

                at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:807) ~[na:1.8.0_40]

                at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:782) ~[na:1.8.0_40]

                at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:731) ~[na:1.8.0_40]

                at javax.swing.RepaintManager.access$1300(RepaintManager.java:64) ~[na:1.8.0_40]

                at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1720) ~[na:1.8.0_40]

                at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) ~[na:1.8.0_40]

                at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:749) ~[na:1.8.0_40]

 

Followed by a series of:

 

Uncaught Exception in thread 'AWT-EventQueue-0'

java.lang.OutOfMemoryError: GC overhead limit exceeded

Uncaught Exception in thread 'AWT-EventQueue-0'

java.lang.OutOfMemoryError: GC overhead limit exceeded

Uncaught Exception in thread 'AWT-EventQueue-0'

java.lang.OutOfMemoryError: GC overhead limit exceeded…

 

I realize this means the garbace collector overhead limit has been exceeded, and I can increase the GC size. But that would only suppress the symptom, not cure the problem.

Is this a known issue, and is there a fix pending?

 

 

Thanks,

 

-Kenny Cason

Radiance Technologies

Cyber Solutions Group

3133 General Hudnell Dr. Ste. 116
San Antonio, TX 78226

[hidden email]

206.550.0049

 


_______________________________________________
protege-dev mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-dev
Reply | Threaded
Open this post in threaded view
|

Re: OutOfMemoryError if left running too long

Csongor Nyulas
Administrator
How much memory do you start Protege with and how big is the ontology that you load into it?
Have you tried adjusting the maximum heap size at all?

Csongor


On 12/6/18 7:56 AM, Kenny Cason wrote:

I’m running Protégé 5.5 beta3, but I’ve also seen this in previous version.

If I start Protégé, then leave overnight, the next morning the app has frozen and I see this in the log:

 

Uncaught Exception in thread 'AWT-EventQueue-0'

java.lang.OutOfMemoryError: Java heap space

                at java.awt.image.DataBufferInt.<init>(DataBufferInt.java:75) ~[na:1.8.0_40]

                at java.awt.image.Raster.createPackedRaster(Raster.java:467) ~[na:1.8.0_40]

                at java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:1032) ~[na:1.8.0_40]

                at java.awt.GraphicsConfiguration.createCompatibleImage(GraphicsConfiguration.java:150) ~[na:1.8.0_40]

                at java.awt.GraphicsConfiguration.createCompatibleImage(GraphicsConfiguration.java:178) ~[na:1.8.0_40]

                at sun.awt.image.SunVolatileImage.getBackupImage(SunVolatileImage.java:236) ~[na:1.8.0_40]

                at sun.awt.image.VolatileSurfaceManager.getBackupSurface(VolatileSurfaceManager.java:263) ~[na:1.8.0_40]

                at sun.awt.image.VolatileSurfaceManager.initialize(VolatileSurfaceManager.java:126) ~[na:1.8.0_40]

                at sun.awt.image.SunVolatileImage.<init>(SunVolatileImage.java:88) ~[na:1.8.0_40]

                at sun.awt.image.SunVolatileImage.<init>(SunVolatileImage.java:117) ~[na:1.8.0_40]

                at java.awt.GraphicsConfiguration.createCompatibleVolatileImage(GraphicsConfiguration.java:307) ~[na:1.8.0_40]

                at java.awt.GraphicsConfiguration.createCompatibleVolatileImage(GraphicsConfiguration.java:241) ~[na:1.8.0_40]

                at javax.swing.RepaintManager.getVolatileOffscreenBuffer(RepaintManager.java:1046) ~[na:1.8.0_40]

                at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1482) ~[na:1.8.0_40]

                at javax.swing.RepaintManager.paint(RepaintManager.java:1265) ~[na:1.8.0_40]

                at javax.swing.JComponent.paint(JComponent.java:1042) ~[na:1.8.0_40]

                at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:39) ~[na:1.8.0_40]

                at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:79) ~[na:1.8.0_40]

                at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:116) ~[na:1.8.0_40]

                at java.awt.Container.paint(Container.java:1973) ~[na:1.8.0_40]

                at java.awt.Window.paint(Window.java:3912) ~[na:1.8.0_40]

                at javax.swing.RepaintManager$4.run(RepaintManager.java:835) ~[na:1.8.0_40]

                at javax.swing.RepaintManager$4.run(RepaintManager.java:807) ~[na:1.8.0_40]

                at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_40]

                at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) ~[na:1.8.0_40]

                at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:807) ~[na:1.8.0_40]

                at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:782) ~[na:1.8.0_40]

                at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:731) ~[na:1.8.0_40]

                at javax.swing.RepaintManager.access$1300(RepaintManager.java:64) ~[na:1.8.0_40]

                at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1720) ~[na:1.8.0_40]

                at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) ~[na:1.8.0_40]

                at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:749) ~[na:1.8.0_40]

 

Followed by a series of:

 

Uncaught Exception in thread 'AWT-EventQueue-0'

java.lang.OutOfMemoryError: GC overhead limit exceeded

Uncaught Exception in thread 'AWT-EventQueue-0'

java.lang.OutOfMemoryError: GC overhead limit exceeded

Uncaught Exception in thread 'AWT-EventQueue-0'

java.lang.OutOfMemoryError: GC overhead limit exceeded…

 

I realize this means the garbace collector overhead limit has been exceeded, and I can increase the GC size. But that would only suppress the symptom, not cure the problem.

Is this a known issue, and is there a fix pending?

 

 

Thanks,

 

-Kenny Cason

Radiance Technologies

Cyber Solutions Group

3133 General Hudnell Dr. Ste. 116
San Antonio, TX 78226

[hidden email]

206.550.0049

 


_______________________________________________
protege-dev mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-dev


_______________________________________________
protege-dev mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-dev
Reply | Threaded
Open this post in threaded view
|

Re: OutOfMemoryError if left running too long

kcason

I haven’t adjusted the maximum heap size yet. I wanted to see if there is a solution without messing with the startup parameters. This may just be a typical Java thing, not specific to Protégé. But it bugs me.

 

Here is my startup command, right out of the default run.bat:

setlocal

cd /d %~dp0

jre\bin\java -Xmx500M -Xms200M -Xss16M -XX:CompileCommand=exclude,javax/swing/text/GlyphView,getBreakSpot -DentityExpansionLimit=100000000 -Dlogback.configurationFile=conf/logback-win.xml -Dfile.encoding=utf-8 -Dorg.protege.plugin.dir=plugins -classpath bundles/guava.jar;bundles/logback-classic.jar;bundles/logback-core.jar;bundles/slf4j-api.jar;bin/org.apache.felix.main.jar;bin/maven-artifact.jar;bin/protege-launcher.jar org.protege.osgi.framework.Launcher %1

 

Here are the metrics of the ontology:

 

Axiom   5111      

Logical axiom count        2923      

Declaration axioms count             1040      

Class count         181        

Object property count   30          

Data property count       14          

Individual count                809        

Annotation Property count          10          

DL expressivity SRIQ(D)

SubClassOf         188        

DisjointClasses  10

 

-Kenny

 

From: protege-dev <[hidden email]> On Behalf Of Csongor Nyulas
Sent: Thursday, December 6, 2018 11:01 AM
To: [hidden email]
Subject: Re: [protege-dev] OutOfMemoryError if left running too long

 

How much memory do you start Protege with and how big is the ontology that you load into it?
Have you tried adjusting the maximum heap size at all?

Csongor

On 12/6/18 7:56 AM, Kenny Cason wrote:

I’m running Protégé 5.5 beta3, but I’ve also seen this in previous version.

If I start Protégé, then leave overnight, the next morning the app has frozen and I see this in the log:

 

Uncaught Exception in thread 'AWT-EventQueue-0'

java.lang.OutOfMemoryError: Java heap space

                at java.awt.image.DataBufferInt.<init>(DataBufferInt.java:75) ~[na:1.8.0_40]

                at java.awt.image.Raster.createPackedRaster(Raster.java:467) ~[na:1.8.0_40]

                at java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:1032) ~[na:1.8.0_40]

                at java.awt.GraphicsConfiguration.createCompatibleImage(GraphicsConfiguration.java:150) ~[na:1.8.0_40]

                at java.awt.GraphicsConfiguration.createCompatibleImage(GraphicsConfiguration.java:178) ~[na:1.8.0_40]

                at sun.awt.image.SunVolatileImage.getBackupImage(SunVolatileImage.java:236) ~[na:1.8.0_40]

                at sun.awt.image.VolatileSurfaceManager.getBackupSurface(VolatileSurfaceManager.java:263) ~[na:1.8.0_40]

                at sun.awt.image.VolatileSurfaceManager.initialize(VolatileSurfaceManager.java:126) ~[na:1.8.0_40]

                at sun.awt.image.SunVolatileImage.<init>(SunVolatileImage.java:88) ~[na:1.8.0_40]

                at sun.awt.image.SunVolatileImage.<init>(SunVolatileImage.java:117) ~[na:1.8.0_40]

                at java.awt.GraphicsConfiguration.createCompatibleVolatileImage(GraphicsConfiguration.java:307) ~[na:1.8.0_40]

                at java.awt.GraphicsConfiguration.createCompatibleVolatileImage(GraphicsConfiguration.java:241) ~[na:1.8.0_40]

                at javax.swing.RepaintManager.getVolatileOffscreenBuffer(RepaintManager.java:1046) ~[na:1.8.0_40]

                at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1482) ~[na:1.8.0_40]

                at javax.swing.RepaintManager.paint(RepaintManager.java:1265) ~[na:1.8.0_40]

                at javax.swing.JComponent.paint(JComponent.java:1042) ~[na:1.8.0_40]

                at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:39) ~[na:1.8.0_40]

                at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:79) ~[na:1.8.0_40]

                at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:116) ~[na:1.8.0_40]

                at java.awt.Container.paint(Container.java:1973) ~[na:1.8.0_40]

                at java.awt.Window.paint(Window.java:3912) ~[na:1.8.0_40]

                at javax.swing.RepaintManager$4.run(RepaintManager.java:835) ~[na:1.8.0_40]

                at javax.swing.RepaintManager$4.run(RepaintManager.java:807) ~[na:1.8.0_40]

                at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_40]

                at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) ~[na:1.8.0_40]

                at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:807) ~[na:1.8.0_40]

                at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:782) ~[na:1.8.0_40]

                at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:731) ~[na:1.8.0_40]

                at javax.swing.RepaintManager.access$1300(RepaintManager.java:64) ~[na:1.8.0_40]

                at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1720) ~[na:1.8.0_40]

                at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) ~[na:1.8.0_40]

                at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:749) ~[na:1.8.0_40]

 

Followed by a series of:

 

Uncaught Exception in thread 'AWT-EventQueue-0'

java.lang.OutOfMemoryError: GC overhead limit exceeded

Uncaught Exception in thread 'AWT-EventQueue-0'

java.lang.OutOfMemoryError: GC overhead limit exceeded

Uncaught Exception in thread 'AWT-EventQueue-0'

java.lang.OutOfMemoryError: GC overhead limit exceeded…

 

I realize this means the garbace collector overhead limit has been exceeded, and I can increase the GC size. But that would only suppress the symptom, not cure the problem.

Is this a known issue, and is there a fix pending?

 

 

Thanks,

 

-Kenny Cason

Radiance Technologies

Cyber Solutions Group

3133 General Hudnell Dr. Ste. 116
San Antonio, TX 78226

[hidden email]

206.550.0049

 



_______________________________________________
protege-dev mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-dev

 


_______________________________________________
protege-dev mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-dev