midspace / SEToolbox

This is a comprehensive 'world' Save Editor for the 'Space Engineers' Game.
145 stars 62 forks source link

Drag-drop of "Unknown" MyObjectBuilder_ReplicableEntity and Planet causes crash #25

Closed midspace closed 8 years ago

midspace commented 8 years ago

Trying to Drag the "Unknown" MyObjectBuilder_ReplicableEntity from one SEToolbox to another causes crash in the source SEToolbox.

2016-01-15 16:54:14,762 [1] FATAL SEToolbox.Support.DiagnosticsLogging [(null)] - Unhandled Exception
Application: C:\Program Files (x86)\MidSpace\SEToolbox\SEToolbox.exe
CommandLine: "C:\Program Files (x86)\MidSpace\SEToolbox\SEToolbox.exe" 
CurrentDirectory: C:\Program Files (x86)\MidSpace\SEToolbox
SEBinPath: C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers\Bin64
SEBinVersion: 1.117.7
ProcessorCount: 8
OSVersion: Microsoft Windows NT 6.2.9200.0
Version: 4.0.30319.42000
Is64BitOperatingSystem: True
IntPtr.Size: 8
IsAdmin: False
CurrentUICulture: en-US
CurrentCulture: en-AU

Files:
2016-01-11T18:42:58.0000000+11:00   498,176 2014.2.17.1 HelixToolkit.Wpf.dll
2016-01-11T18:42:58.0000000+11:00   200,704 0.86.0.518  ICSharpCode.SharpZipLib.dll
2016-01-11T18:42:58.0000000+11:00   301,056 1.2.13.0    log4net.dll
2016-01-15T08:34:26.2416899+11:00   18,872  1.0.0.0 MedievalEngineers.ObjectBuilders.dll
2016-01-15T08:35:07.9814285+11:00   901,048 1.0.0.0 MedievalEngineers.ObjectBuilders.XmlSerializers.dll
2016-01-15T08:35:18.4863631+11:00   98,744  1.0.0.0 Sandbox.Common.dll
2016-01-14T22:15:02.0000000+11:00   1,173,504   01.117.002.1    SEToolbox.exe
2016-01-12T17:41:58.0000000+11:00   747     SEToolbox.exe.config
2016-01-12T22:41:16.0000000+11:00   27,648  1.0.0.0 SEToolbox.ImageLibrary.dll
2016-01-14T22:14:56.0000000+11:00   7,680   1.0.0.0 SEToolbox.ImageShaders.dll
2016-01-14T22:15:02.0000000+11:00   2,260,480       SEToolbox.pdb
2016-01-12T22:41:16.0000000+11:00   51,712  1.0.0.0 SEToolboxUpdate.exe
2016-01-15T08:35:09.5136955+11:00   49,080  1.0.0.0 SpaceEngineers.ObjectBuilders.dll
2016-01-15T08:35:20.1473553+11:00   10,273,720  1.0.0.0 SpaceEngineers.ObjectBuilders.XmlSerializers.dll
2016-01-11T18:42:58.0000000+11:00   39,936  2.0.20525.0 System.Windows.Interactivity.dll
2016-01-15T08:34:31.8562782+11:00   608,696 1.0.0.0 VRage.dll
2016-01-15T08:34:25.2445376+11:00   395,704 1.0.0.0 VRage.Game.dll
2016-01-15T08:34:32.3902485+11:00   2,125,752   1.0.0.0 VRage.Game.XmlSerializers.dll
2016-01-15T08:35:11.0910584+11:00   624,056 1.0.0.0 VRage.Library.dll
2016-01-15T08:34:35.9800871+11:00   467,384 1.0.0.0 VRage.Math.dll
2016-01-11T18:42:58.0000000+11:00   64,512  2.2.0   WPFLocalizeExtension.dll
2016-01-11T18:42:58.0000000+11:00   26,624  1.1.6.3 XAMLMarkupExtensions.dll

System.NullReferenceException: Object reference not set to an instance of an object.
   at VRage.ObjectBuilders.MyObjectBuilderSerializer.DeserializeXML(Stream reader, MyObjectBuilder_Base& objectBuilder, Type builderType)
   at VRage.ObjectBuilders.MyObjectBuilderSerializer.DeserializeXML[T](Stream reader, T& objectBuilder)
   at SEToolbox.Interop.SpaceEngineersApi.Deserialize[T](String xml) in d:\Development\GitHub\SEToolbox\Main\SEToolbox\SEToolbox\Interop\SpaceEngineersAPI.cs:line 92
   at SEToolbox.Models.StructureUnknownModel.OnDeserializedMethod(StreamingContext context) in d:\Development\GitHub\SEToolbox\Main\SEToolbox\SEToolbox\Models\StructureUnknownModel.cs:line 32
   at System.Runtime.Serialization.SerializationEvents.InvokeOnDeserialized(Object obj, StreamingContext context)
   at System.Runtime.Serialization.ObjectManager.RaiseOnDeserializedEvent(Object obj)
   at System.Runtime.Serialization.ObjectManager.RegisterObject(Object obj, Int64 objectID, SerializationInfo info, Int64 idOfContainingObj, MemberInfo member, Int32[] arrayIndex)
   at System.Runtime.Serialization.Formatters.Binary.ObjectReader.RegisterObject(Object obj, ParseRecord pr, ParseRecord objectPr, Boolean bIsString)
   at System.Runtime.Serialization.Formatters.Binary.ObjectReader.ParseObjectEnd(ParseRecord pr)
   at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.Run()
   at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
   at System.Windows.DataObject.OleConverter.ReadObjectFromHandle(IntPtr handle)
   at System.Windows.DataObject.OleConverter.GetDataFromHGLOBAL(String format, IntPtr hglobal)
   at System.Windows.DataObject.OleConverter.GetDataFromOleHGLOBAL(String format, DVASPECT aspect, Int32 index)
   at System.Windows.DataObject.OleConverter.GetDataFromBoundOleDataObject(String format, DVASPECT aspect, Int32 index)
   at System.Windows.DataObject.OleConverter.GetData(String format, Boolean autoConvert, DVASPECT aspect, Int32 index)
   at System.Windows.DataObject.OleConverter.GetData(String format, Boolean autoConvert)
   at SEToolbox.Services.ListBoxDropBehavior.AssociatedObject_Drop(Object sender, DragEventArgs e) in d:\Development\GitHub\SEToolbox\Main\SEToolbox\SEToolbox\Services\ListBoxDropBehavior.cs:line 98
   at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   at System.Windows.OleDropTarget.RaiseDragEvent(RoutedEvent dragEvent, Int32 dragDropKeyStates, Int32& effects, DependencyObject target, Point targetPoint)
   at System.Windows.OleDropTarget.MS.Win32.UnsafeNativeMethods.IOleDropTarget.OleDrop(Object data, Int32 dragDropKeyStates, Int64 point, Int32& effects)
   at MS.Win32.UnsafeNativeMethods.DoDragDrop(IDataObject dataObject, IOleDropSource dropSource, Int32 allowedEffects, Int32[] finalEffect)
   at System.Windows.OleServicesContext.OleDoDragDrop(IDataObject dataObject, IOleDropSource dropSource, Int32 allowedEffects, Int32[] finalEffect)
   at System.Windows.DragDrop.OleDoDragDrop(DependencyObject dragSource, DataObject dataObject, DragDropEffects allowedEffects)
   at System.Windows.DragDrop.DoDragDrop(DependencyObject dragSource, Object data, DragDropEffects allowedEffects)
   at SEToolbox.Services.ListBoxItemDragBehavior.AssociatedObject_MouseLeave(Object sender, MouseEventArgs e) in d:\Development\GitHub\SEToolbox\Main\SEToolbox\SEToolbox\Services\ListBoxItemDragBehavior.cs:line 154
   at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   at System.Windows.ReverseInheritProperty.FirePropertyChangeInAncestry(DependencyObject element, Boolean oldValue, DeferredElementTreeState treeState, Action`2 originChangedAction)
   at System.Windows.ReverseInheritProperty.FirePropertyChangeInAncestry(DependencyObject element, Boolean oldValue, DeferredElementTreeState treeState, Action`2 originChangedAction)
   at System.Windows.ReverseInheritProperty.OnOriginValueChanged(DependencyObject oldOrigin, DependencyObject newOrigin, IList`1 otherOrigins, DeferredElementTreeState& oldTreeState, Action`2 originChangedAction)
   at System.Windows.Input.MouseDevice.ChangeMouseOver(IInputElement mouseOver, Int32 timestamp)
   at System.Windows.Input.MouseDevice.PreNotifyInput(Object sender, NotifyInputEventArgs e)
   at System.Windows.Input.InputManager.ProcessStagingArea()
   at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
   at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
   at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
midspace commented 8 years ago

A log from a user from trying to drag-drop a planet, but it is the same issue in a different area.

2016-04-11 02:38:42,199 [1] FATAL SEToolbox.Support.DiagnosticsLogging [(null)] - Unhandled Exception
Application: C:\Users\%USERNAME%\Downloads\SEToolbox-01.129.003.1 (1)\SEToolbox.exe
CommandLine: "C:\Users\%USERNAME%\Downloads\SEToolbox-01.129.003.1 (1)\SEToolbox.exe" /B /B
CurrentDirectory: C:\Users\%USERNAME%\Downloads\SEToolbox-01.129.003.1 (1)
SEBinPath: G:\Steam\SteamApps\common\SpaceEngineers\Bin64
SEBinVersion: 1.129.7
ProcessorCount: 8
OSVersion: Microsoft Windows NT 6.2.9200.0
Version: 4.0.30319.42000
Is64BitOperatingSystem: True
IntPtr.Size: 8
IsAdmin: True
CurrentUICulture: en-GB
CurrentCulture: en-GB
Files:
2016-04-08T18:43:57.4053847+01:00 28,192,184 HavokWrapper.dll
2016-04-11T02:37:30.2618285+01:00 498,176 2014.2.17.1 HelixToolkit.Wpf.dll
2016-04-11T02:37:30.3028482+01:00 200,704 0.86.0.518 ICSharpCode.SharpZipLib.dll
2016-04-11T02:37:30.3538832+01:00 301,056 1.2.13.0 log4net.dll
2016-04-08T18:43:58.1972589+01:00 39,352 1.0.0.0 Sandbox.Common.dll
2016-04-08T18:43:58.1972589+01:00 5,444,024 1.0.0.0 Sandbox.Game.dll
2016-04-11T02:37:36.2904544+01:00 1,252,352 01.129.003.1 SEToolbox.exe
2016-04-11T02:37:30.4833145+01:00 747 SEToolbox.exe.config
2016-04-11T02:37:30.4998261+01:00 27,648 1.0.0.0 SEToolbox.ImageLibrary.dll
2016-04-11T02:37:30.5153468+01:00 7,680 1.0.0.0 SEToolbox.ImageShaders.dll
2016-04-11T02:37:30.5553385+01:00 2,371,072 SEToolbox.pdb
2016-04-11T02:37:40.2643527+01:00 51,200 1.0.0.0 SEToolboxUpdate.exe
2016-04-08T18:43:52.4172840+01:00 49,592 1.0.0.0 SpaceEngineers.ObjectBuilders.dll
2016-04-08T18:43:53.3438523+01:00 10,136,504 1.0.0.0 SpaceEngineers.ObjectBuilders.XmlSerializers.dll
2016-04-11T02:37:30.6158638+01:00 39,936 2.0.20525.0 System.Windows.Interactivity.dll
2016-04-08T18:43:53.3363515+01:00 665,528 1.0.0.0 VRage.dll
2016-04-08T18:43:57.5522163+01:00 670,136 1.0.0.0 VRage.Game.dll
2016-04-08T18:43:57.5522163+01:00 2,491,832 1.0.0.0 VRage.Game.XmlSerializers.dll
2016-04-08T18:43:58.1972589+01:00 636,856 1.0.0.0 VRage.Library.dll
2016-04-08T18:43:57.9978644+01:00 470,456 1.0.0.0 VRage.Math.dll
2016-04-11T02:37:30.6458752+01:00 64,512 2.2.0 WPFLocalizeExtension.dll
2016-04-11T02:37:30.6704485+01:00 26,624 1.1.6.3 XAMLMarkupExtensions.dll

System.NullReferenceException:
Object reference not set to an instance of an object.
at VRage.ObjectBuilders.MyObjectBuilderSerializer.DeserializeXML(Stream reader, MyObjectBuilder_Base& objectBuilder, Type builderType)
at VRage.ObjectBuilders.MyObjectBuilderSerializer.DeserializeXML[T](Stream reader, T& objectBuilder)
at SEToolbox.Interop.SpaceEngineersApi.Deserialize[T](String xml) in d:\Development\GitHub\SEToolbox\Main\SEToolbox\SEToolbox\Interop\SpaceEngineersApi.cs:line 100
at SEToolbox.Models.StructureVoxelModel.OnDeserializedMethod(StreamingContext context) in d:\Development\GitHub\SEToolbox\Main\SEToolbox\SEToolbox\Models\StructureVoxelModel.cs:line 281
at System.Runtime.Serialization.SerializationEvents.InvokeOnDeserialized(Object obj, StreamingContext context)
at System.Runtime.Serialization.ObjectManager.RaiseOnDeserializedEvent(Object obj)
at System.Runtime.Serialization.ObjectManager.RegisterObject(Object obj, Int64 objectID, SerializationInfo info, Int64 idOfContainingObj, MemberInfo member, Int32[] arrayIndex)
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.RegisterObject(Object obj, ParseRecord pr, ParseRecord objectPr, Boolean bIsString)
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.ParseObjectEnd(ParseRecord pr)
at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.Run()
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
at System.Windows.DataObject.OleConverter.ReadObjectFromHandle(IntPtr handle)
at System.Windows.DataObject.OleConverter.GetDataFromHGLOBAL(String format, IntPtr hglobal)
at System.Windows.DataObject.OleConverter.GetDataFromOleHGLOBAL(String format, DVASPECT aspect, Int32 index)
at System.Windows.DataObject.OleConverter.GetDataFromBoundOleDataObject(String format, DVASPECT aspect, Int32 index)
at System.Windows.DataObject.OleConverter.GetData(String format, Boolean autoConvert, DVASPECT aspect, Int32 index)
at System.Windows.DataObject.OleConverter.GetData(String format, Boolean autoConvert)
at SEToolbox.Services.ListBo:DropBehavior.AssociatedObject_Drop(Object sender, DragEventArgs e) in d:\Development\GitHub\SEToolbox\Main\SEToolbox\SEToolbox\Services\ListBo:DropBehavior.cs:line 98
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.OleDropTarget.RaiseDragEvent(RoutedEvent dragEvent, Int32 dragDropKeyStates, Int32& effects, DependencyObject target, Point targetPoint)
at System.Windows.OleDropTarget.MS.Win32.UnsafeNativeMethods.IOleDropTarget.OleDrop(Object data, Int32 dragDropKeyStates, Int64 point, Int32& effects)
at MS.Win32.UnsafeNativeMethods.DoDragDrop(IDataObject dataObject, IOleDropSource dropSource, Int32 allowedEffects, Int32[] finalEffect)
at System.Windows.OleServicesContext.OleDoDragDrop(IDataObject dataObject, IOleDropSource dropSource, Int32 allowedEffects, Int32[] finalEffect)
at System.Windows.DragDrop.OleDoDragDrop(DependencyObject dragSource, DataObject dataObject, DragDropEffects allowedEffects)
at System.Windows.DragDrop.DoDragDrop(DependencyObject dragSource, Object data, DragDropEffects allowedEffects)
at SEToolbox.Services.ListBoxItemDragBehavior.AssociatedObject_MouseLeave(Object sender, MouseEventArgs e) in d:\Development\GitHub\SEToolbox\Main\SEToolbox\SEToolbox\Services\ListBoxItemDragBehavior.cs:line 154
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.ReverseInheritProperty.FirePropertyChangeInAncestry(DependencyObject element, Boolean oldValue, DeferredElementTreeState treeState, Action`2 originChangedAction)
at System.Windows.ReverseInheritProperty.FirePropertyChangeInAncestry(DependencyObject element, Boolean oldValue, DeferredElementTreeState treeState, Action`2 originChangedAction)
at System.Windows.ReverseInheritProperty.OnOriginValueChanged(DependencyObject oldOrigin, DependencyObject newOrigin, IList`1 otherOrigins, DeferredElementTreeState& oldTreeState, Action`2 originChangedAction)
at System.Windows.Input.MouseDevice.ChangeMouseOver(IInputElement mouseOver, Int32 timestamp)
at System.Windows.Input.MouseDevice.PreNotifyInput(Object sender, NotifyInputEventArgs e)
at System.Windows.Input.InputManager.ProcessStagingArea()
at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
midspace commented 8 years ago

Fixed and ready for release.