Bug 45528 - StackOverflowError on save from compare with workspace and remote
Summary: StackOverflowError on save from compare with workspace and remote
Status: RESOLVED DUPLICATE of bug 34745
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Compare (show other bugs)
Version: 3.0   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.0 RC3   Edit
Assignee: Andre Weinand CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-10-24 14:32 EDT by Darin Swanson CLA
Modified: 2004-06-16 09:05 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Darin Swanson CLA 2003-10-24 14:32:45 EDT
From the synchronize view, double clicked on a resource with outgoing changes 
(a properties file).

Selected a deleted property in the Property Compare top view, double clicked.
Used Copy current changed from Right to Left
Context menu in left text compare pane, Save

Stack overflow...sorry the stack trace is not complete. I had to retrieve 
using a quick ctrl break as it was not provided in the .log file.
Will attach stace.

  at org.eclipse.compare.BufferedContent.setContent(BufferedContent.java:70)
        at 
org.eclipse.team.internal.ui.sync.compare.LocalResourceTypedElement.setContent
(LocalResourceTypedElement.java:53)
        at org.eclipse.jdt.internal.ui.compare.PropertiesStructureCreator.save
(PropertiesStructureCreator.java:151)
        at 
org.eclipse.jdt.internal.ui.compare.PropertiesStructureCreator$1.nodeChanged
(PropertiesStructureCreator.java:129)
        at 
org.eclipse.jdt.internal.ui.compare.PropertiesStructureCreator$PropertyNode.rep
lace(PropertiesStructureCreator.java:88)
        at org.eclipse.compare.structuremergeviewer.DiffNode.copy
(DiffNode.java:302)
        at 
org.eclipse.compare.internal.MergeViewerContentProvider.saveLeftContent
(MergeViewerContentProvider.java:99)
        at 
org.eclipse.compare.contentmergeviewer.ContentMergeViewer.saveContent
(ContentMergeViewer.java:967)
        at org.eclipse.compare.contentmergeviewer.ContentMergeViewer.save
(ContentMergeViewer.java:948)
        at org.eclipse.compare.CompareEditorInput.flushViewer
(CompareEditorInput.java:747)
        at org.eclipse.compare.CompareEditorInput.saveChanges
(CompareEditorInput.java:738)
        at 
org.eclipse.team.internal.ui.sync.compare.SyncInfoCompareInput.saveChanges
(SyncInfoCompareInput.java:177)
        at 
org.eclipse.team.internal.ui.sync.compare.SyncInfoCompareInput$1.contentChanged
(SyncInfoCompareInput.java:74)
        at org.eclipse.compare.BufferedContent.fireContentChanged
(BufferedContent.java:125)
        at org.eclipse.compare.BufferedContent.setContent
(BufferedContent.java:70)
        at 
org.eclipse.team.internal.ui.sync.compare.LocalResourceTypedElement.setContent
(LocalResourceTypedElement.java:53
        at org.eclipse.jdt.internal.ui.compare.PropertiesStructureCreator.save
(PropertiesStructureCreator.java:151)
        at 
org.eclipse.jdt.internal.ui.compare.PropertiesStructureCreator$1.nodeChanged
(PropertiesStructureCreator.java:129)
        at 
org.eclipse.jdt.internal.ui.compare.PropertiesStructureCreator$PropertyNode.rep
lace(PropertiesStructureCreator.java:88)
        at org.eclipse.compare.structuremergeviewer.DiffNode.copy
(DiffNode.java:302)
        at 
org.eclipse.compare.internal.MergeViewerContentProvider.saveLeftContent
(MergeViewerContentProvider.java:99)
        at 
org.eclipse.compare.contentmergeviewer.ContentMergeViewer.saveContent
(ContentMergeViewer.java:967)
        at org.eclipse.compare.contentmergeviewer.ContentMergeViewer.save
(ContentMergeViewer.java:948)
        at org.eclipse.compare.CompareEditorInput.flushViewer
(CompareEditorInput.java:747)
        at org.eclipse.compare.CompareEditorInput.saveChanges
(CompareEditorInput.java:738)
        at 
org.eclipse.team.internal.ui.sync.compare.SyncInfoCompareInput.saveChanges
(SyncInfoCompareInput.java:177)
        at 
org.eclipse.team.internal.ui.sync.compare.SyncInfoCompareInput$1.contentChanged
(SyncInfoCompareInput.java:74)
        at org.eclipse.compare.BufferedContent.fireContentChanged
(BufferedContent.java:125)
        at org.eclipse.compare.BufferedContent.setContent
(BufferedContent.java:70)
        at 
org.eclipse.team.internal.ui.sync.compare.LocalResourceTypedElement.setContent
(LocalResourceTypedElement.java:53)
        at org.eclipse.jdt.internal.ui.compare.PropertiesStructureCreator.save
(PropertiesStructureCreator.java:151)
        at 
org.eclipse.jdt.internal.ui.compare.PropertiesStructureCreator$1.nodeChanged
(PropertiesStructureCreator.java:129)
        at 
org.eclipse.jdt.internal.ui.compare.PropertiesStructureCreator$PropertyNode.rep
lace(PropertiesStructureCreator.java:88)
        at org.eclipse.compare.structuremergeviewer.DiffNode.copy
(DiffNode.java:302)
        at 
org.eclipse.compare.internal.MergeViewerContentProvider.saveLeftContent
(MergeViewerContentProvider.java:99)
        at 
org.eclipse.compare.contentmergeviewer.ContentMergeViewer.saveContent
(ContentMergeViewer.java:967)
        at org.eclipse.compare.contentmergeviewer.ContentMergeViewer.save
(ContentMergeViewer.java:948)
        at org.eclipse.compare.CompareEditorInput.flushViewer
(CompareEditorInput.java:747)
        at org.eclipse.compare.CompareEditorInput.saveChanges
(CompareEditorInput.java:738)
Comment 1 Darin Swanson CLA 2003-10-24 14:33:43 EDT
On I20031023 and as you can see the stack trace is inline :-)
Comment 2 Jean-Michel Lemieux CLA 2003-11-17 15:54:27 EST
I can't dupe with 20031113. I've tried your scenario plus some others and 
wasn't able to reproduce. Also, this is a fairly common use case for which we 
haven't seen other bug reports. I'm going to close but let me know if this 
happens again.
Comment 3 Darin Swanson CLA 2003-11-17 16:00:00 EST
Reproduced on I2003113
Same test case.
Comment 4 Darin Swanson CLA 2003-11-17 16:01:32 EST
Did you wish to Sametime so I could walk you through the test case?
Comment 5 Jean-Michel Lemieux CLA 2003-11-17 16:24:27 EST
Failure case requires a property to be deleted then a copy left to right, next 
the save. I was trying property changes and additions which work.
Comment 6 Jean-Michel Lemieux CLA 2003-11-18 15:01:43 EST
Traced this and found that the infinite recursion is caused by the property 
content merge viewer that fails to change it's state to un-dirty and thinks 
that it needs a flush even after flushing. This behavior is ok with the java 
merge viewer.

To reproduce you can open a compare editor from the sync view for 
a .properties file. Ensure that the file has an outgoing deletion. Next, 
select the deletion in the structure compare then copy right to left. Next in 
the context menu of the text merge viewer select save. 
Comment 7 Andre Weinand CLA 2004-06-16 09:05:32 EDT
We forgot to apply fix for a similar problem in Java source (bug #34745) to the Java property case.


*** This bug has been marked as a duplicate of 34745 ***