[corlib] Skip MVID of stackframes without method.
authorMarcos Henrich <marcos.henrich@xamarin.com>
Mon, 4 Jul 2016 10:02:16 +0000 (11:02 +0100)
committerMarcos Henrich <marcos.henrich@xamarin.com>
Fri, 8 Jul 2016 21:40:38 +0000 (22:40 +0100)
Fixes NRE caused by stackframes without any method assigned to them.

mcs/class/corlib/System.Diagnostics/StackTrace.cs

index 5f559a8af100e87b1413c34db19e9c0cadd977b6..d6914c6952722326751ef2ca3671006620fb7071 100644 (file)
@@ -337,7 +337,10 @@ namespace System.Diagnostics {
                                var mvidLines = new Dictionary<Guid, List<int>> ();
                                var frames = st.GetFrames ();
                                for (var lineNumber = 0; lineNumber < frames.Length; lineNumber++) {
-                                       var mvid = frames[lineNumber].GetMethod ().Module.ModuleVersionId;
+                                       var method = frames[lineNumber].GetMethod ();
+                                       if (method == null)
+                                               continue;
+                                       var mvid = method.Module.ModuleVersionId;
                                        if (!mvidLines.ContainsKey (mvid))
                                                mvidLines.Add (mvid, new List<int> ());