JetBrains / ideolog

Interactive viewer for '.log' files.
MIT License
254 stars 55 forks source link

Empty log files _corrupts_ the user interface #78

Closed mfilippov closed 4 years ago

mfilippov commented 4 years ago

https://youtrack.jetbrains.com/issue/IDEA-227749

bric3 commented 4 years ago

What steps will reproduce the issue?

  1. Open any log file xxx.log (from the project pane)

What is the expected result? Open the file editor as usual.

What happens instead? The editor does not open. The UI is unresponsive at the exception of some elements, editor tab drawing is corrupt.

2019-11-27 16:25:29,522 [10990992]  ERROR - llij.ide.plugins.PluginManager - IntelliJ IDEA 2019.3  Build #IU-193.5233.57 
2019-11-27 16:25:29,522 [10990992]  ERROR - llij.ide.plugins.PluginManager - JDK: 11.0.4; VM: OpenJDK 64-Bit Server VM; Vendor: JetBrains s.r.o 
2019-11-27 16:25:29,522 [10990992]  ERROR - llij.ide.plugins.PluginManager - OS: Mac OS X 
2019-11-27 16:25:29,522 [10990992]  ERROR - llij.ide.plugins.PluginManager - Plugin to blame: Ideolog version: 193.0.15.0 
2019-11-27 16:25:29,522 [10990992]  ERROR - llij.ide.plugins.PluginManager - Last Action: ActivateProjectToolWindow 
2019-11-27 16:25:29,854 [10991324]  ERROR - llij.ide.plugins.PluginManager - null 
java.lang.NullPointerException
    at com.intellij.ideolog.highlighting.LogHighlightingIterator.<init>(LogHighlightingIterator.kt:31)
    at com.intellij.ideolog.highlighting.LogEditorHighlighter.createIterator(LogFileHighlighterFactory.kt:45)
    at com.intellij.openapi.editor.impl.view.EditorPainter$Session.paintBorderEffect(EditorPainter.java:803)
    at com.intellij.openapi.editor.impl.view.EditorPainter$Session.paint(EditorPainter.java:178)
    at com.intellij.openapi.editor.impl.view.EditorPainter$Session.access$100(EditorPainter.java:102)
    at com.intellij.openapi.editor.impl.view.EditorPainter.paint(EditorPainter.java:70)
    at com.intellij.openapi.editor.impl.view.EditorView.paint(EditorView.java:266)
    at com.intellij.openapi.editor.impl.EditorImpl.paint(EditorImpl.java:1889)
    at com.intellij.openapi.editor.impl.EditorComponentImpl.paintComponent(EditorComponentImpl.java:239)
    at java.desktop/javax.swing.JComponent.paint(JComponent.java:1074)
    at com.intellij.openapi.editor.impl.EditorComponentImpl.paint(EditorComponentImpl.java:119)
    at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:907)
    at java.desktop/javax.swing.JComponent.paint(JComponent.java:1083)
    at java.desktop/javax.swing.JViewport.paint(JViewport.java:737)
    at com.intellij.ui.components.JBViewport.paint(JBViewport.java:234)
    at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:907)
    at java.desktop/javax.swing.JComponent.paint(JComponent.java:1083)
    at java.desktop/javax.swing.JComponent.paintToOffscreen(JComponent.java:5255)
    at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBufferedImpl(RepaintManager.java:1654)
    at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1629)
    at java.desktop/javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1566)
    at java.desktop/javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:262)
    at java.desktop/javax.swing.RepaintManager.paint(RepaintManager.java:1333)
    at java.desktop/javax.swing.JComponent._paintImmediately(JComponent.java:5203)
    at java.desktop/javax.swing.JComponent.paintImmediately(JComponent.java:5013)
    at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:868)
    at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:851)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
    at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:851)
    at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:826)
    at java.desktop/javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:775)
    at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1901)
    at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:746)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:906)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:779)
    at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:422)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:698)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:421)
    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)
mfilippov commented 4 years ago

@bric3 We fixed it in master I plan to release new version of plugin on this week.

mfilippov commented 4 years ago

fixed in xxx.0.16.0