PreviousNextTracker indexSee it online !

(154/211) 3872 - NPE on startup due to EditPane.loadCaretInfo failing.

Hi,
Every once in a while over the years I find jEdit crashes when starting up. I found this happened with 5.0 in addition to the version I use now. Which is 5.1.0. No clue though how to reproduce the conditions. It's a corner case.
The resolution has been to delete the ~/.jedit/perspectives.xml file.
This is the exception when starting up.

whitingjr@f19lite ~ $ 02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: Exception in thread "AWT-EventQueue-0"
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: java.lang.NullPointerException
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at org.gjt.sp.jedit.EditPane.loadCaretInfo(EditPane.java:420)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at org.gjt.sp.jedit.EditPane$2.run(EditPane.java:219)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at org.gjt.sp.util.ThreadUtilities.runInDispatchThread(ThreadUtilities.java:62)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at org.gjt.sp.jedit.EditPane.setBuffer(EditPane.java:212)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at org.gjt.sp.jedit.EditPane.setBuffer(EditPane.java:139)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at org.gjt.sp.jedit.EditPane.<init>(EditPane.java:838)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at org.gjt.sp.jedit.View.createEditPane(View.java:1994)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at org.gjt.sp.jedit.View.createEditPane(View.java:1989)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at org.gjt.sp.jedit.View.restoreSplitConfig(View.java:1807)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at org.gjt.sp.jedit.View.setSplitConfig(View.java:887)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at org.gjt.sp.jedit.View.<init>(View.java:1348)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at org.gjt.sp.jedit.jEdit.newView(jEdit.java:2557)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at org.gjt.sp.jedit.PerspectiveManager$PerspectiveHandler.endElement(PerspectiveManager.java:363)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:609)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at com.sun.org.apache.xerces.internal.impl.dtd.XMLNSDTDValidator.endNamespaceScope(XMLNSDTDValidator.java:266)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleEndElement(XMLDTDValidator.java:2005)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.endElement(XMLDTDValidator.java:879)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1781)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2957)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:117)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at org.gjt.sp.util.XMLUtilities.parseXML(XMLUtilities.java:140)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at org.gjt.sp.jedit.SettingsXML.load(SettingsXML.java:155)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at org.gjt.sp.jedit.PerspectiveManager.loadPerspective(PerspectiveManager.java:107)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at org.gjt.sp.jedit.jEdit$6.run(jEdit.java:4156)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at java.awt.EventQueue.access$200(EventQueue.java:103)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at java.awt.EventQueue$3.run(EventQueue.java:694)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at java.awt.EventQueue$3.run(EventQueue.java:692)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at java.security.AccessController.doPrivileged(Native Method)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
02:41:07 [AWT-EventQueue-0] [error] AWT-EventQueue-0: at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

$ uname -a
Linux f19lite 3.14.7-100.fc19.x86_64 #1 SMP Wed Jun 11 22:34:02 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
$ java -version
java version "1.7.0_55"
OpenJDK Runtime Environment (fedora-2.4.7.0.fc19-x86_64 u55-b13)
OpenJDK 64-Bit Server VM (build 24.51-b03, mixed mode)


02:41:05 [main] [message] Log: When reporting bugs, please include the following information:
02:41:05 [main] [message] Log: java.version=1.7.0_55
02:41:05 [main] [message] Log: java.vm.version=24.51-b03
02:41:05 [main] [message] Log: java.vm.name=OpenJDK 64-Bit Server VM
02:41:05 [main] [message] Log: java.runtime.version=1.7.0_55-mockbuild_2014_04_16_06_38-b00
02:41:05 [main] [message] Log: java.runtime.name=OpenJDK Runtime Environment
02:41:05 [main] [message] Log: java.vendor=Oracle Corporation
02:41:05 [main] [message] Log: java.compiler=null
02:41:05 [main] [message] Log: os.name=Linux
02:41:05 [main] [message] Log: os.version=3.14.7-100.fc19.x86_64
02:41:05 [main] [message] Log: os.arch=amd64
02:41:05 [main] [message] Log: user.home=/home/whitingjr
02:41:05 [main] [message] Log: java.home=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.7.0.fc19.x86_64/jre
02:41:05 [main] [message] Log: java.class.path=/usr/local/share/jEdit/5.1.0/jedit.jar
02:41:05 [main] [message] jEdit: starting with command line arguments: -reuseview
02:41:05 [main] [notice] jEdit: An error occurred while connecting to the jEdit server instance.
02:41:05 [main] [notice] jEdit: This probably means that jEdit crashed and/or exited abnormally
02:41:05 [main] [notice] jEdit: the last time it was run.
02:41:05 [main] [notice] jEdit: If you don't know what this means, don't worry.
02:41:05 [main] [notice] jEdit: java.net.ConnectException: Connection refused
02:41:05 [main] [notice] jEdit: at java.net.PlainSocketImpl.socketConnect(Native Method)
02:41:05 [main] [notice] jEdit: at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
02:41:05 [main] [notice] jEdit: at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
02:41:05 [main] [notice] jEdit: at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
02:41:05 [main] [notice] jEdit: at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
02:41:05 [main] [notice] jEdit: at java.net.Socket.connect(Socket.java:579)
02:41:05 [main] [notice] jEdit: at java.net.Socket.connect(Socket.java:528)
02:41:05 [main] [notice] jEdit: at java.net.Socket.<init>(Socket.java:425)
02:41:05 [main] [notice] jEdit: at java.net.Socket.<init>(Socket.java:241)
02:41:05 [main] [notice] jEdit: at org.gjt.sp.jedit.jEdit.main(jEdit.java:317)


It would be a better user experience to catch this and ignore if possible.

Kind regards,
Jeremy

Submitted whitingjr - 2014-06-30 01:53:57.908000 Assigned
Priority 5 Labels npe start up crash
Status open Group normal bug
Resolution None

Comments

2014-11-08 04:00:54.121000
ezust

please submit the perspective.xml next time it happens so we have an easy test case.