[Mono-bugs] [Bug 78325][Nor] New - Invalid behaviour of runtime causing NullReferenceException in unexpected place

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Sun May 7 14:28:17 EDT 2006


Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by nazgul at omega.pl.

http://bugzilla.ximian.com/show_bug.cgi?id=78325

--- shadow/78325	2006-05-07 14:28:17.000000000 -0400
+++ shadow/78325.tmp.7462	2006-05-07 14:28:17.000000000 -0400
@@ -0,0 +1,100 @@
+Bug#: 78325
+Product: Mono: Runtime
+Version: 1.0
+OS: 
+OS Details: Mandrake Linux, x86, mono 1.1.15 / mono svn
+Status: NEW   
+Resolution: 
+Severity: 
+Priority: Normal
+Component: JIT
+AssignedTo: lupus at ximian.com                            
+ReportedBy: nazgul at omega.pl               
+QAContact: mono-bugs at ximian.com
+TargetMilestone: ---
+URL: 
+Cc: 
+Summary: Invalid behaviour of runtime causing NullReferenceException in unexpected place
+
+Please fill in this template when reporting a bug, unless you know what you
+are doing.
+Description of Problem:
+There is some issue in mono runtime, which is causing NPE when reading
+property Name inside 
+mcs/class/Mono.CompilerServices.SymbolWriter/MonoSymbolWriter.cs:182
+
+Steps to reproduce the problem:
+1. Download http://nemerle.org/~nazgul/temp/bug.tar.gz
+2. Setup MONO variable in Makefile to current mono 
+3. make
+
+Actual Results:
+error: internal compiler error: got some unknown exception of type
+System.NullReferenceException: Object reference not set to an instance of
+an object
+in <0x001cf>
+Mono.CompilerServices.SymbolWriter.MonoSymbolWriter:WriteSymbolFile (Guid guid)
+in <0x00092> Mono.CompilerServices.SymbolWriter.SymbolWriterImpl:Close ()
+in <0x003bf> System.Reflection.Emit.ModuleBuilder:Save ()
+in <0x004c9> System.Reflection.Emit.AssemblyBuilder:Save (System.String
+assemblyFileName, PortableExecutableKinds portableExecutableKind,
+ImageFileMachine imageFileMachine)
+in <0x00014> System.Reflection.Emit.AssemblyBuilder:Save (System.String
+assemblyFileName)
+in <0x00165> Nemerle.Compiler.TypesManager:SaveAssembly ()
+in <0x00226> Nemerle.Compiler.Passes:Run ()
+in <0x000c2> Nemerle.CommandlineCompiler.MainClass:main_with_catching ()
+
+
+Expected Results:
+clear run
+
+How often does this happen? 
+Always, but for example exchanging order of compiled files makes bug disappear
+
+Additional Information:
+To observe that this is actually some bug in runtime apply this patch:
+
+Index: MonoSymbolWriter.cs
+===================================================================
+--- MonoSymbolWriter.cs (wersja 60381)
++++ MonoSymbolWriter.cs (kopia robocza)
+@@ -174,6 +174,9 @@
+                public void WriteSymbolFile (Guid guid)
+                {
+                        foreach (SourceMethod method in methods) {
++                         System.Console.WriteLine ("before
+{0}|{1}|{2}|{3}", method, method.Method, method.SourceFile.Entry.FileName,
+method.Start);
++                         System.Console.WriteLine ("before
+{0}|{1}|{2}|{3}|{4}", method, method.Method,
+method.SourceFile.Entry.FileName,method.Start, method.Method.Name);
++
+                                method.SourceFile.Entry.DefineMethod (
+                                        method.Method.Name,
+method.Method.Token,
+                                        method.Locals, method.Lines,
+method.Blocks,
+
+
+The results are:
+before
+Mono.CompilerServices.SymbolWriter.MonoSymbolWriter+SourceMethod|Mono.CompilerServices.SymbolWriter.SourceMethodImpl|/home/nazgul/projects/nemerle/ncc/bugreport/internal.n|[Line
+33:0]
+before
+Mono.CompilerServices.SymbolWriter.MonoSymbolWriter+SourceMethod|Mono.CompilerServices.SymbolWriter.SourceMethodImpl|/home/nazgul/projects/nemerle/ncc/bugreport/internal.n|[Line
+33:0]|.ctor
+before
+Mono.CompilerServices.SymbolWriter.MonoSymbolWriter+SourceMethod|Mono.CompilerServices.SymbolWriter.SourceMethodImpl|/home/nazgul/projects/nemerle/ncc/bugreport/internal.n|[Line
+40:0]
+error: internal compiler error: got some unknown exception of type
+System.NullReferenceException: Object reference not set to an instance of
+an object
+
+
+Which after some inspection of source code yields that something is broken
+in runtime, as method.Method is not null and Name is defined as
+
+		public string Name {
+			get { return name; }
+		}


More information about the mono-bugs mailing list