xspanger3770 / GlobalQuake

Experimental application for monitoring earthquakes world-wide in near real time. Capable of issuing its own earthquake early warnings (EEW).
MIT License
281 stars 41 forks source link

Oops! Something has gone tterribly wrong inside GlobalQuake #280

Open Camiron9 opened 2 months ago

Camiron9 commented 2 months ago

Hi all, I left GlobalQuake running overnight, and woke up to this message....

java.lang.NullPointerException: Cannot read field "quality" because "hypocenter" is null at globalquake.ui.globalquake.feature.FeatureEarthquake.isUncertain(FeatureEarthquake.java:236) at globalquake.ui.globalquake.feature.FeatureEarthquake.render(FeatureEarthquake.java:194) at globalquake.ui.globe.feature.RenderFeature.lambda$renderAll$4(RenderFeature.java:111) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) at java.base/java.util.concurrent.ConcurrentHashMap$ValueSpliterator.forEachRemaining(ConcurrentHashMap.java:3612) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) at globalquake.ui.globe.feature.RenderFeature.renderAll(RenderFeature.java:109) at globalquake.ui.globe.GlobeRenderer.lambda$render$1(GlobeRenderer.java:306) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) at globalquake.ui.globe.GlobeRenderer.render(GlobeRenderer.java:304) at globalquake.ui.globe.GlobePanel.paint(GlobePanel.java:471) at globalquake.ui.globalquake.GlobalQuakePanel.paint(GlobalQuakePanel.java:183) at globalquake.ui.globalquake.GlobalQuakeFrame$1.paint(GlobalQuakeFrame.java:32) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:952) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1128) at java.desktop/javax.swing.JComponent.paintToOffscreen(JComponent.java:5311) at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBufferedImpl(RepaintManager.java:1657) at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1632) at java.desktop/javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1570) at java.desktop/javax.swing.RepaintManager.paint(RepaintManager.java:1337) at java.desktop/javax.swing.JComponent._paintImmediately(JComponent.java:5259) at java.desktop/javax.swing.JComponent.paintImmediately(JComponent.java:5069) at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:879) at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:862) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:862) at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:835) at java.desktop/javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:784) at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1898) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:741) 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)

WalkTheEarth commented 1 month ago

This is a known issue. update to the pre release and it will be fixed.