not repeatable OutOfMemory error with 13 KiB line

7 views
Skip to first unread message

Martin Dorey

unread,
Jun 24, 2020, 2:29:05 PM6/24/20
to terminator-users
2020-06-03T15:28:27.76-0700 Terminator: Java 1.8.0_252 (VM 25.252-b09, runtime 1.8.0_252-8u252-b09-1~deb9u1-b09)
2020-06-03T15:28:27.77-0700 Terminator: Linux 4.9.0-12-amd64/amd64 x12
2020-06-03T15:28:27.77-0700 Terminator: Package 28.224.7392
2020-06-03T15:28:27.77-0700 Terminator: Revision 7392 (7392)
2020-06-03T15:28:27.77-0700 Terminator: Built 2020-04-02T19:50:16-07:00

Bit old - doesn't have Phil's recent changes, but I don't think they would affect Terminator, right?

There was quite some stickage when I first opened a window today.  Getting swapped out overnight is probably normal.

2020-06-23T19:18:46.379-0700 Terminator: waitFor returned on PtyProcess[pid=23040,fd=-1,pty="/dev/pts/2",didExitNormally,exitValue=62]
2020-06-24T09:26:15.493-0700 Terminator: (hang #419) event dispatch thread stuck processing event for 1.29s so far:
    java.io.File.createTempFile(File.java:2000)
    terminator.TerminalLogWriter.initLogging(TerminalLogWriter.java:69)
    terminator.TerminalLogWriter.<init>(TerminalLogWriter.java:43)
    terminator.terminal.TerminalControl.initProcess(TerminalControl.java:92)
    terminator.view.JTerminalPane.init(JTerminalPane.java:173)
    terminator.view.JTerminalPane.<init>(JTerminalPane.java:40)
    terminator.view.JTerminalPane.newShellWithName(JTerminalPane.java:88)
    terminator.view.JTerminalPane.newShell(JTerminalPane.java:77)
    terminator.TerminatorMenuBar$NewShellAction.actionPerformed(TerminatorMenuBar.java:279)
    javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
    javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
    javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
    javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    javax.swing.AbstractButton.doClick(AbstractButton.java:376)
    javax.swing.AbstractButton.doClick(AbstractButton.java:356)
    javax.swing.plaf.basic.BasicMenuItemUI$Actions.actionPerformed(BasicMenuItemUI.java:811)
    javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1668)
    javax.swing.JComponent.processKeyBinding(JComponent.java:2882)
    javax.swing.JMenuBar.processBindingForKeyStrokeRecursive(JMenuBar.java:699)
    javax.swing.JMenuBar.processBindingForKeyStrokeRecursive(JMenuBar.java:706)
    javax.swing.JMenuBar.processBindingForKeyStrokeRecursive(JMenuBar.java:706)
    javax.swing.JMenuBar.processKeyBinding(JMenuBar.java:677)
    e.gui.EMenuBar.processKeyBinding(EMenuBar.java:49)
    javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:307)
    javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:293)
    javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:2974)
    javax.swing.JComponent.processKeyBindings(JComponent.java:2966)
    javax.swing.JComponent.processKeyEvent(JComponent.java:2845)
    java.awt.Component.processEvent(Component.java:6316)
    java.awt.Container.processEvent(Container.java:2239)
    java.awt.Component.dispatchEventImpl(Component.java:4889)
    java.awt.Container.dispatchEventImpl(Container.java:2297)
    java.awt.Component.dispatchEvent(Component.java:4711)
    java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1954)
    java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:834)
    java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1102)
    java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:973)
    java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:799)
    java.awt.Component.dispatchEventImpl(Component.java:4760)
    java.awt.Container.dispatchEventImpl(Container.java:2297)
    java.awt.Window.dispatchEventImpl(Window.java:2746)
    java.awt.Component.dispatchEvent(Component.java:4711)
    java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
    java.awt.EventQueue.access$500(EventQueue.java:97)
    java.awt.EventQueue$3.run(EventQueue.java:709)
    java.awt.EventQueue$3.run(EventQueue.java:703)
    java.security.AccessController.doPrivileged(Native Method)
    java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
    java.awt.EventQueue$4.run(EventQueue.java:733)
    java.awt.EventQueue$4.run(EventQueue.java:731)
    java.security.AccessController.doPrivileged(Native Method)
    java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
    e.debug.EventDispatchThreadHangMonitor.dispatchEvent(EventDispatchThreadHangMonitor.java:193)
    java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
    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)
2020-06-24T09:26:15.769-0700 Terminator: (hang #420) event dispatch thread stuck processing event for 1.74s so far:

I guess the incident really started at 09:35 local, with the line too wide:

2020-06-24T09:27:13.480-0700 Terminator: (hang #447) event dispatch thread unstuck after 49.69s.
2020-06-24T09:35:46.515-0700 Terminator: Line too wide in terminal; chopping input
2020-06-24T09:36:23.47-0700 Terminator: (hang #448) event dispatch thread stuck processing event for 5.29s so far:
    java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:263)
    javax.accessibility.AccessibleContext.firePropertyChange(AccessibleContext.java:768)
    javax.swing.JScrollPane$AccessibleJScrollPane.stateChanged(JScrollPane.java:1506)
    javax.swing.JViewport.fireStateChanged(JViewport.java:1369)
    javax.swing.JViewport.setViewPosition(JViewport.java:1125)
    javax.swing.plaf.basic.BasicScrollPaneUI$Handler.vsbStateChanged(BasicScrollPaneUI.java:1055)
    javax.swing.plaf.basic.BasicScrollPaneUI$Handler.stateChanged(BasicScrollPaneUI.java:1044)
    javax.swing.DefaultBoundedRangeModel.fireStateChanged(DefaultBoundedRangeModel.java:364)
    javax.swing.DefaultBoundedRangeModel.setRangeProperties(DefaultBoundedRangeModel.java:302)
    javax.swing.DefaultBoundedRangeModel.setValue(DefaultBoundedRangeModel.java:168)
    e.util.GuiUtilities$2.scrollToBottom(GuiUtilities.java:554)
    e.util.GuiUtilities$2.stateChanged(GuiUtilities.java:542)
    javax.swing.DefaultBoundedRangeModel.fireStateChanged(DefaultBoundedRangeModel.java:364)
    javax.swing.DefaultBoundedRangeModel.setRangeProperties(DefaultBoundedRangeModel.java:302)
    javax.swing.JScrollBar.setValues(JScrollBar.java:623)
    javax.swing.plaf.basic.BasicScrollPaneUI.syncScrollPaneWithViewport(BasicScrollPaneUI.java:285)
    javax.swing.plaf.basic.BasicScrollPaneUI$Handler.stateChanged(BasicScrollPaneUI.java:1034)
    javax.swing.JViewport.fireStateChanged(JViewport.java:1369)
    javax.swing.JViewport$ViewListener.componentResized(JViewport.java:1288)
    java.awt.AWTEventMulticaster.componentResized(AWTEventMulticaster.java:160)
    java.awt.Component.processComponentEvent(Component.java:6365)
    java.awt.Component.processEvent(Component.java:6319)
    java.awt.Container.processEvent(Container.java:2239)
    java.awt.Component.dispatchEventImpl(Component.java:4889)
    java.awt.Container.dispatchEventImpl(Container.java:2297)
    java.awt.Component.dispatchEvent(Component.java:4711)
    java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
    java.awt.EventQueue.access$500(EventQueue.java:97)
    java.awt.EventQueue$3.run(EventQueue.java:709)
    java.awt.EventQueue$3.run(EventQueue.java:703)
    java.security.AccessController.doPrivileged(Native Method)
    java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
    java.awt.EventQueue$4.run(EventQueue.java:733)
    java.awt.EventQueue$4.run(EventQueue.java:731)
    java.security.AccessController.doPrivileged(Native Method)
    java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
    e.debug.EventDispatchThreadHangMonitor.dispatchEvent(EventDispatchThreadHangMonitor.java:193)
    java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
    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)
2020-06-24T09:36:25.381-0700 Terminator: (hang #449) event dispatch thread stuck processing event for 8.52s so far:
    e.debug.EventDispatchThreadHangMonitor.postDispatchEvent(EventDispatchThreadHangMonitor.java:233)
    e.debug.EventDispatchThreadHangMonitor.dispatchEvent(EventDispatchThreadHangMonitor.java:199)
    java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
    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)
2020-06-24T09:36:25.843-0700 Terminator: (hang #449) event dispatch thread unstuck after 8.98s.

By three minutes later it had become a zombie - using up all the memory it could and all the CPU but wasn't going to come back from this:

2020-06-24T09:38:28.391-0700 Terminator: (hang #471) event dispatch thread stuck processing event for 8.27s so far:
    e.debug.EventDispatchThreadHangMonitor.dispatchEvent(EventDispatchThreadHangMonitor.java:196)
    java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
    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)
Associated exception:
java.lang.OutOfMemoryError: Java heap space
at java.awt.image.DataBufferInt.<init>(DataBufferInt.java:75)
at com.sun.java.swing.plaf.gtk.GTKEngine.finishPainting(GTKEngine.java:599)
at com.sun.java.swing.plaf.gtk.GTKEngine.finishPainting(GTKEngine.java:590)
at com.sun.java.swing.plaf.gtk.GTKPainter.paintTabbedPaneContentBackground(GTKPainter.java:990)
at javax.swing.plaf.synth.SynthTabbedPaneUI.paintContentBorder(SynthTabbedPaneUI.java:731)
at javax.swing.plaf.synth.SynthTabbedPaneUI.paint(SynthTabbedPaneUI.java:486)
at javax.swing.plaf.synth.SynthTabbedPaneUI.update(SynthTabbedPaneUI.java:376)
at javax.swing.JComponent.paintComponent(JComponent.java:780)
at javax.swing.JComponent.paint(JComponent.java:1056)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:586)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5210)
at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:290)
at javax.swing.RepaintManager.paint(RepaintManager.java:1272)
at javax.swing.JComponent._paintImmediately(JComponent.java:5158)
at javax.swing.JComponent.paintImmediately(JComponent.java:4969)
at javax.swing.RepaintManager$4.run(RepaintManager.java:831)
at javax.swing.RepaintManager$4.run(RepaintManager.java:814)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:789)
at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:738)
at javax.swing.RepaintManager.access$1200(RepaintManager.java:64)
at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1732)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
2020-06-24T09:38:28.392-0700 Terminator: (hang #471) event dispatch thread unstuck after 8.27s.

I actually lost control of the whole machine, but I'm blaming that on keyboard and possibly pointer grab issues with gnome-shell.  By the time I got access back, everything seemed to have calmed down, but this instance of Terminator needed SIGKILL to finish it off, because it clearly wasn't any use:

2020-06-24T09:50:45.840-0700 Terminator: Problem processing output from PtyProcess[pid=2048,fd=26,pty="/dev/pts/2"]
Associated exception:
2020-06-24T09:50:45.840-0700 Terminator: (hang #505) event dispatch thread unstuck after 43.21s.
java.lang.OutOfMemoryError: Java heap space
2020-06-24T09:51:37.493-0700 Terminator: Couldn't flush terminal actions for PtyProcess[pid=2048,fd=26,pty="/dev/pts/2"]
Associated exception:
java.lang.OutOfMemoryError: Java heap space
2020-06-24T09:52:07.648-0700 Terminator: Problem processing output from PtyProcess[pid=2048,fd=26,pty="/dev/pts/2"]
Associated exception:
java.lang.OutOfMemoryError: Java heap space
2020-06-24T09:52:30.573-0700 Terminator: Problem reading output from PtyProcess[pid=2048,fd=26,pty="/dev/pts/2"]
Associated exception:
java.lang.OutOfMemoryError: Java heap space
2020-06-24T09:52:39.883-0700 Terminator: calling waitFor on PtyProcess[pid=2048,fd=26,pty="/dev/pts/2"]
2020-06-24T09:52:42.316-0700 Terminator: waitFor returned on PtyProcess[pid=2048,fd=-1,pty="/dev/pts/2",wasSignaled,signal=1]
2020-06-24T09:53:13.901-0700 Terminator: Uncaught exception during event dispatching
Associated exception:
java.lang.OutOfMemoryError: Java heap space
2020-06-24T10:06:38.502-0700 Terminator: Uncaught exception during event dispatching
Associated exception:
java.lang.OutOfMemoryError: Java heap space
2020-06-24T11:03:54.362-0700 Terminator: Created PtyProcess[pid=11932,fd=26,pty="/dev/pts/1"] and logging to /home/martind/.terminator/logs/2020-06-24T110352.699-0700-%2Fbin%2Fbash.txt
martind@sirius:~/tmp/D143927/extracted-BUG_143927_HNAS4100-Prot_diagnostic.bundle_2020-06-24_1547+0100.zip/extracted-HN
AS4100-Prot_diagnostics_2020-06-24_1551+0100.tgz$ 

The file I was looking at had a maximum line length of less than 13 KiB:

martind@sirius:~/tmp/D143927/extracted-BUG_143927_HNAS4100-Prot_diagnostic.bundle_2020-0624_1547+0100.zip/extracted-HNAS4100-Prot_diagnostics_2020-06-24_1551+0100.tgz$ cat HNAS4100-Prot-current_dblog.txt.1 | wc -L
12660
martind@sirius:~/tmp/D143927/extracted-BUG_143927_HNAS4100-Prot_diagnostic.bundle_2020-06-_1547+0100.zip/extracted-HNAS4100-Prot_diagnostics_2020-06-24_1551+0100.tgz$ 

I've cat the file into the successor Terminator without it batting an eyelid.  Well, I didn't look at the log, but it was snappy quick and seemed happy.  As you see from one of the above extracts, there was nothing in the log between my downing tools last night and picking them up again this morning.

Humph.

Phil Norman

unread,
Jun 25, 2020, 3:19:22 PM6/25/20
to terminat...@googlegroups.com
Hi.

No, my recent changes were all evergreen-specific.

The handling of line appending in terminator is a bit rubbish. Lots of object creation and destruction. I've wanted to improve it for a decade or so, but still haven't got around to it. I don't know if it's that, though. I don't really see why it wouldn't be reproducible, unless the difference between your two attempts is that the first was slower, so resulted in many more, smaller appendages. That's the only potential explanation I can think off the top of my head, anyway.

But maybe it was just a stray neutrino.

Cheers,
Phil



--
You received this message because you are subscribed to the Google Groups "terminator-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to terminator-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/terminator-users/CABZkMPvcpt0j5XPaqvo2w6Cb-xtJfs9qM8aSsMRZtERv8k8reQ%40mail.gmail.com.
Reply all
Reply to author
Forward
0 new messages