protegeproject / protege

Protege Desktop
http://protege.stanford.edu
Other
1.01k stars 232 forks source link

5 beta 15. After trying to search an entity in the search widget [top right] I have zero length error #134

Closed jgrzebyta closed 8 years ago

jgrzebyta commented 9 years ago

Zero length error:

rror 7 Logged at Fri Feb 27 11:54:42 GMT 2015
IllegalArgumentException: Zero length iterator passed to TextLayout constructor.
    java.awt.font.TextLayout.<init>(TextLayout.java:512)
    org.protege.editor.owl.ui.renderer.styledstring.TextLayoutCache.getTextLayout(TextLayoutCache.java:34)
    org.protege.editor.owl.ui.renderer.styledstring.StyledStringLayout.draw(StyledStringLayout.java:71)
    org.protege.editor.owl.ui.renderer.styledstring.StyledString.draw(StyledString.java:344)
    org.protege.editor.owl.ui.renderer.styledstring.StyledStringPanel.paintComponent(StyledStringPanel.java:58)
    javax.swing.JComponent.paint(JComponent.java:1046)
    javax.swing.CellRendererPane.paintComponent(CellRendererPane.java:151)
    javax.swing.plaf.basic.BasicTableUI.paintCell(BasicTableUI.java:2109)
    javax.swing.plaf.basic.BasicTableUI.paintCells(BasicTableUI.java:2010)
    javax.swing.plaf.basic.BasicTableUI.paint(BasicTableUI.java:1806)
    javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
    javax.swing.JComponent.paintComponent(JComponent.java:770)
    javax.swing.JComponent.paint(JComponent.java:1046)
    javax.swing.JComponent.paintChildren(JComponent.java:879)
    javax.swing.JComponent.paint(JComponent.java:1055)
    javax.swing.JViewport.paint(JViewport.java:731)
    javax.swing.JComponent.paintChildren(JComponent.java:879)
    javax.swing.JComponent.paint(JComponent.java:1055)
    javax.swing.JComponent.paintToOffscreen(JComponent.java:5212)
    javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:295)
    javax.swing.RepaintManager.paint(RepaintManager.java:1249)
    javax.swing.JComponent._paintImmediately(JComponent.java:5160)
    javax.swing.JComponent.paintImmediately(JComponent.java:4971)
    javax.swing.RepaintManager$3.run(RepaintManager.java:808)
    javax.swing.RepaintManager$3.run(RepaintManager.java:796)
    java.security.AccessController.doPrivileged(Native Method)
    java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:796)
    javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:769)
    javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:718)
    javax.swing.RepaintManager.access$1100(RepaintManager.java:62)
    javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1677)
    java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:312)
    java.awt.EventQueue.dispatchEventImpl(EventQueue.java:738)
    java.awt.EventQueue.access$300(EventQueue.java:103)
    java.awt.EventQueue$3.run(EventQueue.java:699)
    java.awt.EventQueue$3.run(EventQueue.java:697)
    java.security.AccessController.doPrivileged(Native Method)
    java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    java.awt.EventQueue.dispatchEvent(EventQueue.java:708)
    java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
    java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
    java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
    java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
    java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
matthewhorridge commented 9 years ago

I'm unable to reproduce this. Please can you provide us with any details about which options you have selected. Also, does this always happen for you or just with a certain ontology?

jgrzebyta commented 9 years ago

Hi,

I have tried to reproduce the ontology but sometimes I couldn't as well. Only rule I could find that I have the error if I put inter into the search box. It should be returned interaction node. I opened ontology from nsadawi/oip@935469ec236c4050525c82d4497b072de596d7b1. File iop.owl.

I attached full command line run.sh output.

Starting Protege Desktop (Version 5.0.0, Build = beta-15)
Platform:
    Java: JVM 1.7.0_75-b13 Memory: 466M
    Language: en, Country: GB
    Framework: Apache Software Foundation (1.5)
    OS: linux (3.16.0-31-generic)
    Processor: x86-64
Plugin: Cajun Visualization Library (1.0.2)
Plugin: Guava: Google Core Libraries for Java (17.0.0)
Plugin: DL Query (1.1.4)
Plugin: OWLViz (4.1.4)
Plugin: OWL Code Generation Plug-in (1.0.2)
Plugin: OWL Difference (4.1.1)
Plugin: Protege Editor OWL (5.0.0.beta-15)
Plugin: Protege SPARQL Plugin (1.0.0)
Plugin: Explanation Workbench (1.0.0)
Plugin: Protege HermiT Integration (1.0.0)
Plugin: OntoGraf (1.0.3)
Plugin: OWL Difference Engine (1.0.1)
Plugin: OWLAPI RDF Library (1.0.2)
Plugin: OWLAPI Distribution (3.5.0)
    Cajun Visualization Library Plugin has no plugin.xml resource
    Guava: Google Core Libraries for Java Plugin has no plugin.xml resource
    OWL Difference Engine Plugin has no plugin.xml resource
    OWLAPI RDF Library Plugin has no plugin.xml resource
    OWLAPI Distribution Plugin has no plugin.xml resource
Using OWL API version 3.5.0
Rebuilding entity indices...
... rebuilt in 3 ms
Setting active ontology to OntologyID(OntologyIRI(<http://www.semanticweb.org/ucbtgrz/ontologies/2015/2/untitled-ontology-67>))
Rebuilding entity indices...
... rebuilt in 0 ms
... active ontology changed
Cannot generate ontology catalog for ontology at http://www.semanticweb.org/ucbtgrz/ontologies/2015/2/untitled-ontology-67
Setting active ontology to OntologyID(OntologyIRI(<http://www.semanticweb.org/ucbtgrz/ontologies/2015/2/untitled-ontology-67>))
Rebuilding entity indices...
... rebuilt in 0 ms
... active ontology changed
Auto-update last performed: Fri Mar 06 10:41:49 GMT 2015
Auto-update has been run today.  Not running it again.
Using OWL API version 3.5.0
Rebuilding entity indices...
... rebuilt in 0 ms
Adding root folder: /cath/homes2/ucbtgrz/Documents/OIP/oip-article ...
    ...done
loading OntologyID(Anonymous-0) from file:/cath/homes2/ucbtgrz/Documents/OIP/oip-article/oip.owl
Setting active ontology to OntologyID(OntologyIRI(<http://oip.rothamsted.ac.uk/ontology/>))
Rebuilding entity indices...
... rebuilt in 1 ms
... active ontology changed
Setting active ontology to OntologyID(OntologyIRI(<http://oip.rothamsted.ac.uk/ontology/>))
Rebuilding entity indices...
... rebuilt in 0 ms
... active ontology changed
Rebuilding search metadata cache...
    ...rebuilt search metadata cache in 17 ms
Starting search 2 (pattern: \Qpubli\E)
    finished search 2 in 7 ms (6 results)
Starting search 4 (pattern: \Qho\E)
    finished search 4 in 2 ms (54 results)
Error logged
java.lang.IllegalArgumentException: Zero length iterator passed to TextLayout constructor.
    at java.awt.font.TextLayout.<init>(TextLayout.java:512)
    at org.protege.editor.owl.ui.renderer.styledstring.TextLayoutCache.getTextLayout(TextLayoutCache.java:34)
    at org.protege.editor.owl.ui.renderer.styledstring.StyledStringLayout.draw(StyledStringLayout.java:71)
    at org.protege.editor.owl.ui.renderer.styledstring.StyledString.draw(StyledString.java:344)
    at org.protege.editor.owl.ui.renderer.styledstring.StyledStringPanel.paintComponent(StyledStringPanel.java:58)
    at javax.swing.JComponent.paint(JComponent.java:1046)
    at javax.swing.CellRendererPane.paintComponent(CellRendererPane.java:151)
    at javax.swing.plaf.basic.BasicTableUI.paintCell(BasicTableUI.java:2109)
    at javax.swing.plaf.basic.BasicTableUI.paintCells(BasicTableUI.java:2010)
    at javax.swing.plaf.basic.BasicTableUI.paint(BasicTableUI.java:1806)
    at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
    at javax.swing.JComponent.paintComponent(JComponent.java:770)
    at javax.swing.JComponent.paint(JComponent.java:1046)
    at javax.swing.JComponent.paintChildren(JComponent.java:879)
    at javax.swing.JComponent.paint(JComponent.java:1055)
    at javax.swing.JViewport.paint(JViewport.java:731)
    at javax.swing.JComponent.paintChildren(JComponent.java:879)
    at javax.swing.JComponent.paint(JComponent.java:1055)
    at javax.swing.JComponent.paintChildren(JComponent.java:879)
    at javax.swing.JComponent.paint(JComponent.java:1055)
    at javax.swing.JComponent.paintChildren(JComponent.java:879)
    at javax.swing.JComponent.paint(JComponent.java:1055)
    at javax.swing.JComponent.paintChildren(JComponent.java:879)
    at javax.swing.JComponent.paint(JComponent.java:1055)
    at javax.swing.JComponent.paintChildren(JComponent.java:879)
    at javax.swing.JComponent.paint(JComponent.java:1055)
    at javax.swing.JLayeredPane.paint(JLayeredPane.java:585)
    at javax.swing.JComponent.paintChildren(JComponent.java:879)
    at javax.swing.JComponent.paintToOffscreen(JComponent.java:5219)
    at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:295)
    at javax.swing.RepaintManager.paint(RepaintManager.java:1249)
    at javax.swing.JComponent.paint(JComponent.java:1032)
    at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:39)
    at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:78)
    at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:115)
    at java.awt.Container.paint(Container.java:1967)
    at java.awt.Window.paint(Window.java:3877)
    at javax.swing.RepaintManager$3.run(RepaintManager.java:819)
    at javax.swing.RepaintManager$3.run(RepaintManager.java:796)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:796)
    at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:769)
    at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:718)
    at javax.swing.RepaintManager.access$1100(RepaintManager.java:62)
    at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1677)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:312)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:738)
    at java.awt.EventQueue.access$300(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:699)
    at java.awt.EventQueue$3.run(EventQueue.java:697)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:708)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Uncaught Exception in thread AWT-EventQueue-0
java.lang.IllegalArgumentException: Zero length iterator passed to TextLayout constructor.
    at java.awt.font.TextLayout.<init>(TextLayout.java:512)
    at org.protege.editor.owl.ui.renderer.styledstring.TextLayoutCache.getTextLayout(TextLayoutCache.java:34)
    at org.protege.editor.owl.ui.renderer.styledstring.StyledStringLayout.draw(StyledStringLayout.java:71)
    at org.protege.editor.owl.ui.renderer.styledstring.StyledString.draw(StyledString.java:344)
    at org.protege.editor.owl.ui.renderer.styledstring.StyledStringPanel.paintComponent(StyledStringPanel.java:58)
    at javax.swing.JComponent.paint(JComponent.java:1046)
    at javax.swing.CellRendererPane.paintComponent(CellRendererPane.java:151)
    at javax.swing.plaf.basic.BasicTableUI.paintCell(BasicTableUI.java:2109)
    at javax.swing.plaf.basic.BasicTableUI.paintCells(BasicTableUI.java:2010)
    at javax.swing.plaf.basic.BasicTableUI.paint(BasicTableUI.java:1806)
    at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
    at javax.swing.JComponent.paintComponent(JComponent.java:770)
    at javax.swing.JComponent.paint(JComponent.java:1046)
    at javax.swing.JComponent.paintChildren(JComponent.java:879)
    at javax.swing.JComponent.paint(JComponent.java:1055)
    at javax.swing.JViewport.paint(JViewport.java:731)
    at javax.swing.JComponent.paintChildren(JComponent.java:879)
    at javax.swing.JComponent.paint(JComponent.java:1055)
    at javax.swing.JComponent.paintChildren(JComponent.java:879)
    at javax.swing.JComponent.paint(JComponent.java:1055)
    at javax.swing.JComponent.paintChildren(JComponent.java:879)
    at javax.swing.JComponent.paint(JComponent.java:1055)
    at javax.swing.JComponent.paintChildren(JComponent.java:879)
    at javax.swing.JComponent.paint(JComponent.java:1055)
    at javax.swing.JComponent.paintChildren(JComponent.java:879)
    at javax.swing.JComponent.paint(JComponent.java:1055)
    at javax.swing.JLayeredPane.paint(JLayeredPane.java:585)
    at javax.swing.JComponent.paintChildren(JComponent.java:879)
    at javax.swing.JComponent.paintToOffscreen(JComponent.java:5219)
    at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:295)
    at javax.swing.RepaintManager.paint(RepaintManager.java:1249)
    at javax.swing.JComponent.paint(JComponent.java:1032)
    at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:39)
    at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:78)
    at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:115)
    at java.awt.Container.paint(Container.java:1967)
    at java.awt.Window.paint(Window.java:3877)
    at javax.swing.RepaintManager$3.run(RepaintManager.java:819)
    at javax.swing.RepaintManager$3.run(RepaintManager.java:796)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:796)
    at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:769)
    at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:718)
    at javax.swing.RepaintManager.access$1100(RepaintManager.java:62)
    at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1677)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:312)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:738)
    at java.awt.EventQueue.access$300(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:699)
    at java.awt.EventQueue$3.run(EventQueue.java:697)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:708)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Starting search 6 (pattern: \Qhost\E)
    finished search 6 in 2 ms (23 results)
matthewhorridge commented 9 years ago

Thanks a lot for the extra details. I've also had this issue reported to me by someone else.

JBPressac commented 9 years ago

Hello, I have the same problem (see screenshot below) with Build 5.0.0-beta-17 of Protégé on Windows 7 + Java Version 8 Update 45 while trying to edit this ontology from URL: http://erlangen-crm.org/efrbroo/ (File > Open from URL then paste http://erlangen-crm.org/efrbroo/). Thanks,

Error 24 Logged at Wed Jun 10 15:31:20 CEST 2015
IllegalArgumentException: Zero length iterator passed to TextLayout constructor.
    java.awt.font.TextLayout.<init>(TextLayout.java:513)
    org.protege.editor.owl.ui.renderer.styledstring.TextLayoutCache.getTextLayout(TextLayoutCache.java:34)
    org.protege.editor.owl.ui.renderer.styledstring.StyledStringLayout.draw(StyledStringLayout.java:71)
    org.protege.editor.owl.ui.renderer.styledstring.StyledString.draw(StyledString.java:344)
    org.protege.editor.owl.ui.renderer.styledstring.StyledStringPanel.paintComponent(StyledStringPanel.java:58)
    javax.swing.JComponent.paint(JComponent.java:1056)
    javax.swing.CellRendererPane.paintComponent(CellRendererPane.java:151)
    javax.swing.plaf.basic.BasicTableUI.paintCell(BasicTableUI.java:2115)
    javax.swing.plaf.basic.BasicTableUI.paintCells(BasicTableUI.java:2016)
    javax.swing.plaf.basic.BasicTableUI.paint(BasicTableUI.java:1812)
    javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
    javax.swing.JComponent.paintComponent(JComponent.java:780)
    javax.swing.JComponent.paint(JComponent.java:1056)
    javax.swing.JComponent.paintChildren(JComponent.java:889)
    javax.swing.JComponent.paint(JComponent.java:1065)
    javax.swing.JViewport.paint(JViewport.java:728)
    javax.swing.JComponent.paintChildren(JComponent.java:889)
    javax.swing.JComponent.paint(JComponent.java:1065)
    javax.swing.JComponent.paintToOffscreen(JComponent.java:5219)
    javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:290)
    javax.swing.RepaintManager.paint(RepaintManager.java:1265)
    javax.swing.JComponent._paintImmediately(JComponent.java:5167)
    javax.swing.JComponent.paintImmediately(JComponent.java:4978)
    javax.swing.RepaintManager$4.run(RepaintManager.java:824)
    javax.swing.RepaintManager$4.run(RepaintManager.java:807)
    java.security.AccessController.doPrivileged(Native Method)
    java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:807)
    javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:782)
    javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:731)
    javax.swing.RepaintManager.access$1300(RepaintManager.java:64)
    javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1720)
    java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    java.awt.EventQueue.dispatchEventImpl(EventQueue.java:749)
    java.awt.EventQueue.access$500(EventQueue.java:97)
    java.awt.EventQueue$3.run(EventQueue.java:702)
    java.awt.EventQueue$3.run(EventQueue.java:696)
    java.security.AccessController.doPrivileged(Native Method)
    java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    java.awt.EventQueue.dispatchEvent(EventQueue.java:719)
    java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
---------------------------------------------------------------------------------------------------

2015-06-08 14_04_52-efrbroo http___erlangen-crm org_efrbroo_ _ http___erlangen-crm org_efrbroo_

JBPressac commented 9 years ago

By the way, if I download the http://erlangen-crm.org/efrbroo/ ontology to my computer and then open the .rdf file in Protégé, I have got the following error:

Error 2 Logged at Wed Jun 10 16:19:47 CEST 2015
RuntimeException: java.lang.RuntimeException: org.semanticweb.owlapi.model.OWLOntologyRenameException: Could not rename ontology. An ontology with this ID already exists: OntologyID(OntologyIRI(<http://erlangen-crm.org/efrbroo/>))
    org.protege.owlapi.model.ProtegeOWLOntologyManager.callWithWriteLockUnchecked(ProtegeOWLOntologyManager.java:193)
    org.protege.owlapi.model.ProtegeOWLOntologyManager.applyChange(ProtegeOWLOntologyManager.java:137)
    org.coode.owlapi.rdfxml.parser.OWLRDFConsumer.applyChange(OWLRDFConsumer.java:1159)
    org.coode.owlapi.rdfxml.parser.TypeOntologyHandler.handleTriple(TypeOntologyHandler.java:71)
    org.coode.owlapi.rdfxml.parser.OWLRDFConsumer.handleStreaming(OWLRDFConsumer.java:2299)
    org.coode.owlapi.rdfxml.parser.OWLRDFConsumer.statementWithResourceValue(OWLRDFConsumer.java:2274)
    org.semanticweb.owlapi.rdf.syntax.RDFParser.statementWithResourceValue(RDFParser.java:574)
    org.semanticweb.owlapi.rdf.syntax.RDFParser$NodeElement.startElement(RDFParser.java:905)
    org.semanticweb.owlapi.rdf.syntax.RDFParser$NodeElementList.startElement(RDFParser.java:841)
    org.semanticweb.owlapi.rdf.syntax.RDFParser.startElement(RDFParser.java:239)
    org.coode.owlapi.rdfxml.parser.RDFXMLParser$1.startElement(RDFXMLParser.java:93)
    com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:509)
    com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:379)
    com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2786)
    com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
    com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:117)
    com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
    com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)
    com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
    com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
    com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
    com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:649)
    com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:333)
    org.semanticweb.owlapi.rdf.syntax.RDFParser.parse(RDFParser.java:163)
    org.coode.owlapi.rdfxml.parser.RDFXMLParser.parse(RDFXMLParser.java:124)
    uk.ac.manchester.cs.owl.owlapi.ParsableOWLOntologyFactory.loadOWLOntology(ParsableOWLOntologyFactory.java:212)
    uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntology(OWLOntologyManagerImpl.java:867)
    uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntologyFromOntologyDocument(OWLOntologyManagerImpl.java:796)
    org.protege.editor.owl.model.OWLModelManagerImpl.loadOntologyFromPhysicalURI(OWLModelManagerImpl.java:299)
    org.protege.editor.owl.OWLEditorKit.handleLoadFrom(OWLEditorKit.java:207)
    org.protege.editor.owl.OWLEditorKit.handleLoadRequest(OWLEditorKit.java:201)
    org.protege.editor.core.ui.action.OpenAction.openInCurrentWorkspace(OpenAction.java:65)
    org.protege.editor.core.ui.util.UIUtil.openRequest(UIUtil.java:227)
    org.protege.editor.core.ui.action.OpenAction.actionPerformed(OpenAction.java:33)
    javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
    javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346)
    javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
    javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    javax.swing.AbstractButton.doClick(AbstractButton.java:376)
    javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833)
    javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877)
    java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
    java.awt.Component.processMouseEvent(Component.java:6525)
    javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
    java.awt.Component.processEvent(Component.java:6290)
    java.awt.Container.processEvent(Container.java:2234)
    java.awt.Component.dispatchEventImpl(Component.java:4881)
    java.awt.Container.dispatchEventImpl(Container.java:2292)
    java.awt.Component.dispatchEvent(Component.java:4703)
    java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
    java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)
    java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
    java.awt.Container.dispatchEventImpl(Container.java:2278)
    java.awt.Window.dispatchEventImpl(Window.java:2750)
    java.awt.Component.dispatchEvent(Component.java:4703)
    java.awt.EventQueue.dispatchEventImpl(EventQueue.java:751)
    java.awt.EventQueue.access$500(EventQueue.java:97)
    java.awt.EventQueue$3.run(EventQueue.java:702)
    java.awt.EventQueue$3.run(EventQueue.java:696)
    java.security.AccessController.doPrivileged(Native Method)
    java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
    java.awt.EventQueue$4.run(EventQueue.java:724)
    java.awt.EventQueue$4.run(EventQueue.java:722)
    java.security.AccessController.doPrivileged(Native Method)
    java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    java.awt.EventQueue.dispatchEvent(EventQueue.java:721)
    java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
---------------------------------------------------------------------------------------------------
cuboideum commented 9 years ago

With my installation, the 'Zero length iterator passed to TextLayout constructor' occurs frequently, though I cannot make out a regular pattern that would explain the behaviour. It occurs with all ontologies I am working with and with various search terms, though other terms work fine. It can be reproduced on the same search terms and ontologies, however. Searching for 'input' in the OBI, for instance, always results in the error when typing the third letter.

protégé Version: 5.0.0 (Build beta-17) OS: Ubuntu 14.04, 64 Bit RAM: 15.6 GiB Processor: Intel® Core™ i7-3770K CPU @ 3.50GHz × 8

Error output for the cited example:

Error 50 Logged at Fri Oct 09 13:30:10 CEST 2015 IllegalArgumentException: Zero length iterator passed to TextLayout constructor. java.awt.font.TextLayout.(TextLayout.java:513) org.protege.editor.owl.ui.renderer.styledstring.TextLayoutCache.getTextLayout(TextLayoutCache.java:34) org.protege.editor.owl.ui.renderer.styledstring.StyledStringLayout.draw(StyledStringLayout.java:71) org.protege.editor.owl.ui.renderer.styledstring.StyledString.draw(StyledString.java:344) org.protege.editor.owl.ui.renderer.styledstring.StyledStringPanel.paintComponent(StyledStringPanel.java:58) javax.swing.JComponent.paint(JComponent.java:1056) javax.swing.CellRendererPane.paintComponent(CellRendererPane.java:151) javax.swing.plaf.basic.BasicTableUI.paintCell(BasicTableUI.java:2115) javax.swing.plaf.basic.BasicTableUI.paintCells(BasicTableUI.java:2016) javax.swing.plaf.basic.BasicTableUI.paint(BasicTableUI.java:1812) javax.swing.plaf.ComponentUI.update(ComponentUI.java:161) javax.swing.JComponent.paintComponent(JComponent.java:780) javax.swing.JComponent.paint(JComponent.java:1056) javax.swing.JComponent.paintChildren(JComponent.java:889) javax.swing.JComponent.paint(JComponent.java:1065) javax.swing.JViewport.paint(JViewport.java:728) javax.swing.JComponent.paintChildren(JComponent.java:889) javax.swing.JComponent.paint(JComponent.java:1065) javax.swing.JComponent.paintToOffscreen(JComponent.java:5219) javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:290) javax.swing.RepaintManager.paint(RepaintManager.java:1265) javax.swing.JComponent._paintImmediately(JComponent.java:5167) javax.swing.JComponent.paintImmediately(JComponent.java:4978) javax.swing.RepaintManager$4.run(RepaintManager.java:824) javax.swing.RepaintManager$4.run(RepaintManager.java:807) java.security.AccessController.doPrivileged(Native Method) java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:807) javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:782) javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:731) javax.swing.RepaintManager.access$1300(RepaintManager.java:64) javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1720) java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) java.awt.EventQueue.dispatchEventImpl(EventQueue.java:749) java.awt.EventQueue.access$500(EventQueue.java:97) java.awt.EventQueue$3.run(EventQueue.java:702) java.awt.EventQueue$3.run(EventQueue.java:696) java.security.AccessController.doPrivileged(Native Method) java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) java.awt.EventQueue.dispatchEvent(EventQueue.java:719) java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Thanks for looking into this.

Davker commented 8 years ago

Any solution to this? I get the error in Protege 5.0.0 Beta 17.

matthewhorridge commented 8 years ago

@Davker can you reliably reproduce this?

@cuboideum FYI I cannot reproduce this with your test case on OBI. However, I'm putting a guard in for the condition that should cause the exception.

matthewhorridge commented 8 years ago

o.k. @cuboideum I can reproduce it now. I have to scroll down the list of results to trigger it. Thanks!