Rename Refactoring Kills VS
Hello,
I have a persistent problem while trying to rename a class. A window is displayed
which is intended to list conflicts. But instead it shows a red cross and
VS closes.
Can I do enything to help to diagnose the problem?
Best regards,
Maxim
Please sign in to leave a comment.
Hello Maxim,
if the crash is consistent and ReSharper's exception reporting form is not
displayed,
then the best way to diagnose the issue is to repeat the refactoring up to
the moment when
the conflict form should appear, then attach another VS as a debugger, set
there break on
any exception, and continue refactoring. Most likely an exception will happen,
and you can copy
stack trace in the debugger and post it here.
Thanks.
Regards,
Dmitry Shaporenkov
JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"
Hello Dmitry,
Actually the new name of the class I was trying to give it was already used
by another class. Here is your exception (I got it using CLR Debugger):
+ $exception {"The ',' character, hexadecimal value 0x2C, cannot be included
in a name. Line 1, position 109."} System.Exception {System.Xml.XmlException}
> System.Xml.dll!System.Xml.XmlTextReaderImpl.Throw(System.Exception e) +
0x58 bytes
System.Xml.dll!System.Xml.XmlTextReaderImpl.Throw(string res, string[]
args) + 0x4e bytes
System.Xml.dll!System.Xml.XmlTextReaderImpl.Throw(int pos, string res,
string[] args) + 0x13 bytes
System.Xml.dll!System.Xml.XmlTextReaderImpl.ParseElement() + 0x2b6 bytes
System.Xml.dll!System.Xml.XmlTextReaderImpl.ParseElementContent() + 0x1ce
bytes
System.Xml.dll!System.Xml.XmlTextReaderImpl.Read() + 0x1b bytes
System.Xml.dll!System.Xml.XmlLoader.LoadNode(bool skipOverWhitespace =
true) + 0x22e bytes
System.Xml.dll!System.Xml.XmlLoader.LoadDocSequence(System.Xml.XmlDocument
parentDoc = ) + 0x33 bytes
System.Xml.dll!System.Xml.XmlLoader.Load(System.Xml.XmlDocument doc, System.Xml.XmlReader
reader, bool preserveWhitespace) + 0xa3 bytes
System.Xml.dll!System.Xml.XmlDocument.Load(System.Xml.XmlReader reader)
+ 0x61 bytes
System.Xml.dll!System.Xml.XmlDocument.LoadXml(string xml) + 0xc3 bytes
JetBrains.ReSharper.CommonControls.dll!JetBrains.ReSharper.CommonControls.ActiveRichText.XMLFormatter.FormatXML(string
xml = "Conflict with class Core.Collections.ReadOnlyMapBase]]>") Line 35 C#
JetBrains.ReSharper.Refactorings.dll!JetBrains.ReSharper.Refactorings.Workflow.ConflictsTreeList.ConflictFormattedTextProvider.FormattedText.get()
Line 137 + 0xd bytes C#
JetBrains.ReSharper.CommonControls.dll!JetBrains.ReSharper.CommonControls.ActiveRichText.ActiveTextViewInfo.UpdateEditValue()
Line 71 + 0x8 bytes C#
JetBrains.ReSharper.CommonControls.dll!JetBrains.ReSharper.CommonControls.ActiveRichText.ActiveTextViewInfo.OnEditValueChanged()
Line 58 C#
DevExpress.XtraEditors3.dll!DevExpress.XtraEditors.ViewInfo.BaseEditViewInfo.EditValue.set(object
value = {JetBrains.ReSharper.Refactorings.Workflow.ConflictsTreeList.ConflictFormattedTextProvider})
+ 0x63 bytes
DevExpress.XtraTreeList3.dll!DevExpress.XtraTreeList.ViewInfo.CellInfo.CellInfo(DevExpress.XtraTreeList.Columns.TreeListColumn
column = {DevExpress.XtraTreeList.Columns.TreeListColumn}, DevExpress.XtraTreeList.Nodes.TreeListNode
node = {DevExpress.XtraTreeList.Nodes.TreeListNode}) + 0xa8 bytes
DevExpress.XtraTreeList3.dll!DevExpress.XtraTreeList.TreeList.InternalCalcNodeHeight(DevExpress.XtraTreeList.Nodes.TreeListNode
node = {DevExpress.XtraTreeList.Nodes.TreeListNode}, int nodeHeight = 18,
System.Collections.ArrayList ColumnWidthes = Count = 2, bool useCache = true,
out System.Collections.ArrayList cells = Count = 1, bool even = false) +
0x184 bytes
DevExpress.XtraTreeList3.dll!DevExpress.XtraTreeList.ViewInfo.TreeListViewInfo.CalcNodeHeight(DevExpress.XtraTreeList.ViewInfo.RowInfo
ri = {DevExpress.XtraTreeList.ViewInfo.RowInfo}, out System.Collections.ArrayList
viewInfoList = Count = 1) + 0x258 bytes
DevExpress.XtraTreeList3.dll!DevExpress.XtraTreeList.ViewInfo.TreeListViewInfo.CalcRowGroupInfo(DevExpress.XtraTreeList.Nodes.TreeListNodes
nodes = {DevExpress.XtraTreeList.Nodes.TreeListNodes}, DevExpress.XtraTreeList.ViewInfo.CalcRowGroupInfoArgs
rowArgs = {DevExpress.XtraTreeList.ViewInfo.CalcRowGroupInfoArgs}) + 0x10c
bytes
DevExpress.XtraTreeList3.dll!DevExpress.XtraTreeList.ViewInfo.TreeListViewInfo.BriefCalcRowsInfo()
+ 0x104 bytes
DevExpress.XtraTreeList3.dll!DevExpress.XtraTreeList.ViewInfo.TreeListViewInfo.CalcRowsInfo()
+ 0x380 bytes
DevExpress.XtraTreeList3.dll!DevExpress.XtraTreeList.ViewInfo.TreeListViewInfo.CalcViewInfo()
+ 0x5e bytes
DevExpress.XtraTreeList3.dll!DevExpress.XtraTreeList.TreeList.UpdateLayout()
+ 0x55 bytes
DevExpress.XtraTreeList3.dll!DevExpress.XtraTreeList.TreeList.LayoutChanged()
+ 0x7f bytes
DevExpress.XtraTreeList3.dll!DevExpress.XtraTreeList.TreeList.OnLoadedCore()
+ 0x145 bytes
DevExpress.XtraTreeList3.dll!DevExpress.XtraTreeList.TreeList.OnLoaded()
+ 0x48 bytes
DevExpress.XtraEditors3.dll!DevExpress.XtraEditors.Container.EditorContainer.OnCreateControl()
+ 0x6b bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.CreateControl(bool
fIgnoreVisible) + 0x172 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.CreateControl(bool
fIgnoreVisible = false) + 0x12b bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.CreateControl(bool
fIgnoreVisible = false) + 0x12b bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.CreateControl() +
0x1b bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.ControlCollection.Add(System.Windows.Forms.Control
value = {JetBrains.ReSharper.Refactorings.Workflow.ConflictsPage}) + 0x193
bytes
JetBrains.ReSharper.Refactorings.dll!JetBrains.ReSharper.Refactorings.Workflow.RefactoringWizardForm.Content.set(JetBrains.ReSharper.Refactorings.Workflow.ICustomPage
value = {JetBrains.ReSharper.Refactorings.Workflow.ConflictsPage}) Line 108
C#
JetBrains.ReSharper.Refactorings.dll!JetBrains.ReSharper.Refactorings.Workflow.WorkflowProcessor.MyForm_OnContinueClicked(object
sender = {JetBrains.ReSharper.Refactorings.Workflow.RefactoringWizardForm,
Text: Rename}, System.EventArgs e = {System.EventArgs}) Line 148 C#
JetBrains.ReSharper.Refactorings.dll!JetBrains.ReSharper.Refactorings.Workflow.RefactoringWizardForm.myContinueButton_Click(object
sender = {Text = "Continue"}, System.EventArgs e = {System.EventArgs}) Line
453 C#
System.Windows.Forms.dll!System.Windows.Forms.Control.OnClick(System.EventArgs
e) + 0x57 bytes
System.Windows.Forms.dll!System.Windows.Forms.Button.OnClick(System.EventArgs
e) + 0x49 bytes
System.Windows.Forms.dll!System.Windows.Forms.Button.PerformClick() + 0x65
bytes
System.Windows.Forms.dll!System.Windows.Forms.Form.ProcessDialogKey(System.Windows.Forms.Keys
keyData) + 0x75 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.ProcessDialogKey(System.Windows.Forms.Keys
keyData) + 0x13 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.ProcessDialogKey(System.Windows.Forms.Keys
keyData) + 0x13 bytes
System.Windows.Forms.dll!System.Windows.Forms.ContainerControl.ProcessDialogKey(System.Windows.Forms.Keys
keyData) + 0x8a bytes
System.Windows.Forms.dll!System.Windows.Forms.ContainerControl.ProcessDialogKey(System.Windows.Forms.Keys
keyData) + 0x8a bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.ProcessDialogKey(System.Windows.Forms.Keys
keyData) + 0x13 bytes
DevExpress.XtraTreeList3.dll!DevExpress.XtraTreeList.TreeList.ProcessDialogKey(System.Windows.Forms.Keys
keyData = LButton | MButton | Back) + 0x7d bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.PreProcessMessage(ref
System.Windows.Forms.Message msg) + 0xb9 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.PreProcessControlMessageInternal(System.Windows.Forms.Control
target = {JetBrains.ReSharper.UI.AbstractTreeBuilder.DevExpressTree.TreeControlWithCheckBoxes},
ref System.Windows.Forms.Message msg = {msg=0x100 (WM_KEYDOWN) hwnd=0x2c0988
wparam=0xd lparam=0x1c0001 result=0x0}) + 0xdf bytes
System.Windows.Forms.dll!System.Windows.Forms.Application.ThreadContext.PreTranslateMessage(ref
System.Windows.Forms.NativeMethods.MSG msg = {System.Windows.Forms.NativeMethods.MSG})
+ 0x1ca bytes
System.Windows.Forms.dll!System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FPreTranslateMessage(ref
System.Windows.Forms.NativeMethods.MSG msg) + 0x5 bytes
System.Windows.Forms.dll!System.Windows.Forms.ComponentManagerProxy.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FPreTranslateMessage(ref
System.Windows.Forms.NativeMethods.MSG msg) + 0x16 bytes
Best regards,
Maxim
Hello Dmitry,
Obviously, you've forgotten to translate < and > into < and > in type
names while preparing your internal XML =)
Best regards,
Maxim
Hello Maxim,
Actually we translate <>&"' but , is news for me ;)
Oleg Stepanov
Software Developer
JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"
Hello Oleg,
OK, you know it better... However what I see from this stacktrace is the
following line
xml = "Conflict with class Core.Collections.ReadOnlyMapBase" Obviosly, < and >]]> are not translated into entities. That is why parser complains
about comma in element name....
Best regards,
Maxim
Hello Maxim,
Fixed in 214.
Oleg Stepanov
Software Developer
JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"
>> System.Xml.dll!System.Xml.XmlTextReaderImpl.Throw(System.Exception e)
>> +
>>
Hello Oleg,
Great. Thanks!
Best regards,
Maxim
Hello Oleg,
I just got a very similar exception in 215. Are you sure the bug is fixed?
http://www.intellij.net/forums/thread.jsp?forum=35&thread=191509&tstart=0&trange=15
Again, the VS was killed.
Best regards,
Maxim