[Mono-dev] Assertion failure on exit -- NUnit

Zoltan Varga vargaz at gmail.com
Sat Mar 28 16:02:07 EDT 2009


Hi,

  This is definitely a mono bug, so feel free to log a bug report. We would
need a testcase
or precise reproduction instructions to fix it tough.

         Zoltan

On Wed, Mar 25, 2009 at 8:57 PM, Casey Marshall
<casey.s.marshall at gmail.com>wrote:

> I'm getting an intermittent assertion failure on mono 2.4 RC3, x86_64
> Ubuntu 8.04, when running NUnit 2.4.7 on an assembly that doesn't have
> any unit tests defined in it. It seems like it has something to do
> with what is happening when the program is shutting down.
>
> Naturally, since it's part of our unit test infrastructure, having
> mono exit with SIGABRT occasionally is noise we'd rather not have.
>
> Is this a known issue? Should I file a bug? I also noticed that Mono
> would fail with an assertion error in SetLastError when the program
> was exiting.
>
> Here's part of the output:
>
> **
> ** ERROR:(reflection.c:10510):mono_reflection_lookup_dynamic_token:
> code should not be reached
> Stacktrace:
>
>   at
> System
> .Runtime.Serialization.Formatters.Binary.ObjectWriter.WriteObject
> (System.IO.BinaryWriter,long,object) <0xffffffff>
>   at
> System
> .Runtime.Serialization.Formatters.Binary.ObjectWriter.WriteObject
> (System.IO.BinaryWriter,long,object) <0x002a8>
>   at
> System
> .Runtime
> .Serialization.Formatters.Binary.ObjectWriter.WriteObjectInstance
> (System.IO.BinaryWriter,object,bool) <0x0016b>
>   at
> System
> .Runtime
> .Serialization.Formatters.Binary.ObjectWriter.WriteQueuedObjects
> (System.IO.BinaryWriter) <0x00037>
>   at
> System
> .Runtime.Serialization.Formatters.Binary.ObjectWriter.WriteObjectGraph
> (System
> .IO.BinaryWriter,object,System.Runtime.Remoting.Messaging.Header[])
> <0x0005f>
>   at
> System
> .Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize
> (System.IO.Stream,object,System.Runtime.Remoting.Messaging.Header[])
> <0x0033b>
>   at
> System
> .Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize
> (System.IO.Stream,object) <0x00023>
>   at System.Threading.Thread.set_CurrentCulture
> (System.Globalization.CultureInfo) <0x000df>
>   at NUnit.Core.TestContext/ContextHolder.set_CurrentCulture
> (System.Globalization.CultureInfo) <0x0002f>
>   at NUnit.Core.TestContext/ContextHolder.ReverseChanges () <0x000b7>
>   at NUnit.Core.TestContext.Restore () <0x0001b>
>   at NUnit.Core.TestContext.Dispose () <0x0000b>
>   at NUnit.Core.TestSuite.Run
> (NUnit.Core.EventListener,NUnit.Core.ITestFilter) <0x003cc>
>   at NUnit.Core.SimpleTestRunner.Run
> (NUnit.Core.EventListener,NUnit.Core.ITestFilter) <0x000a7>
>   at NUnit.Core.TestRunnerThread.TestRunnerThreadProc () <0x00049>
>   at (wrapper runtime-invoke) object.runtime_invoke_void__this__
> (object,intptr,intptr,intptr) <0xffffffff>
>
> [...]
>
> Thread 2 (Thread 0x405e2950 (LWP 7464)):
> #0  0x00002b463e54f5cb in read () from /lib/libpthread.so.0
> #1  0x0000000000481ad8 in mono_handle_native_sigsegv (
>     signal=<value optimized out>, ctx=<value optimized out>)
>     at mini-exceptions.c:1480
> #2  <signal handler called>
> #3  0x00002b463ea12095 in raise () from /lib/libc.so.6
> #4  0x00002b463ea13af0 in abort () from /lib/libc.so.6
> #5  0x00002b463decdd97 in g_assertion_message () from /usr/lib/
> libglib-2.0.so.0
> #6  0x0000000000530d3d in mono_reflection_lookup_dynamic_token (
>     image=0x2aaaab68f000, token=<value optimized out>, valid_token=1,
>     handle_class=0x405e1290, context=0x0) at reflection.c:10510
> #7  0x00000000004c1aa7 in mono_lookup_dynamic_token (image=0x1d19,
> token=7464,
>     context=0x0) at class.c:6225
> #8  0x000000000044dda2 in mono_method_to_ir (cfg=0x2aaaac017ba0,
>     method=0xd1fd90, start_bblock=0x2aaaac02ab98,
> end_bblock=0x2aaaac02ac98,
>     return_var=0x0, dont_inline=0x2aaaac00bd60, inline_args=0x0,
>     inline_offset=0, is_virtual_call=0) at method-to-ir.c:7147
> #9  0x000000000041d7b3 in mini_method_compile (method=0xd1fd90,
> opts=55667199,
>     domain=0x2aaaab64fe00, run_cctors=<value optimized out>,
>     compile_aot=<value optimized out>, parts=0) at mini.c:3196
> #10 0x000000000041ee6a in mono_jit_compile_method (method=0xd1fd90)
>     at mini.c:3812
> #11 0x00000000004881cf in mono_magic_trampoline (regs=0x405e1a08,
>     code=0x419a0dc8 "A\203<FE><FF>t\020I\213<FD>I\213<F6>I\213E",
> m=0xd1fd90,
>     tramp=<value optimized out>) at mini-trampolines.c:292
> #12 0x0000000041b93168 in ?? ()
> #13 0x0000000000ba00f0 in ?? ()
> #14 0x0000000041ba3f58 in ?? ()
> #15 0x00002aaaab6cd860 in ?? ()
> #16 0x00002aaaab61b000 in ?? ()
> #17 0x0000000000000014 in ?? ()
> #18 0x00002aaaab61b000 in ?? ()
> #19 0x00000000405e1ab0 in ?? ()
> #20 0x000000004199972e in ?? ()
> #21 0x00002aaaab6476a8 in ?? ()
> #22 0x0000000000000200 in ?? ()
> #23 0x0000000000927778 in ?? ()
> #24 0x00002aaaab6476a8 in ?? ()
> #25 0x0000000000000000 in ?? ()
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20090328/218b83a6/attachment.html 


More information about the Mono-devel-list mailing list