ra4king / CircuitSim

Basic Circuit Simulator
https://ra4king.github.io/CircuitSim
BSD 3-Clause "New" or "Revised" License
76 stars 27 forks source link

java.lang.NullPointerException at Subcircuit.getSubcircuitState #64

Closed ra4king closed 1 year ago

ra4king commented 4 years ago

java.version=1.8.0_242 java.vendor=Private Build java.vm.specification.version=1.8 java.vm.specification.vendor=Oracle Corporation java.vm.specification.name =Java Virtual Machine Specification java.vm.version=25.242-b08 java.vm.vendor=Private Build java.vm.name =OpenJDK 64-Bit Server VM java.specification.version=1.8 java.specification.vendor=Oracle Corporation java.specification.name =Java Platform API Specification os.name =Linux os.arch=amd64 os.version=5.3.0-26-generic CircuitSim version=1.8.1

java.lang.NullPointerException at com.ra4king.circuitsim.simulator.components.Subcircuit.getSubcircuitState(Subcircuit.java:113) at com.ra4king.circuitsim.gui.CircuitSim.getSubcircuitStates(CircuitSim.java:993) at com.ra4king.circuitsim.gui.CircuitSim.getSubcircuitStates(CircuitSim.java:999) at com.ra4king.circuitsim.gui.CircuitSim.lambda$circuitModified$26(CircuitSim.java:937) at java.util.HashMap$Values.forEach(HashMap.java:981) at com.ra4king.circuitsim.gui.CircuitSim.circuitModified(CircuitSim.java:929) at com.ra4king.circuitsim.gui.CircuitBoard.finalizeMove(CircuitBoard.java:616) at com.ra4king.circuitsim.gui.CircuitManager.mayThrow(CircuitManager.java:549) at com.ra4king.circuitsim.gui.CircuitManager.modifiedSelection(CircuitManager.java:280) at com.ra4king.circuitsim.gui.CircuitSim.modifiedSelection(CircuitSim.java:727) at com.ra4king.circuitsim.gui.CircuitSim.modifiedSelection(CircuitSim.java:720) at com.ra4king.circuitsim.gui.CircuitSim.lambda$start$78(CircuitSim.java:2030) at com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:361) at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81) at javafx.beans.property.ReadOnlyObjectPropertyBase.fireValueChangedEvent(ReadOnlyObjectPropertyBase.java:74) at javafx.beans.property.ReadOnlyObjectWrapper.fireValueChangedEvent(ReadOnlyObjectWrapper.java:102) at javafx.beans.property.ObjectPropertyBase.markInvalid(ObjectPropertyBase.java:112) at javafx.beans.property.ObjectPropertyBase.set(ObjectPropertyBase.java:146) at javafx.scene.control.SelectionModel.setSelectedItem(SelectionModel.java:102) at javafx.scene.control.TabPane$TabPaneSelectionModel.select(TabPane.java:717) at javafx.scene.control.TabPane$TabPaneSelectionModel.select(TabPane.java:735) at javafx.scene.control.TabPane$TabPaneSelectionModel.select(TabPane.java:656) at com.sun.javafx.scene.control.behavior.TabPaneBehavior.selectTab(TabPaneBehavior.java:122) at com.sun.javafx.scene.control.skin.TabPaneSkin$TabHeaderSkin$5.handle(TabPaneSkin.java:1332) at com.sun.javafx.scene.control.skin.TabPaneSkin$TabHeaderSkin$5.handle(TabPaneSkin.java:1317) at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86) at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238) at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191) at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74) at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54) at javafx.event.Event.fireEvent(Event.java:198) at javafx.scene.Scene$MouseHandler.process(Scene.java:3757) at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3485) at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762) at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2494) at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:394) at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:295) at java.security.AccessController.doPrivileged(Native Method) at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(GlassViewEventHandler.java:432) at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:389) at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:431) at com.sun.glass.ui.View.handleMouseEvent(View.java:555) at com.sun.glass.ui.View.notifyMouse(View.java:937) at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method) at com.sun.glass.ui.gtk.GtkApplication.lambda$null$5(GtkApplication.java:139) at java.lang.Thread.run(Thread.java:748)

ra4king commented 1 year ago

I'm going to assume the race condition fixes in issue #46 have solved this. I'll reopen if this occurs again.