Migrate from GitHub to SourceForge with this tool. Check out all of SourceForge's recent improvements.
Close

#107 exception: didDocRemoveAfterTrackPosition

closed-fixed
nobody
None
5
2014-08-26
2009-12-28
Kees Kuip
No

I have a stacktrace when running netbeans 6.8.
By the way I get a lot of stacktraces (I will post them from now on if you want me to).
For the first time i'm using the gui-builder of netbeans and since then I get the stacktraces.

Here is the stacktrace:

java.lang.IllegalStateException
at com.raelity.jvi.ViManager.dumpStack(ViManager.java:1000)
at com.raelity.jvi.swing.DefaultBuffer$Mark.setMark(DefaultBuffer.java:384)
at com.raelity.jvi.Edit.stop_insert(Edit.java:1207)
at com.raelity.jvi.Edit.ins_esc(Edit.java:1720)
at com.raelity.jvi.Edit.edit(Edit.java:558)
at com.raelity.jvi.Normal.processInputChar(Normal.java:139)
at com.raelity.jvi.GetChar.gotc(GetChar.java:75)
at com.raelity.jvi.ViManager.keyStroke(ViManager.java:709)
at com.raelity.jvi.swing.DefaultViFactory$EnqueKeyAction.actionPerformed(DefaultViFactory.java:601)
at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1633)
at javax.swing.JComponent.processKeyBinding(JComponent.java:2839)
at javax.swing.JComponent.processKeyBindings(JComponent.java:2874)
at javax.swing.JComponent.processKeyEvent(JComponent.java:2802)
at java.awt.Component.processEvent(Component.java:6040)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1850)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:712)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:990)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:855)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:676)
at java.awt.Component.dispatchEventImpl(Component.java:4502)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Window.dispatchEventImpl(Window.java:2475)
at java.awt.Component.dispatchEvent(Component.java:4460)
[catch] at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:125)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

Discussion

  • Ernie Rael

    Ernie Rael - 2009-12-28

    Thanks. Adding unique stacktraces to this bug can help. Of course instructions for reproducing improve the odds of fixing something.

    BTW, when "ViManager.dumpStack" is at the top, this means that jVi detected an unexpected condition. No exception is actually thrown.

     
  • Kees Kuip

    Kees Kuip - 2009-12-28

    I tried to reproduce it and got lots of dumpStacks.
    I think I was using the Undo/Redo functionality.
    Now I see you published a patch for this redo/undo.
    I try that one first.

     
  • Kees Kuip

    Kees Kuip - 2009-12-28

    I tried with the patch but the dumpstacks are still there.
    Just by undo a few times and redo a few times I get this dump.

    Here is what you can do to reproduce it (I hope):
    - Edit some java class. (Doesn't matter which file)
    - Let the class implements MouseListener (I type "implements MouseListener")
    (MouseListener is just an example. I think it can be done with every interface)
    - Fix the imports
    - A lightbulb appears. execute action "Implement all abstract methods"
    - Now undo.
    - Now I get the first stacktrace.
    - Now repeat "undo, undo, undo, redo, redo, redo" multiple times fast. I get the second stacktrace.

    First stackTrace:
    java.lang.StringIndexOutOfBoundsException: String index out of range: -644
    at java.lang.String.substring(String.java:1931)
    at java.lang.String.substring(String.java:1904)
    at com.raelity.jvi.GetChar$MagicRedo.didDocRemoveAfterTrackPosition(GetChar.java:847)
    at com.raelity.jvi.GetChar$MagicRedo.docRemove(GetChar.java:785)
    at com.raelity.jvi.GetChar.docRemove(GetChar.java:401)
    at com.raelity.jvi.Buffer.docRemove(Buffer.java:285)
    at com.raelity.jvi.swing.DefaultBuffer.access$1100(DefaultBuffer.java:41)
    at com.raelity.jvi.swing.DefaultBuffer$DocListen.removeUpdate(DefaultBuffer.java:733)
    at org.netbeans.lib.editor.util.swing.PriorityDocumentListenerList.removeUpdate(PriorityDocumentListenerList.java:99)
    at javax.swing.text.AbstractDocument.fireRemoveUpdate(AbstractDocument.java:243)
    at org.netbeans.editor.BaseDocument.fireRemoveUpdate(BaseDocument.java:1626)
    at org.netbeans.editor.BaseDocumentEvent.undo(BaseDocumentEvent.java:312)
    at org.netbeans.editor.GuardedDocumentEvent.undo(GuardedDocumentEvent.java:69)
    at javax.swing.undo.CompoundEdit.undo(CompoundEdit.java:46)
    at org.netbeans.editor.BaseDocument$AtomicCompoundEdit.undo(BaseDocument.java:2181)
    at javax.swing.undo.CompoundEdit.undo(CompoundEdit.java:46)
    at org.openide.text.CloneableEditorSupport$FilterUndoableEdit.undo(CloneableEditorSupport.java:2984)
    at org.openide.text.CloneableEditorSupport$BeforeModificationEdit.undo(CloneableEditorSupport.java:3144)
    at javax.swing.undo.UndoManager.undoTo(UndoManager.java:320)
    at javax.swing.undo.UndoManager.undo(UndoManager.java:398)
    at org.openide.awt.UndoRedo$UndoGroupManager.undo(UndoRedo.java:428)
    at org.openide.text.CloneableEditorSupport$CESUndoRedoManager.access$3201(CloneableEditorSupport.java:3177)
    at org.openide.text.CloneableEditorSupport$CESUndoRedoManager$RenderUndo.run(CloneableEditorSupport.java:3340)
    at org.netbeans.editor.GuardedDocument.runAtomic(GuardedDocument.java:327)
    at org.openide.text.CloneableEditorSupport$CESUndoRedoManager$RenderUndo.<init>(CloneableEditorSupport.java:3320)
    at org.openide.text.CloneableEditorSupport$CESUndoRedoManager$RenderUndo.<init>(CloneableEditorSupport.java:3312)
    at org.openide.text.CloneableEditorSupport$CESUndoRedoManager.undo(CloneableEditorSupport.java:3210)
    at org.openide.actions.UndoAction.performAction(UndoAction.java:177)
    at org.openide.util.actions.CallableSystemAction$1.run(CallableSystemAction.java:127)
    at org.netbeans.modules.openide.util.ActionsBridge.implPerformAction(ActionsBridge.java:83)
    at org.netbeans.modules.openide.util.ActionsBridge.doPerformAction(ActionsBridge.java:64)
    at org.openide.util.actions.CallableSystemAction.actionPerformed(CallableSystemAction.java:123)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
    at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:273)
    at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
    at java.awt.Component.processMouseEvent(Component.java:6263)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3255)
    at java.awt.Component.processEvent(Component.java:6028)
    at java.awt.Container.processEvent(Container.java:2041)
    at java.awt.Component.dispatchEventImpl(Component.java:4630)
    at java.awt.Container.dispatchEventImpl(Container.java:2099)
    at java.awt.Component.dispatchEvent(Component.java:4460)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
    at java.awt.Container.dispatchEventImpl(Container.java:2085)
    at java.awt.Window.dispatchEventImpl(Window.java:2475)
    at java.awt.Component.dispatchEvent(Component.java:4460)
    [catch] at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
    at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:125)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

    Second stacktrace:
    java.lang.IllegalStateException
    at com.raelity.jvi.ViManager.dumpStack(ViManager.java:1000)
    at com.raelity.jvi.swing.DefaultBuffer$Mark.setMark(DefaultBuffer.java:384)
    at com.raelity.jvi.MarkOps.setpcmark(MarkOps.java:113)
    at com.raelity.jvi.Window.cursorMoveDetected(Window.java:174)
    at com.raelity.jvi.swing.TextView.access$100(TextView.java:74)
    at com.raelity.jvi.swing.TextView$1.caretUpdate(TextView.java:103)
    at javax.swing.text.JTextComponent.fireCaretUpdate(JTextComponent.java:391)
    at javax.swing.text.JTextComponent$MutableCaretEvent.fire(JTextComponent.java:4387)
    at javax.swing.text.JTextComponent$MutableCaretEvent.stateChanged(JTextComponent.java:4409)
    [catch] at org.netbeans.editor.BaseCaret$4.run(BaseCaret.java:779)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
    at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:125)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

     
  • Kees Kuip

    Kees Kuip - 2009-12-28

    Another stacktrace.

    What did I do?:
    - I'm designing a user interface with the gui-builder.
    - I have a JList.
    - I want to change the cellRenderer.
    - I click in the properties on 'cellRenderer'
    - I choose <Custom Code> from the dropdown box.
    - I edit the textField (By the way: I seems i'm editing the textField with jvi!. Is this a clue?)
    - I click OK.
    - I get the stackTrace:

    java.lang.StringIndexOutOfBoundsException: String index out of range: -660
    at java.lang.String.substring(String.java:1931)
    at java.lang.String.substring(String.java:1904)
    at com.raelity.jvi.GetChar$MagicRedo.didDocRemoveAfterTrackPosition(GetChar.java:847)
    at com.raelity.jvi.GetChar$MagicRedo.docRemove(GetChar.java:785)
    at com.raelity.jvi.GetChar.docRemove(GetChar.java:401)
    at com.raelity.jvi.Buffer.docRemove(Buffer.java:285)
    at com.raelity.jvi.swing.DefaultBuffer.access$1100(DefaultBuffer.java:41)
    at com.raelity.jvi.swing.DefaultBuffer$DocListen.removeUpdate(DefaultBuffer.java:733)
    at org.netbeans.lib.editor.util.swing.PriorityDocumentListenerList.removeUpdate(PriorityDocumentListenerList.java:99)
    at javax.swing.text.AbstractDocument.fireRemoveUpdate(AbstractDocument.java:243)
    at org.netbeans.editor.BaseDocument.fireRemoveUpdate(BaseDocument.java:1626)
    at org.netbeans.editor.BaseDocument.remove(BaseDocument.java:925)
    at org.netbeans.modules.editor.guards.PositionBounds$1.run(PositionBounds.java:213)
    at org.netbeans.editor.GuardedDocument.runAtomic(GuardedDocument.java:327)
    at org.openide.text.NbDocument.runAtomic(NbDocument.java:411)
    at org.netbeans.modules.editor.guards.PositionBounds.setText(PositionBounds.java:245)
    at org.netbeans.modules.editor.guards.GuardedSectionImpl.setText(GuardedSectionImpl.java:178)
    at org.netbeans.modules.editor.guards.SimpleSectionImpl.setText(SimpleSectionImpl.java:73)
    at org.netbeans.api.editor.guards.SimpleSection.setText(SimpleSection.java:66)
    at org.netbeans.modules.form.JavaCodeGenerator.regenerateInitComponents(JavaCodeGenerator.java:1111)
    at org.netbeans.modules.form.JavaCodeGenerator.regenerateCode(JavaCodeGenerator.java:3469)
    at org.netbeans.modules.form.JavaCodeGenerator$FormListener.formChanged(JavaCodeGenerator.java:3948)
    at org.netbeans.modules.form.FormModel.fireEvents(FormModel.java:1290)
    at org.netbeans.modules.form.FormModel.fireEventBatch(FormModel.java:1263)
    at org.netbeans.modules.form.FormModel.firePendingEvents(FormModel.java:1226)
    at org.netbeans.modules.form.FormModel.sendEventImmediately(FormModel.java:1218)
    at org.netbeans.modules.form.FormModel.fireFormToBeSaved(FormModel.java:805)
    at org.netbeans.modules.form.FormEditor.saveFormData(FormEditor.java:407)
    at org.netbeans.modules.form.FormEditorSupport.saveDocument(FormEditorSupport.java:324)
    at org.netbeans.modules.form.FormEditorSupport$9.doSave(FormEditorSupport.java:1404)
    at org.netbeans.modules.form.FormEditorSupport$9.access$1100(FormEditorSupport.java:1380)
    at org.netbeans.modules.form.FormEditorSupport$9$1.run(FormEditorSupport.java:1390)
    [catch] at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
    at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:125)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

     
  • Ernie Rael

    Ernie Rael - 2009-12-30
    • summary: Stacktrace netbeans 6.8 --> exception: didDocRemoveAfterTrackPosition
    • status: open --> open-fixed
     
  • Ernie Rael

    Ernie Rael - 2009-12-30

    Fixed, in CVS, exception didDocRemoveAfterTrackPosition. Problem can occur when in insert mode and code completion adds lines of text somewhere else in the document, for example adding import lines. I think this is the source of the issues.

    If you see others please let me know.

     
  • Kees Kuip

    Kees Kuip - 2009-12-30

    I tried the fix in:
    -----------------------------------------------------
    jVi Version Information
    Running: jVi 1.2.7.x7 (development release)
    jVi recent features and changes.

    It seems to be better but I still get an IlligalStateException.
    I did the MouseListener-test and I really executed the undo sequence very fast.
    So I did undo-undo-undo-undo till you cannot undo anymore-redo-redo-redo-undo-undo etc.
    If you execute this really fast than you get the exception:
    java.lang.IllegalStateException
    at com.raelity.jvi.ViManager.dumpStack(ViManager.java:1007)
    at com.raelity.jvi.swing.DefaultBuffer$Mark.setMark(DefaultBuffer.java:343)
    at com.raelity.jvi.MarkOps.setpcmark(MarkOps.java:113)
    at com.raelity.jvi.Window.cursorMoveDetected(Window.java:174)
    at com.raelity.jvi.swing.TextView.access$100(TextView.java:74)
    at com.raelity.jvi.swing.TextView$1.caretUpdate(TextView.java:103)
    at javax.swing.text.JTextComponent.fireCaretUpdate(JTextComponent.java:391)
    at javax.swing.text.JTextComponent$MutableCaretEvent.fire(JTextComponent.java:4387)
    at javax.swing.text.JTextComponent$MutableCaretEvent.stateChanged(JTextComponent.java:4409)
    [catch] at org.netbeans.editor.BaseCaret$4.run(BaseCaret.java:779)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
    at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:125)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

     
  • Ernie Rael

    Ernie Rael - 2009-12-30

    I tried again, and can not reproduce this particular exception. I took a look at NB's BaseCaret where the event that jVi is catching gets generated. It is a mess of strange sequencing issues and invokeLater's; this stacktrace probably relates to some NB threading issue. I doubt that I will actually be able to fix it. Are you using a multi-core CPU? I'm using an older single core laptop. I've run into problems with caret notification before, in NB there is no guarentee that caret notification is syncronous; though they do their best, there are situation where they use invokeLater.

    If you turn on the debug info "Menu>Tools>Options>jVi>debug>mouseEvents" that will provide a little bit of info. I'm curious to see it, but since I doubt I'll be able to fix it, it doesn't really matter. For undo/redo you should not see "caretUpdate: setPCMark", but when the error occurs you will see it.

    This code is part of the "magic pcmark tracking" feature; it allows the '' command to return to a position in a file after NB moves the cursor. For example, if you double click on a method in the navigator window to go to a method, then you can do "''" to return to the original position.

    I think I'll supress the stackdump if setpcmark is called from this feature. This feature is a "best guess" anyway and there's little jVi can do to prevent some confusion.

     
  • Kees Kuip

    Kees Kuip - 2009-12-31

    Some more information:

    - The speed at which you undo-redo is not important. It always happens at the same place.
    - I use a multicore processor.
    - I include here the debug info of mouseEvents and I annotate it with what is happening:
    My annotations start with '//' and are added AFTER the event.

    INFO [org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater]: Complete indexing of 3 source roots took: 358 ms (New or modified files: 0, Deleted files: 0)
    mouseSetDot(477) Button1
    CaretMark: 478 --> 477 Account.java
    mouseRelease:
    CaretMark: 477 --> 478 Account.java
    CaretMark: 478 --> 478 Account.java
    CaretMark: 478 --> 483 Account.java
    CaretMark: 483 --> 483 Account.java
    CaretMark: 483 --> 484 Account.java
    CaretMark: 484 --> 485 Account.java
    CaretMark: 485 --> 486 Account.java
    CaretMark: 486 --> 487 Account.java
    CaretMark: 487 --> 488 Account.java
    CaretMark: 488 --> 489 Account.java
    CaretMark: 489 --> 490 Account.java
    CaretMark: 490 --> 491 Account.java
    CaretMark: 491 --> 490 Account.java
    CaretMark: 490 --> 490 Account.java
    CaretMark: 490 --> 489 Account.java
    CaretMark: 489 --> 489 Account.java
    CaretMark: 489 --> 488 Account.java
    CaretMark: 488 --> 488 Account.java
    CaretMark: 488 --> 487 Account.java
    CaretMark: 487 --> 487 Account.java
    CaretMark: 487 --> 488 Account.java
    CaretMark: 488 --> 489 Account.java
    CaretMark: 489 --> 490 Account.java
    CaretMark: 490 --> 491 Account.java
    CaretMark: 491 --> 492 Account.java
    CaretMark: 492 --> 493 Account.java
    CaretMark: 493 --> 494 Account.java
    CaretMark: 494 --> 495 Account.java
    CaretMark: 495 --> 496 Account.java
    CaretMark: 496 --> 497 Account.java
    CaretMark: 497 --> 498 Account.java
    CaretMark: 498 --> 499 Account.java
    CaretMark: 499 --> 500 Account.java
    CaretMark: 500 --> 501 Account.java
    CaretMark: 501 --> 502 Account.java
    CaretMark: 502 --> 503 Account.java
    CaretMark: 503 --> 504 Account.java
    CaretMark: 504 --> 505 Account.java
    CaretMark: 505 --> 506 Account.java
    CaretMark: 506 --> 507 Account.java

    // After typing "implement MouseListener

    mouseSetDot(377) Button3
    CaretMark: 507 --> 377 Account.java
    mouseRelease: Meta
    CaretMark: 377 --> 414 Account.java
    caretUpdate: setPCMark

    // After fixing imports

    CaretMark: 414 --> 454 Account.java
    caretUpdate: setPCMark
    CaretMark: 454 --> 488 Account.java
    caretUpdate: setPCMark

    // After command 'implements abstract methods'

    CaretMark: 488 --> 191 Account.java
    caretUpdate: setPCMark

    // After first undo
    // The 'abstract methods' are removed.
    // Caret is now at the first position of the fixed import

    CaretMark: 191 --> 191 Account.java

    // undo
    // The 'fixed import' is removed.
    // The caret stays at the same position

    CaretMark: 191 --> 478 Account.java
    caretUpdate: setPCMark

    // undo
    // The 'implements MouseListener' is removed.
    // The caret is at the end of the line 'extends AbstractConfigurationElement'

    CaretMark: 478 --> 507 Account.java
    caretUpdate: setPCMark

    // The first redo.
    // The 'implements MouseListener' is back again
    // Caret is at last position of 'implements MouseListener'

    caretUpdate: setPCMark
    CaretMark: 507 --> 228 Account.java

    // redo
    // Fixed import appears ("import java.awt.event.MouseListener")
    // Caret is at first position after the imported line.

    CaretMark: 228 --> 3076 Account.java
    caretUpdate: setPCMark

    // redo.
    // The abstract methods appear again. (They are at the bottom of the file)
    // The caret is at the first position of (last line - 1)

    SEVERE [com.raelity.jvi.ViManager]: column 673, limit 0
    java.lang.IllegalStateException
    at com.raelity.jvi.ViManager.dumpStack(ViManager.java:1007)
    at com.raelity.jvi.swing.DefaultBuffer$Mark.setMark(DefaultBuffer.java:343)
    at com.raelity.jvi.MarkOps.setpcmark(MarkOps.java:113)
    at com.raelity.jvi.Window.cursorMoveDetected(Window.java:174)
    at com.raelity.jvi.swing.TextView.access$100(TextView.java:74)
    at com.raelity.jvi.swing.TextView$1.caretUpdate(TextView.java:103)
    at javax.swing.text.JTextComponent.fireCaretUpdate(JTextComponent.java:391)
    at javax.swing.text.JTextComponent$MutableCaretEvent.fire(JTextComponent.java:4387)
    at javax.swing.text.JTextComponent$MutableCaretEvent.stateChanged(JTextComponent.java:4409)
    at org.netbeans.editor.BaseCaret$4.run(BaseCaret.java:779)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
    at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:125)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
    [catch] at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
    CaretMark: 3076 --> 191 Account.java
    caretUpdate: setPCMark

    // First undo!
    // Here the IllegalStateException is happening.
    // The abstract methods at the bottom of the file have dissappeared.
    // The caret is at the first position of the "import Mouselistener" line.

    So the lines where the caret where on have dissappeared.
    So you use the position of the caret on lines that are gone.
    The nbvi code must assume that the previous caret position is no longer valid!

     
  • Ernie Rael

    Ernie Rael - 2010-01-01

    > It always happens at the same place.
    And worse, the "caretUpdate: setPCMark" is happening all the time.

    Looks like nb6.8's BaseCaret re-introduces an async notification bug. I'll investigate that further and file an NB bug.

    I'm also looking at an ugly fix to avoid this problem (mostly) in the future.

     
  • Kees Kuip

    Kees Kuip - 2010-01-01

    I'm not sure you arrived at the right conclusion.

    My conclusion was:
    - The caret is at the bottom of the file
    - The is an undo which removes 5 abstract methods.
    Now the original place of the caret doesn't exist anymore!
    But ofcourse the CaretUpdate will be fired because it changed.
    - In com.raelity.jvi.swing.TextView the previous 'lastDot' is remembered.
    But this 'lastDot' points to lines of code that have just been removed.
    So it is illegal to use this lastDot!
    But it is used to create a ViFPOS in com.raelity.jvi.Window and this
    pos is used in 'setpcmark'. I don't think this is right.

    So my conclusion is that this is a bug in the jvi code.
    What do you think?

     
  • Ernie Rael

    Ernie Rael - 2010-01-01

    Your analysis is good, though it assumes that the undo/remove-text and caret-move are the same operations; I'm not sure that's the case. In any event, when the fpos is constructed it uses getElementIndex which is always in bounds so the resulting fpos should still be in the file. So while it may not be right it shouldn't cause a problem.

    This is moot for the case we are investigating, the undo. In this case the code should not be executed since jViBusy() is supposed to be true while executing the undo; and interestingly it is true on single core systems. The fix I'm working on keeps jViBusy() for a while longer.

    This code should only execute for cases when jVi is not busy, for example when you double click a method in the Navigator window and the cursor moves. Then the "''" command should take you back to where you were. If the IDE action should result in a bogus lastDot, then the previous context mark is the end of the file.

     
  • Kees Kuip

    Kees Kuip - 2010-01-01

    -----------------------------------------------------
    jVi Version Information
    Running: jVi 1.2.7.x9 (development release)

    The problem is still there!

    The problem reproducable all the time at the same place. So I don't think it is a timing issue.
    The logging is the same as in a previous comment but i'll add it anyway.

    INFO [org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater]: Complete indexing of 3 source roots took: 724 ms (New or modified files: 0, Deleted files: 0)
    mouseSetDot(477) Button1
    CaretMark: 478 --> 477 Account.java
    mouseRelease:
    mouseSetDot(471) Button1
    CaretMark: 477 --> 471 Account.java
    mouseRelease:
    CaretMark: 471 --> 470 Account.java
    CaretMark: 470 --> 478 Account.java
    CaretMark: 478 --> 478 Account.java
    CaretMark: 478 --> 483 Account.java
    CaretMark: 483 --> 483 Account.java
    CaretMark: 483 --> 484 Account.java
    CaretMark: 484 --> 485 Account.java
    CaretMark: 485 --> 486 Account.java
    CaretMark: 486 --> 487 Account.java
    CaretMark: 487 --> 488 Account.java
    CaretMark: 488 --> 489 Account.java
    CaretMark: 489 --> 490 Account.java
    CaretMark: 490 --> 491 Account.java
    CaretMark: 491 --> 490 Account.java
    CaretMark: 490 --> 490 Account.java
    CaretMark: 490 --> 489 Account.java
    CaretMark: 489 --> 489 Account.java
    CaretMark: 489 --> 488 Account.java
    CaretMark: 488 --> 488 Account.java
    CaretMark: 488 --> 487 Account.java
    CaretMark: 487 --> 487 Account.java
    CaretMark: 487 --> 488 Account.java
    CaretMark: 488 --> 489 Account.java
    CaretMark: 489 --> 490 Account.java
    CaretMark: 490 --> 491 Account.java
    CaretMark: 491 --> 492 Account.java
    CaretMark: 492 --> 493 Account.java
    CaretMark: 493 --> 494 Account.java
    CaretMark: 494 --> 495 Account.java
    CaretMark: 495 --> 496 Account.java
    CaretMark: 496 --> 497 Account.java
    CaretMark: 497 --> 498 Account.java
    CaretMark: 498 --> 499 Account.java
    CaretMark: 499 --> 500 Account.java
    CaretMark: 500 --> 501 Account.java
    CaretMark: 501 --> 502 Account.java
    CaretMark: 502 --> 503 Account.java
    CaretMark: 503 --> 504 Account.java
    CaretMark: 504 --> 505 Account.java
    CaretMark: 505 --> 506 Account.java
    CaretMark: 506 --> 507 Account.java
    mouseSetDot(506) Button3
    CaretMark: 507 --> 506 Account.java
    mouseRelease: Meta
    CaretMark: 506 --> 543 Account.java
    caretUpdate: setPCMark
    CaretMark: 543 --> 454 Account.java
    caretUpdate: setPCMark
    CaretMark: 454 --> 488 Account.java
    caretUpdate: setPCMark
    CaretMark: 488 --> 191 Account.java
    caretUpdate: setPCMark
    CaretMark: 191 --> 191 Account.java
    CaretMark: 191 --> 478 Account.java
    caretUpdate: setPCMark
    CaretMark: 478 --> 507 Account.java
    caretUpdate: setPCMark
    CaretMark: 507 --> 228 Account.java
    caretUpdate: setPCMark
    CaretMark: 228 --> 3076 Account.java
    caretUpdate: setPCMark
    SEVERE [com.raelity.jvi.ViManager]: column 673, limit 0
    java.lang.IllegalStateException
    at com.raelity.jvi.ViManager.dumpStack(ViManager.java:1025)
    at com.raelity.jvi.swing.DefaultBuffer$Mark.setMark(DefaultBuffer.java:343)
    at com.raelity.jvi.MarkOps.setpcmark(MarkOps.java:113)
    at com.raelity.jvi.Window.cursorMoveDetected(Window.java:174)
    at com.raelity.jvi.swing.TextView.access$100(TextView.java:74)
    at com.raelity.jvi.swing.TextView$1.caretUpdate(TextView.java:103)
    at javax.swing.text.JTextComponent.fireCaretUpdate(JTextComponent.java:391)
    at javax.swing.text.JTextComponent$MutableCaretEvent.fire(JTextComponent.java:4387)
    at javax.swing.text.JTextComponent$MutableCaretEvent.stateChanged(JTextComponent.java:4409)
    at org.netbeans.editor.BaseCaret$4.run(BaseCaret.java:779)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
    at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:125)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
    [catch] at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
    CaretMark: 3076 --> 191 Account.java
    caretUpdate: setPCMark

     
  • Ernie Rael

    Ernie Rael - 2010-01-01

    Here's some stuff I captured on my system, winXP, I also turned on "debug keystrokes" so you can see output for each keystroke. Here's the first undo
    --- CharAction: 'u' 75(117) 0
    --- CaretMark: 131 --> 27 Exception.java
    --- CaretMark: 27 --> 27 Exception.java
    --- CaretMark: 27 --> 27 Exception.java
    In addition, notice that the only
    --- caretUpdate: setPCMark
    is from the 'implement abstract methods' (as expected). I did the fiximports with the jVi command ":fixi", otherwise it would have a setPCMark. With the debugger I took a stack dump of the first undo, notice that the "TextView$1.caretUpdate" is in the same stack as the "jvi.Misc.u_undo". Looks like this is probably a JVM issue, a multi-core issue or both. I think the caret update should be called in the same context as "TextView.setCaretPosition". There is a difference at "Utilities.runInEventDispatchThread", in my trace this does the run directly, but not in the failing trace; this means that EventQueue.isDispatchThread returns false in the failing case (this seems impossible). I'd be real interested in seeing what the stack trace leading up to this is in the failing case.

    What OS/JVM is this?

    BTW, "magic pcmark tracking" can be turned off with an option.

    CharAction: '$' 24(36) 1
    CaretMark: 26 --> 26 Exception.java
    CaretMark: 26 --> 34 Exception.java
    CharAction: 'i' 69(105) 0
    CaretMark: 34 --> 34 Exception.java
    CharAction: 'i' 69(105) 0
    CaretMark: 34 --> 35 Exception.java
    CharAction: 'm' 6d(109) 0
    CaretMark: 35 --> 36 Exception.java
    CharAction: 'p' 70(112) 0
    CaretMark: 36 --> 37 Exception.java
    CharAction: 'l' 6c(108) 0
    CaretMark: 37 --> 38 Exception.java
    CharAction: 'e' 65(101) 0
    CaretMark: 38 --> 39 Exception.java
    CharAction: 'm' 6d(109) 0
    CaretMark: 39 --> 40 Exception.java
    CharAction: 'e' 65(101) 0
    CaretMark: 40 --> 41 Exception.java
    CharAction: 'n' 6e(110) 0
    CaretMark: 41 --> 42 Exception.java
    CharAction: 't' 74(116) 0
    CaretMark: 42 --> 43 Exception.java
    CharAction: 's' 73(115) 0
    CaretMark: 43 --> 44 Exception.java
    CharAction: ' ' 20(32) 0
    CaretMark: 44 --> 45 Exception.java
    CharAction: 'M' 4d(77) 1
    CaretMark: 45 --> 46 Exception.java
    CharAction: 'o' 6f(111) 0
    CaretMark: 46 --> 47 Exception.java
    CharAction: 'u' 75(117) 0
    CaretMark: 47 --> 48 Exception.java
    CharAction: 's' 73(115) 0
    CaretMark: 48 --> 49 Exception.java
    CharAction: 'e' 65(101) 0
    CaretMark: 49 --> 50 Exception.java
    CharAction: 'L' 4c(76) 1
    CaretMark: 50 --> 51 Exception.java
    CharAction: 'i' 69(105) 0
    CaretMark: 51 --> 52 Exception.java
    CharAction: 's' 73(115) 0
    CaretMark: 52 --> 53 Exception.java
    CharAction: 't' 74(116) 0
    CaretMark: 53 --> 54 Exception.java
    CharAction: 'e' 65(101) 0
    CaretMark: 54 --> 55 Exception.java
    CharAction: 'n' 6e(110) 0
    CaretMark: 55 --> 56 Exception.java
    CharAction: 'e' 65(101) 0
    CaretMark: 56 --> 57 Exception.java
    CharAction: 'r' 72(114) 0
    CaretMark: 57 --> 58 Exception.java
    CharAction: ' ' 20(32) 0
    CaretMark: 58 --> 59 Exception.java
    KeyAction: ViEscapeKey: 1b(27) 0
    CaretMark: 59 --> 58 Exception.java
    CharAction: ':' 3a(58) 1
    CommandAction: 'fixi' <<<<<<<<< fiximports
    CaretMark: 58 --> 97 Exception.java
    <<<<<<<<< implement methods
    CaretMark: 97 --> 131 Exception.java
    caretUpdate: setPCMark
    CharAction: 'u' 75(117) 0
    CaretMark: 131 --> 27 Exception.java
    CaretMark: 27 --> 27 Exception.java
    CaretMark: 27 --> 27 Exception.java
    CharAction: 'u' 75(117) 0
    CaretMark: 27 --> 26 Exception.java
    CaretMark: 26 --> 26 Exception.java
    CaretMark: 26 --> 26 Exception.java
    CharAction: 'u' 75(117) 0
    CaretMark: 26 --> 34 Exception.java
    CaretMark: 34 --> 34 Exception.java

    ===================================================

    com.raelity.jvi.Window.cursorMoveDetected(Window.java:163)
    com.raelity.jvi.swing.TextView.access$100(TextView.java:74)
    com.raelity.jvi.swing.TextView$1.caretUpdate(TextView.java:103)
    javax.swing.text.JTextComponent.fireCaretUpdate(JTextComponent.java:367)
    javax.swing.text.JTextComponent$MutableCaretEvent.fire(JTextComponent.java:3232)
    javax.swing.text.JTextComponent$MutableCaretEvent.stateChanged(JTextComponent.java:3254)
    org.netbeans.editor.BaseCaret$4.run(BaseCaret.java:779)
    org.netbeans.editor.Utilities.runInEventDispatchThread(Utilities.java:1117)
    org.netbeans.editor.BaseCaret.fireStateChanged(BaseCaret.java:790)
    org.netbeans.editor.BaseCaret.setDot(BaseCaret.java:1076)
    org.netbeans.editor.BaseCaret.setDot(BaseCaret.java:1097)
    org.netbeans.editor.BaseCaret.setDot(BaseCaret.java:1000)
    org.netbeans.modules.jvi.NbCaret.setDot(NbCaret.java:119)
    javax.swing.text.JTextComponent.setCaretPosition(JTextComponent.java:1400)
    com.raelity.jvi.swing.TextView.setCaretPosition(TextView.java:453)
    org.netbeans.modules.jvi.NbBuffer.undoOrRedo(NbBuffer.java:299)
    org.netbeans.modules.jvi.NbBuffer.undoOperation(NbBuffer.java:274)
    com.raelity.jvi.swing.DefaultBuffer.undo(DefaultBuffer.java:256)
    com.raelity.jvi.Misc.u_undo(Misc.java:4261)
    com.raelity.jvi.Normal.normal_cmd(Normal.java:959)
    com.raelity.jvi.Normal.processInputChar(Normal.java:153)
    com.raelity.jvi.GetChar.gotc(GetChar.java:75)
    com.raelity.jvi.ViManager.keyStroke(ViManager.java:736)
    com.raelity.jvi.swing.DefaultViFactory$EnqueCharAction.actionPerformed(DefaultViFactory.java:565)
    javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1571)
    javax.swing.JComponent.processKeyBinding(JComponent.java:2772)
    javax.swing.JComponent.processKeyBindings(JComponent.java:2807)
    javax.swing.JComponent.processKeyEvent(JComponent.java:2735)
    java.awt.Component.processEvent(Component.java:5294)
    java.awt.Container.processEvent(Container.java:1966)
    java.awt.Component.dispatchEventImpl(Component.java:3984)
    java.awt.Container.dispatchEventImpl(Container.java:2024)
    java.awt.Component.dispatchEvent(Component.java:3819)
    java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1826)
    java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:681)
    java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:938)
    java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:810)
    java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:645)
    java.awt.Component.dispatchEventImpl(Component.java:3857)
    java.awt.Container.dispatchEventImpl(Container.java:2024)
    java.awt.Window.dispatchEventImpl(Window.java:1791)
    java.awt.Component.dispatchEvent(Component.java:3819)
    java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
    org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:125)
    java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
    java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
    java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
    java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
    java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

     
  • Kees Kuip

    Kees Kuip - 2010-01-02

    I have a Ubuntu 9.10 with sun's java 1.6.0_17. (I have also tried with jdk1.5.0_22)

    If I do what you do then I don't get the stacktraces.
    You are using vim commands when you can!
    For 'fix imports', 'undo' en 'redo' I don't use the vim commands.

    Here is what I do:

    - type "implements MouseListener"
    - Right mouseclick and choose "fix imports" from popup. (you do ':fixi')
    - Left mouseclick on lightbulb to "implement abstract methods"
    - Click on undo-button on toolbar (3x) (you do : u)
    - Click on redo-button on toolbar (3x) (you do : CRTL-R)
    - Click on undo-button on toolbar (1). (you do : u)
    - The exception is there.

     
  • Ernie Rael

    Ernie Rael - 2010-01-02

    When discussing your comment of "Date: 2010-01-01 04:27" I said:
    ----- Your analysis is good ... [but] the fpos ... should still be in the file.
    ----- So while it may not be right it shouldn't cause a problem.
    That's not entirely accurate. The line-number of the fpos is still in the file but the column number is not; in Mark.setMark the consistency check is triggered because the column number is out of range. After Mark.setMark reports the inconsistency it then adjusts the column number and we end up with a valid Mark. I fixed FPOS so the column number is valid also.

    The end result for the Mark is the same, but without that annoying stacktrace. And a good lesson for me, I'll be certain to make sure I know exactly what keyboard/button stuff is going on...

    Many thanks,
    -ernie

     
  • Kees Kuip

    Kees Kuip - 2010-01-02

    I just emailed you that all was working ok.
    But I got a new stacktrace. (sorry!)
    It's another didDocRemoveAfterTrackPosition-exception.

    I was using the gui-builder of netbeans and editing some custom code of an icon from a jlabel.

    Here is the stacktrace:

    java.lang.IllegalStateException
    at com.raelity.jvi.ViManager.dumpStack(ViManager.java:1028)
    at com.raelity.jvi.ViManager.dumpStack(ViManager.java:1033)
    at com.raelity.jvi.GetChar$MagicRedo.didDocRemoveAfterTrackPosition(GetChar.java:862)
    at com.raelity.jvi.GetChar$MagicRedo.docRemove(GetChar.java:792)
    at com.raelity.jvi.GetChar.docRemove(GetChar.java:408)
    at com.raelity.jvi.Buffer.docRemove(Buffer.java:288)
    at com.raelity.jvi.swing.DefaultBuffer.access$1100(DefaultBuffer.java:41)
    at com.raelity.jvi.swing.DefaultBuffer$DocListen.removeUpdate(DefaultBuffer.java:697)
    at org.netbeans.lib.editor.util.swing.PriorityDocumentListenerList.removeUpdate(PriorityDocumentListenerList.java:99)
    at javax.swing.text.AbstractDocument.fireRemoveUpdate(AbstractDocument.java:243)
    at org.netbeans.editor.BaseDocument.fireRemoveUpdate(BaseDocument.java:1626)
    at org.netbeans.editor.BaseDocument.remove(BaseDocument.java:925)
    at org.netbeans.modules.editor.guards.PositionBounds$1.run(PositionBounds.java:213)
    at org.netbeans.editor.GuardedDocument.runAtomic(GuardedDocument.java:327)
    at org.openide.text.NbDocument.runAtomic(NbDocument.java:411)
    at org.netbeans.modules.editor.guards.PositionBounds.setText(PositionBounds.java:245)
    at org.netbeans.modules.editor.guards.GuardedSectionImpl.setText(GuardedSectionImpl.java:178)
    at org.netbeans.modules.editor.guards.SimpleSectionImpl.setText(SimpleSectionImpl.java:73)
    at org.netbeans.api.editor.guards.SimpleSection.setText(SimpleSection.java:66)
    at org.netbeans.modules.form.JavaCodeGenerator.regenerateInitComponents(JavaCodeGenerator.java:1111)
    at org.netbeans.modules.form.JavaCodeGenerator.regenerateCode(JavaCodeGenerator.java:3469)
    at org.netbeans.modules.form.FormPropertyEditor.getCustomEditor(FormPropertyEditor.java:297)
    at org.openide.explorer.propertysheet.PropertyDialogManager.<init>(PropertyDialogManager.java:129)
    [catch] at org.openide.explorer.propertysheet.CustomEditorAction.actionPerformed(CustomEditorAction.java:217)
    at org.openide.explorer.propertysheet.SheetTable.editCellAt(SheetTable.java:998)
    at javax.swing.plaf.basic.BasicTableUI$Handler.adjustSelection(BasicTableUI.java:1078)
    at javax.swing.plaf.basic.BasicTableUI$Handler.mousePressed(BasicTableUI.java:1008)
    at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:263)
    at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:262)
    at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:262)
    at java.awt.Component.processMouseEvent(Component.java:6260)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3255)
    at org.openide.explorer.propertysheet.SheetTable.processMouseEvent(SheetTable.java:731)
    at java.awt.Component.processEvent(Component.java:6028)
    at java.awt.Container.processEvent(Container.java:2041)
    at java.awt.Component.dispatchEventImpl(Component.java:4630)
    at java.awt.Container.dispatchEventImpl(Container.java:2099)
    at java.awt.Component.dispatchEvent(Component.java:4460)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4235)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
    at java.awt.Container.dispatchEventImpl(Container.java:2085)
    at java.awt.Window.dispatchEventImpl(Window.java:2475)
    at java.awt.Component.dispatchEvent(Component.java:4460)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
    at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:125)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

     
  • Ernie Rael

    Ernie Rael - 2010-01-02

    Fortunately, due to some work for the original stacktraces reported for this bug, this output is a dumpStack (rather than a real exception) and so it does not affect program behavior.

    This stacktrace is generated from an event from changes made by the GUI builder. For now I'll probably just filter these out.

     
  • Ernie Rael

    Ernie Rael - 2010-02-02

    available in 1.2.7 release

     
  • Ernie Rael

    Ernie Rael - 2010-02-02
    • status: open-fixed --> closed-fixed
     

Log in to post a comment.