This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 65970 - [50cat] IOOBEx in conflict resolver
Summary: [50cat] IOOBEx in conflict resolver
Status: RESOLVED FIXED
Alias: None
Product: utilities
Classification: Unclassified
Component: Diff (show other bugs)
Version: 5.x
Hardware: PC Windows XP
: P3 blocker (vote)
Assignee: diff-issues@utilities
URL:
Keywords: RANDOM
: 64369 67562 71776 (view as bug list)
Depends on:
Blocks:
 
Reported: 2005-10-05 14:19 UTC by misterm
Modified: 2009-02-19 20:42 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description misterm 2005-10-05 14:19:51 UTC
[ BUILD # : 5.0 beta ]
[ JDK VERSION : 1.4.2_xx ]

The exception below happened after all conflicts have been resolved, "shrinking" the file size:

java.lang.IndexOutOfBoundsException: Invalid line index=1788 >= lineCount=1784
	at org.netbeans.editor.LineRootElement.getElement(LineRootElement.java:85)
	at org.openide.text.NbDocument$DocumentRenderer.run(NbDocument.java:673)
	at org.netbeans.editor.BaseDocument.render(BaseDocument.java:1089)
	at org.openide.text.NbDocument$DocumentRenderer.renderToInt(NbDocument.java:649)
	at org.openide.text.NbDocument.findLineOffset(NbDocument.java:153)
	at org.netbeans.modules.merge.builtin.visualizer.MergePanel.writeResult(MergePanel.java:1429)
	at org.netbeans.modules.merge.builtin.visualizer.MergeControl.vetoableChange(MergeControl.java:317)
	at org.openide.util.WeakListenerImpl$VetoableChange.vetoableChange(WeakListenerImpl.java:177)
	at java.beans.VetoableChangeSupport.fireVetoableChange(VetoableChangeSupport.java:300)
	at java.beans.VetoableChangeSupport.fireVetoableChange(VetoableChangeSupport.java:217)
	at javax.swing.JComponent.fireVetoableChange(JComponent.java:4096)
	at org.netbeans.modules.merge.builtin.visualizer.MergeDialogComponent.access$600(MergeDialogComponent.java:61)
	at org.netbeans.modules.merge.builtin.visualizer.MergeDialogComponent$MergeNode.save(MergeDialogComponent.java:448)
	at org.netbeans.modules.merge.builtin.visualizer.MergeDialogComponent.okButtonActionPerformed(MergeDialogComponent.java:212)
	at org.netbeans.modules.merge.builtin.visualizer.MergeDialogComponent.access$000(MergeDialogComponent.java:61)
	at org.netbeans.modules.merge.builtin.visualizer.MergeDialogComponent$1.actionPerformed(MergeDialogComponent.java:119)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786)
	at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1839)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:245)
	at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:231)
	at java.awt.Component.processMouseEvent(Component.java:5100)
	at java.awt.Component.processEvent(Component.java:4897)
	at java.awt.Container.processEvent(Container.java:1569)
	at java.awt.Component.dispatchEventImpl(Component.java:3615)
	at java.awt.Container.dispatchEventImpl(Container.java:1627)
	at java.awt.Component.dispatchEvent(Component.java:3477)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
	at java.awt.Container.dispatchEventImpl(Container.java:1613)
	at java.awt.Window.dispatchEventImpl(Window.java:1606)
	at java.awt.Component.dispatchEvent(Component.java:3477)
[catch] at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)

It's not possible to save the file after that.
Comment 1 misterm 2005-10-17 14:03:50 UTC
This issue also happens in Q-Build 20051013.
Comment 2 _ pkuzel 2005-11-02 15:04:24 UTC
I have no idea how to reproduce. I created a conflict and resolved it in such a
way that result file become 1/2 of original. It was runnig OK.

Please add more detailed repro-case. Also attach file versions being subject of
merge.
Comment 3 _ pkuzel 2005-11-04 16:10:09 UTC
*** Issue 67562 has been marked as a duplicate of this issue. ***
Comment 4 misterm 2005-11-04 22:50:05 UTC
The way I think it happens (not with a NB copy now) it is:

1. Create a conflict that is supposed to shrink the file, one of them being
close to the end (last lines);
2. Choose "Resolve conflicts";
3. Accept changes that shorten the file with Accept and Next.
Comment 5 _ pkuzel 2005-11-14 17:34:00 UTC
*** Issue 64369 has been marked as a duplicate of this issue. ***
Comment 6 _ pkuzel 2005-11-14 17:37:21 UTC
I followed exactly same abstract steps without exploting this one.

On the other hand there are already 4 duplicates....

I hope someone will provide reliable reprocase.
Comment 7 misterm 2005-11-23 17:48:55 UTC
Here is the stack trace for NB 5.0 beta 2:

java.lang.IndexOutOfBoundsException: Invalid line index=785 >= lineCount=781
	at org.netbeans.editor.LineRootElement.getElement
(LineRootElement.java:85)
	at org.openide.text.NbDocument$DocumentRenderer.run(NbDocument.java:673)
	at org.netbeans.editor.BaseDocument.render(BaseDocument.java:1126)
	at org.openide.text.NbDocument$DocumentRenderer.renderToInt
(NbDocument.java:649)
	at org.openide.text.NbDocument.findLineOffset(NbDocument.java:153)
	at org.netbeans.modules.merge.builtin.visualizer.MergePanel.writeResult
(MergePanel.java:1435)
	at 
org.netbeans.modules.merge.builtin.visualizer.MergeControl.vetoableChange
(MergeControl.java:332)
	at org.openide.util.WeakListenerImpl$VetoableChange.vetoableChange
(WeakListenerImpl.java:177)
	at java.beans.VetoableChangeSupport.fireVetoableChange
(VetoableChangeSupport.java:300)
	at java.beans.VetoableChangeSupport.fireVetoableChange
(VetoableChangeSupport.java:217)
	at javax.swing.JComponent.fireVetoableChange(JComponent.java:4096)
	at 
org.netbeans.modules.merge.builtin.visualizer.MergeDialogComponent.access$600
(MergeDialogComponent.java:59)
	at 
org.netbeans.modules.merge.builtin.visualizer.MergeDialogComponent$MergeNode.sav
e(MergeDialogComponent.java:447)
	at 
org.netbeans.modules.merge.builtin.visualizer.MergeDialogComponent.okButtonActio
nPerformed(MergeDialogComponent.java:210)
	at 
org.netbeans.modules.merge.builtin.visualizer.MergeDialogComponent.access$000
(MergeDialogComponent.java:59)
	at 
org.netbeans.modules.merge.builtin.visualizer.MergeDialogComponent$1.actionPerfo
rmed(MergeDialogComponent.java:117)
	at javax.swing.AbstractButton.fireActionPerformed
(AbstractButton.java:1786)
	at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed
(AbstractButton.java:1839)
	at javax.swing.DefaultButtonModel.fireActionPerformed
(DefaultButtonModel.java:420)
	at javax.swing.DefaultButtonModel.setPressed
(DefaultButtonModel.java:258)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased
(BasicButtonListener.java:245)
	at java.awt.AWTEventMulticaster.mouseReleased
(AWTEventMulticaster.java:231)
	at java.awt.Component.processMouseEvent(Component.java:5100)
	at java.awt.Component.processEvent(Component.java:4897)
	at java.awt.Container.processEvent(Container.java:1569)
	at java.awt.Component.dispatchEventImpl(Component.java:3615)
	at java.awt.Container.dispatchEventImpl(Container.java:1627)
	at java.awt.Component.dispatchEvent(Component.java:3477)
	at java.awt.LightweightDispatcher.retargetMouseEvent
(Container.java:3483)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
	at java.awt.Container.dispatchEventImpl(Container.java:1613)
	at java.awt.Window.dispatchEventImpl(Window.java:1606)
	at java.awt.Component.dispatchEvent(Component.java:3477)
[catch] at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy
(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy
(EventDispatchThread.java:151)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)

Since I have lost changes made to 10 files because of that, I am increasing 
priority for this issue.
Comment 8 misterm 2005-11-23 17:51:19 UTC
The following exception happens _after_ the one reported in this issue:

java.io.IOException
	at org.netbeans.modules.masterfs.Delegate.getLockForDelegate
(Delegate.java:120)
	at org.netbeans.modules.masterfs.MasterFileObject.getOutputStream
(MasterFileObject.java:146)
	at org.netbeans.modules.diff.EncodedReaderFactory$DocWriter.close
(EncodedReaderFactory.java:567)
	at org.netbeans.modules.merge.builtin.visualizer.MergePanel.writeResult
(MergePanel.java:1449)
	at 
org.netbeans.modules.merge.builtin.visualizer.MergeControl.vetoableChange
(MergeControl.java:332)
	at org.openide.util.WeakListenerImpl$VetoableChange.vetoableChange
(WeakListenerImpl.java:177)
	at java.beans.VetoableChangeSupport.fireVetoableChange
(VetoableChangeSupport.java:300)
	at java.beans.VetoableChangeSupport.fireVetoableChange
(VetoableChangeSupport.java:217)
	at javax.swing.JComponent.fireVetoableChange(JComponent.java:4096)
	at 
org.netbeans.modules.merge.builtin.visualizer.MergeDialogComponent.access$600
(MergeDialogComponent.java:59)
	at 
org.netbeans.modules.merge.builtin.visualizer.MergeDialogComponent$MergeNode.sav
e(MergeDialogComponent.java:447)
	at 
org.netbeans.modules.merge.builtin.visualizer.MergeDialogComponent.okButtonActio
nPerformed(MergeDialogComponent.java:210)
	at 
org.netbeans.modules.merge.builtin.visualizer.MergeDialogComponent.access$000
(MergeDialogComponent.java:59)
	at 
org.netbeans.modules.merge.builtin.visualizer.MergeDialogComponent$1.actionPerfo
rmed(MergeDialogComponent.java:117)
	at javax.swing.AbstractButton.fireActionPerformed
(AbstractButton.java:1786)
	at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed
(AbstractButton.java:1839)
	at javax.swing.DefaultButtonModel.fireActionPerformed
(DefaultButtonModel.java:420)
	at javax.swing.DefaultButtonModel.setPressed
(DefaultButtonModel.java:258)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased
(BasicButtonListener.java:245)
	at java.awt.AWTEventMulticaster.mouseReleased
(AWTEventMulticaster.java:231)
	at java.awt.Component.processMouseEvent(Component.java:5100)
	at java.awt.Component.processEvent(Component.java:4897)
	at java.awt.Container.processEvent(Container.java:1569)
	at java.awt.Component.dispatchEventImpl(Component.java:3615)
	at java.awt.Container.dispatchEventImpl(Container.java:1627)
	at java.awt.Component.dispatchEvent(Component.java:3477)
	at java.awt.LightweightDispatcher.retargetMouseEvent
(Container.java:3483)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
	at java.awt.Container.dispatchEventImpl(Container.java:1613)
	at java.awt.Window.dispatchEventImpl(Window.java:1606)
	at java.awt.Component.dispatchEvent(Component.java:3477)
[catch] at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy
(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy
(EventDispatchThread.java:151)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
Comment 9 misterm 2005-12-02 20:30:27 UTC
Stack trace for Q-Build 20051201:

java.lang.IndexOutOfBoundsException: Invalid line index=589 >= lineCount=585
	at org.netbeans.editor.LineRootElement.getElement
(LineRootElement.java:85)
	at org.openide.text.NbDocument$DocumentRenderer.run(NbDocument.java:673)
	at org.netbeans.editor.BaseDocument.render(BaseDocument.java:1126)
	at org.openide.text.NbDocument$DocumentRenderer.renderToInt
(NbDocument.java:649)
	at org.openide.text.NbDocument.findLineOffset(NbDocument.java:153)
	at org.netbeans.modules.merge.builtin.visualizer.MergePanel.writeResult
(MergePanel.java:1435)
	at 
org.netbeans.modules.merge.builtin.visualizer.MergeControl.vetoableChange
(MergeControl.java:332)
	at org.openide.util.WeakListenerImpl$VetoableChange.vetoableChange
(WeakListenerImpl.java:177)
	at java.beans.VetoableChangeSupport.fireVetoableChange
(VetoableChangeSupport.java:300)
	at java.beans.VetoableChangeSupport.fireVetoableChange
(VetoableChangeSupport.java:217)
	at javax.swing.JComponent.fireVetoableChange(JComponent.java:4096)
	at 
org.netbeans.modules.merge.builtin.visualizer.MergeDialogComponent.access$600
(MergeDialogComponent.java:59)
	at 
org.netbeans.modules.merge.builtin.visualizer.MergeDialogComponent$MergeNode.sav
e(MergeDialogComponent.java:451)
	at 
org.netbeans.modules.merge.builtin.visualizer.MergeDialogComponent.okButtonActio
nPerformed(MergeDialogComponent.java:210)
	at 
org.netbeans.modules.merge.builtin.visualizer.MergeDialogComponent.access$000
(MergeDialogComponent.java:59)
	at 
org.netbeans.modules.merge.builtin.visualizer.MergeDialogComponent$1.actionPerfo
rmed(MergeDialogComponent.java:117)
	at javax.swing.AbstractButton.fireActionPerformed
(AbstractButton.java:1786)
	at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed
(AbstractButton.java:1839)
	at javax.swing.DefaultButtonModel.fireActionPerformed
(DefaultButtonModel.java:420)
	at javax.swing.DefaultButtonModel.setPressed
(DefaultButtonModel.java:258)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased
(BasicButtonListener.java:245)
	at java.awt.AWTEventMulticaster.mouseReleased
(AWTEventMulticaster.java:231)
	at java.awt.Component.processMouseEvent(Component.java:5100)
	at java.awt.Component.processEvent(Component.java:4897)
	at java.awt.Container.processEvent(Container.java:1569)
	at java.awt.Component.dispatchEventImpl(Component.java:3615)
	at java.awt.Container.dispatchEventImpl(Container.java:1627)
	at java.awt.Component.dispatchEvent(Component.java:3477)
	at java.awt.LightweightDispatcher.retargetMouseEvent
(Container.java:3483)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
	at java.awt.Container.dispatchEventImpl(Container.java:1613)
	at java.awt.Window.dispatchEventImpl(Window.java:1606)
	at java.awt.Component.dispatchEvent(Component.java:3477)
[catch] at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy
(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy
(EventDispatchThread.java:151)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
Comment 10 Milan Kubec 2005-12-08 07:51:12 UTC
Is this issue still INCOMPLETE? Seems to be serious.
Comment 11 Peter Pis 2005-12-08 08:03:50 UTC
Yes, we didn't find any steps how to reproduce this.
Comment 12 _ pkuzel 2005-12-08 15:27:14 UTC
Checking in MergePanel.java;
/shared/data/ccvs/repository/diff/src/org/netbeans/modules/merge/builtin/visualizer/MergePanel.java,v
 <--  MergePanel.java
new revision: 1.38; previous revision: 1.37
done
Comment 13 Peter Pis 2005-12-17 07:51:11 UTC
Michael, can you verify this issue, please?
Comment 14 misterm 2006-01-18 09:37:16 UTC
Couldn't see it in RC1.
Comment 15 Peter Pis 2006-01-24 10:58:53 UTC
*** Issue 71776 has been marked as a duplicate of this issue. ***
Comment 16 misterm 2006-01-31 12:28:52 UTC
I have just reproduced this issue in NB RC1, with the following stack trace:

java.lang.IndexOutOfBoundsException: Invalid line index=629 >= lineCount=594
	at org.netbeans.editor.LineRootElement.getElement
(LineRootElement.java:85)
	at org.openide.text.NbDocument$DocumentRenderer.run(NbDocument.java:673)
	at org.netbeans.editor.BaseDocument.render(BaseDocument.java:1126)
	at org.openide.text.NbDocument$DocumentRenderer.renderToInt
(NbDocument.java:649)
	at org.openide.text.NbDocument.findLineOffset(NbDocument.java:153)
	at org.netbeans.modules.merge.builtin.visualizer.MergePanel.showLine12
(MergePanel.java:733)
	at org.netbeans.modules.merge.builtin.visualizer.MergePanel.access$000
(MergePanel.java:45)
[catch] at org.netbeans.modules.merge.builtin.visualizer.MergePanel$1.run
(MergePanel.java:475)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:454)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy
(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy
(EventDispatchThread.java:151)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
Comment 17 Peter Pis 2006-01-31 14:29:52 UTC
Can you provide some exact steps for reproducing? Thanks.
Comment 18 misterm 2006-01-31 15:30:42 UTC
It happened once for one file when resolving conflicts for 25 files. All times 
it problem happened before no steps to reproduce were found, so I doubt this 
will be possible this time.
Comment 19 Peter Pis 2006-01-31 15:45:44 UTC
There are no exact steps for reproducing.
Comment 20 _ pkuzel 2006-03-07 16:58:12 UTC
        at ...visualizer.MergePanel.showLine12 (MergePanel.java:733)
[catch] at ..builtin.visualizer.MergePanel$1.run (MergePanel.java:475)

To my understanding recent exception does not prevent you from saving the file
and you can simply workaround by a second try...	

Comment 21 Maros Sandor 2008-12-19 12:04:45 UTC
There was no activity for 2 years, maybe the problem has been resolved as part of fixing some other issue. Please reopen
otherwise with a fresh stack trace and (possibly) a reproducible test scenario.