[Mono-bugs] [Bug 62892][Nor] New - Double free/abort trap on nunit-console test failure.

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Wed, 11 Aug 2004 17:55:37 -0400 (EDT)

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 mass@akuma.org.


--- shadow/62892	2004-08-11 17:55:37.000000000 -0400
+++ shadow/62892.tmp.27122	2004-08-11 17:55:37.000000000 -0400
@@ -0,0 +1,55 @@
+Bug#: 62892
+Product: Mono: Runtime
+Version: unspecified
+OS Details: Mac OS X 10.4 tiger preview seed update 1
+Status: NEW   
+Priority: Normal
+Component: misc
+AssignedTo: mono-bugs@ximian.com                            
+ReportedBy: mass@akuma.org               
+QAContact: mono-bugs@ximian.com
+TargetMilestone: ---
+Summary: Double free/abort trap on nunit-console test failure.
+Local build /Library/Frameworks/Mono.framework/Versions/20040810T13-CVS/
+Simple test case;
+compile the attached file into a library, referencing nunit.framework, i.e.
+mcs /t:library a.cs /r:nunit.framework
+run file through the nunit console, telling mono to include debugging
+information, i.e.
+mono --debug nunit-console.exe a.dll
+on cleanup, there will be a double free().
+I run with
+MallocBadFreeAbort=1 mono --debug nunit-console.exe a.dll /wait
+after the test failure (and before the double dealloc) it will pause,
+letting you attach gdb
+The last few frames of the stack trace looks like:
+#0  0x900421ec in kill ()
+#1  0x9009c55c in abort ()
+#2  0x9000137c in free ()
+#3  0x00285948 in mono_debug_close_image (handle=0x2d2b600) at mono-debug.c:141
+#4  0x006146ac in g_hash_nodes_destroy (hash_node=0x2112e24,
+key_destroy_func=0, value_destroy_func=0x28591c
+<mono_debug_close_image>) at ghash.c:744
+#5  0x006132c0 in g_hash_table_destroy (hash_table=0x1b312d0) at ghash.c:178
+#6  0x00285814 in mono_debug_cleanup () at mono-debug.c:98
+#7  0x0021b710 in mini_cleanup (domain=0x54f18) at mini.c:8397
+and the handle.image.name field looks corrupted. strangely, it doesn't
+look scribbled over if I turn on malloc scribbling, thats the
+worrisome part.
+Update: kangaroo ran under panther, on his system it still fails, but it aborts before hitting the 
+nunit wait.