I received the following crash reports from a customer (who sent it to me via e-mail). One zip file was empty, the other one contained this error:
<?xml version="1.0"?>
<SerializableException xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ExtendedInformation>
<HResult>-2146233088</HResult>
</ExtendedInformation>
<InnerException>
<ExtendedInformation>
<HResult>-2146233079</HResult>
</ExtendedInformation>
<InnerException>
<ExtendedInformation>
<HResult>-2147467262</HResult>
</ExtendedInformation>
<Message>Xml type 'List of xdt:untypedAtomic' does not support a conversion from Clr type 'WebExceptionStatus' to Clr type 'String'.</Message>
<Source>System.Xml</Source>
<StackTrace> at System.Xml.Schema.XmlListConverter.ChangeListType(Object value, Type destinationType, IXmlNamespaceResolver nsResolver)
at System.Xml.Schema.XmlUntypedConverter.ToString(Object value, IXmlNamespaceResolver nsResolver)
at System.Xml.XmlWriter.WriteValue(Object value)
at NBug.Core.Util.Serialization.SerializableDictionary`2.WriteXml(XmlWriter writer)
at System.Xml.Serialization.XmlSerializationWriter.WriteSerializable(IXmlSerializable serializable, String name, String ns, Boolean isNullable, Boolean wrapped)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterSerializableException.Write2_SerializableException(String n, String ns, SerializableException o, Boolean isNullable, Boolean needType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterSerializableException.Write3_SerializableException(Object o)</StackTrace>
<TargetSite>System.Object ChangeListType(System.Object, System.Type, System.Xml.IXmlNamespaceResolver) @ System.Xml.Schema.XmlListConverter</TargetSite>
<Type>System.InvalidCastException</Type>
</InnerException>
<Message>There was an error generating the XML document.</Message>
<Source>System.Xml</Source>
<StackTrace> at System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle, String id)
at System.Xml.Serialization.XmlSerializer.Serialize(Stream stream, Object o, XmlSerializerNamespaces namespaces)
at NBug.Core.Reporting.BugReport.CreateReportZip(SerializableException serializableException, Report report)
at NBug.Core.Reporting.BugReport.Report(Exception exception, ExceptionThread exceptionThread)</StackTrace>
<TargetSite>Void Serialize(System.Xml.XmlWriter, System.Object, System.Xml.Serialization.XmlSerializerNamespaces, System.String, System.String) @ System.Xml.Serialization.XmlSerializer</TargetSite>
<Type>System.InvalidOperationException</Type>
</InnerException>
<Message>An exception occurred during bug report generation process. See the inner exception for details.</Message>
<Source>NBug</Source>
<StackTrace> at NBug.Core.Util.Logging.Logger.Error(String message, Exception exception)
at NBug.Core.Reporting.BugReport.Report(Exception exception, ExceptionThread exceptionThread)
at NBug.Handler.ThreadExceptionHandler(Object sender, ThreadExceptionEventArgs e)
at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
at System.Windows.Forms.Control.InvokeMarshaledCallbacks()
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)</StackTrace>
<TargetSite>Void Error(System.String, System.Exception) @ NBug.Core.Util.Logging.Logger</TargetSite>
<Type>NBug.Core.Util.Exceptions.NBugRuntimeException</Type>
</SerializableException>
I have a sneaking suspicion that the initial crash report tried to serialize something that was unserializable, but I haven't been able to confirm that. NBug should in any case probably handle this error better, so it doesn't bring down the whole app.