In Freeplane 1.9.12 pre01, I created a new map, added some nodes, and then tried applying a default template to replace the current one, and then freeplane crashed, with some code like this:
at 2021-11-17 13:48:17 CMT, hash 5b73ef08f6c7a1af48445275c2d0ef09
previous report : at 2021-11-17 13:48:12 CMT, hash b6cb79924bcaed051bff2cbf1c28eae1
freeplane_version = 1.9.12; freeplane_xml_version = freeplane 1.9.8
git revision = 1c3cd25f693988185efa477e4e148039c8040d1c Dimitry Polivaev 2021-11-14T17:30:49Z
java_version = 1.8.0_311; os_name = Windows 10; os_version = 10.0
Exception in thread "AWT-EventQueue-0"
java.lang.NullPointerException
at java.util.Objects.requireNonNull(Unknown Source)
at org.freeplane.features.styles.MapStyleModel.getExtension(MapStyleModel.java:123)
at org.freeplane.features.styles.LogicalStyleController$1.getProperty(LogicalStyleController.java:83)
at org.freeplane.features.styles.LogicalStyleController$1.getProperty(LogicalStyleController.java:81)
at org.freeplane.features.mode.CombinedPropertyChain.getProperty(CombinedPropertyChain.java:49)
at org.freeplane.features.styles.LogicalStyleController.getStyles(LogicalStyleController.java:310)
at org.freeplane.features.nodestyle.NodeStyleController$6.getProperty(NodeStyleController.java:122)
at org.freeplane.features.nodestyle.NodeStyleController$6.getProperty(NodeStyleController.java:118)
at org.freeplane.features.mode.ExclusivePropertyChain.getProperty(ExclusivePropertyChain.java:39)
at org.freeplane.features.nodestyle.NodeStyleController.getShapeConfiguration(NodeStyleController.java:535)
at org.freeplane.view.swing.map.NodeViewFactory.shapeConfiguration(NodeViewFactory.java:124)
at org.freeplane.view.swing.map.NodeViewFactory.newMainView(NodeViewFactory.java:72)
at org.freeplane.view.swing.map.NodeViewFactory.newNodeView(NodeViewFactory.java:155)
at org.freeplane.view.swing.map.NodeView.addChildView(NodeView.java:823)
at org.freeplane.view.swing.map.NodeView.onNodeInserted(NodeView.java:1000)
at org.freeplane.features.map.NodeModel.fireNodeInserted(NodeModel.java:208)
at org.freeplane.features.map.NodeModel.insert(NodeModel.java:359)
at org.freeplane.features.map.MapController.insertNodeIntoWithoutUndo(MapController.java:781)
at org.freeplane.features.map.mindmapmode.MMapController.insertNodeIntoWithoutUndo(MMapController.java:573)
at org.freeplane.features.map.mindmapmode.MMapController$3.act(MMapController.java:376)
at org.freeplane.features.mode.mindmapmode.MModeController.lambda$execute$0(MModeController.java:161)
at org.freeplane.features.ui.FrameController.invokeAndWait(FrameController.java:907)
at org.freeplane.features.mode.mindmapmode.MModeController.execute(MModeController.java:159)
at org.freeplane.features.map.mindmapmode.MMapController.insertSingleNewNode(MMapController.java:389)
at org.freeplane.features.map.mindmapmode.MMapController.insertNewNode(MMapController.java:360)
at org.freeplane.features.map.mindmapmode.MMapController.addNewNode(MMapController.java:345)
at org.freeplane.features.map.mindmapmode.MMapController.addNewNode(MMapController.java:334)
at org.freeplane.features.map.mindmapmode.MMapController.addNewNode(MMapController.java:191)
at org.freeplane.features.map.mindmapmode.NewSiblingAction.actionPerformed(NewSiblingAction.java:38)
at javax.swing.SwingUtilities.notifyAction(Unknown Source)
at org.freeplane.core.ui.ActionAcceleratorManager.processKeyBinding(ActionAcceleratorManager.java:440)
at org.freeplane.main.mindmapmode.MModeControllerFactory$2.processKeyBinding(MModeControllerFactory.java:288)
at org.freeplane.view.swing.ui.UserInputListenerFactory$2.processKeyBinding(UserInputListenerFactory.java:172)
at org.freeplane.core.ui.components.FreeplaneMenuBar.processKeyBinding(FreeplaneMenuBar.java:116)
at org.freeplane.main.application.MenuKeyProcessor.processKeyBinding(MenuKeyProcessor.java:26)
at org.freeplane.main.application.ConnectedToMenuView.processKeyBinding(ConnectedToMenuView.java:41)
at javax.swing.JComponent.processKeyBindings(Unknown Source)
at javax.swing.JComponent.processKeyEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(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)
Exception in thread "AWT-EventQueue-0"
java.lang.NullPointerException
at java.util.Objects.requireNonNull(Unknown Source)
at org.freeplane.features.styles.MapStyleModel.getExtension(MapStyleModel.java:123)
at org.freeplane.features.styles.LogicalStyleController$1.getProperty(LogicalStyleController.java:83)
at org.freeplane.features.styles.LogicalStyleController$1.getProperty(LogicalStyleController.java:81)
at org.freeplane.features.mode.CombinedPropertyChain.getProperty(CombinedPropertyChain.java:49)
at org.freeplane.features.styles.LogicalStyleController.getStyles(LogicalStyleController.java:310)
at org.freeplane.features.nodelocation.LocationController$1.getProperty(LocationController.java:76)
at org.freeplane.features.nodelocation.LocationController$1.getProperty(LocationController.java:72)
at org.freeplane.features.mode.ExclusivePropertyChain.getProperty(ExclusivePropertyChain.java:39)
at org.freeplane.features.nodelocation.LocationController.getMinimalDistanceBetweenChildren(LocationController.java:122)
at org.freeplane.view.swing.map.NodeView.getMinimalDistanceBetweenChildren(NodeView.java:750)
at org.freeplane.view.swing.map.VerticalNodeViewLayoutStrategy.calculateLayoutY(VerticalNodeViewLayoutStrategy.java:109)
at org.freeplane.view.swing.map.VerticalNodeViewLayoutStrategy.calculateLayoutData(VerticalNodeViewLayoutStrategy.java:103)
at org.freeplane.view.swing.map.VerticalNodeViewLayoutStrategy.calculateLayoutData(VerticalNodeViewLayoutStrategy.java:97)
at org.freeplane.view.swing.map.NodeViewLayout.layoutContainer(NodeViewLayout.java:43)
at org.freeplane.view.swing.map.SelectableLayout.layoutContainer(SelectableLayout.java:40)
at java.awt.Container.layout(Unknown Source)
at java.awt.Container.doLayout(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at org.freeplane.view.swing.map.NodeView.validateTree(NodeView.java:1594)
at java.awt.Container.validate(Unknown Source)
at org.freeplane.view.swing.map.ImmediatelyValidatingPreferredSizeCalculator.preferredLayoutSize(ImmediatelyValidatingPreferredSizeCalculator.java:15)
at org.freeplane.view.swing.map.NodeViewLayout.preferredLayoutSize(NodeViewLayout.java:54)
at org.freeplane.view.swing.map.SelectableLayout.preferredLayoutSize(SelectableLayout.java:48)
at java.awt.Container.preferredSize(Unknown Source)
at java.awt.Container.getPreferredSize(Unknown Source)
at javax.swing.JComponent.getPreferredSize(Unknown Source)
at org.freeplane.view.swing.map.MindMapLayout.preferredLayoutSize(MindMapLayout.java:87)
at org.freeplane.view.swing.map.MapView.getPreferredSize(MapView.java:962)
at javax.swing.ScrollPaneLayout.layoutContainer(Unknown Source)
at java.awt.Container.layout(Unknown Source)
at java.awt.Container.doLayout(Unknown Source)
at org.freeplane.view.swing.map.MapViewScrollPane.doLayout(MapViewScrollPane.java:311)
at java.awt.Container.validateTree(Unknown Source)
at org.freeplane.view.swing.map.MapViewScrollPane.validateTree(MapViewScrollPane.java:316)
at java.awt.Container.validate(Unknown Source)
at org.freeplane.view.swing.map.overview.MapViewPane$1.layoutContainer(MapViewPane.java:76)
at java.awt.Container.layout(Unknown Source)
at java.awt.Container.doLayout(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validate(Unknown Source)
at javax.swing.RepaintManager$3.run(Unknown Source)
at javax.swing.RepaintManager$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at javax.swing.RepaintManager.validateInvalidComponents(Unknown Source)
at javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(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)
Exception in thread "AWT-EventQueue-0"
java.lang.NullPointerException
at org.freeplane.view.swing.map.NodeView.isContentVisible(NodeView.java:835)
at org.freeplane.view.swing.map.NodeView.paintEdges(NodeView.java:1154)
at org.freeplane.view.swing.map.NodeView.paintComponent(NodeView.java:1060)
at javax.swing.JComponent.paint(Unknown Source)
at org.freeplane.view.swing.map.NodeView.paint(NodeView.java:1077)
at javax.swing.JComponent.paintChildren(Unknown Source)
at org.freeplane.view.swing.map.MapView.paintChildren(MapView.java:1693)
at org.freeplane.view.swing.map.MapView.paintChildren(MapView.java:1673)
at javax.swing.JComponent.paint(Unknown Source)
at org.freeplane.view.swing.map.MapView.paint(MapView.java:1606)
at javax.swing.JComponent.paintToOffscreen(Unknown Source)
at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
at javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
at javax.swing.RepaintManager.paint(Unknown Source)
at javax.swing.JComponent._paintImmediately(Unknown Source)
at javax.swing.JComponent.paintImmediately(Unknown Source)
at javax.swing.JComponent.paintImmediately(Unknown Source)
at org.freeplane.view.swing.map.MainView.paintFoldingRectangleImmediately(MainView.java:662)
at org.freeplane.view.swing.map.MainView.setMouseArea(MainView.java:635)
at org.freeplane.view.swing.ui.DefaultNodeMouseMotionListener.mouseExited(DefaultNodeMouseMotionListener.java:173)
at org.freeplane.view.swing.ui.mindmapmode.MNodeMotionListener.mouseExited(MNodeMotionListener.java:171)
at java.awt.AWTEventMulticaster.mouseExited(Unknown Source)
at java.awt.AWTEventMulticaster.mouseExited(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEnterExit(Unknown Source)
at java.awt.LightweightDispatcher.trackMouseEnterExit(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(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)
The stack trace you pasted does not match the description.
I know that sometimes this problem arises, unfortunately I do not know how I can reproduce it.
Could you please provide more detailed instructions ideally with screen shots or/and a video?
Sure. Will do it later.
Please check if preview 1.9.12_02 fixed it
Yes, the bug is fixed in pre02. Thanks!