[Mono-bugs] [Bug 558774] New: class.c:2719:setup_interface_offsets: assertion failed: (class->interface_offsets_count == interface_offsets_count)

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Thu Nov 26 15:24:31 EST 2009


http://bugzilla.novell.com/show_bug.cgi?id=558774

http://bugzilla.novell.com/show_bug.cgi?id=558774#c0


           Summary: class.c:2719:setup_interface_offsets: assertion
                    failed: (class->interface_offsets_count ==
                    interface_offsets_count)
    Classification: Mono
           Product: Mono: Runtime
           Version: SVN
          Platform: x86-64
        OS/Version: Linux
            Status: NEW
          Severity: Major
          Priority: P5 - None
         Component: generics
        AssignedTo: mono-bugs at lists.ximian.com
        ReportedBy: basile at starynkevitch.net
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---
           Blocker: ---


User-Agent:       Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.5)
Gecko/20091123 Iceweasel/3.5.5 (like Firefox/3.5.5; Debian-3.5.5-1)

when making Mono from svn rev 147005 I am getting

ERROR:class.c:2719:setup_interface_offsets: assertion failed:
(class->interface_offsets_count == interface_offsets_count)
Stacktrace:

  at (wrapper managed-to-native)
System.Reflection.Emit.TypeBuilder.create_runtime_class
(System.Reflection.Emit.TypeBuilder*,System.Reflection.Emit.TypeBuilder)
<0x0004b>
  at (wrapper managed-to-native)
System.Reflection.Emit.TypeBuilder.create_runtime_class
(System.Reflection.Emit.TypeBuilder*,System.Reflection.Emit.TypeBuilder)
<0x0004b>
  at System.Reflection.Emit.TypeBuilder.CreateType () <0x00407>
  at Mono.CSharp.TypeContainer.CloseType () <0x000e3>
  at Mono.CSharp.RootContext.CloseTypes () <0x0030f>
  at Mono.CSharp.Driver.Compile () <0x00a03>
  at Mono.CSharp.Driver.Main (string[]) <0x000ab>
  at (wrapper runtime-invoke) <Module>.runtime_invoke_int_object
(object,intptr,intptr,intptr) <0x00054>


Reproducible: Always

Steps to Reproduce:
1. get MONO svn 147005 (all of mono, libgdiplus,  mcs)
2. cd mono
3. make

Actual Results:  
make[5]: Leaving directory `/usr/src/MonoTree/mcs'
make PROFILE=net_2_0_bootstrap all
make[5]: Entering directory `/usr/src/MonoTree/mcs'
make[6]: Entering directory `/usr/src/MonoTree/mcs/build'
make all-local
make[7]: Entering directory `/usr/src/MonoTree/mcs/build'
make[7]: Leaving directory `/usr/src/MonoTree/mcs/build'
make[6]: Leaving directory `/usr/src/MonoTree/mcs/build'
make[6]: Entering directory `/usr/src/MonoTree/mcs/tools'
make[7]: Entering directory `/usr/src/MonoTree/mcs/tools/resgen'
Creating ../../build/deps/net_2_0_bootstrap_resgen.exe.makefrag ...
make[7]: Leaving directory `/usr/src/MonoTree/mcs/tools/resgen'
make[7]: Entering directory `/usr/src/MonoTree/mcs/tools/resgen'
make all-local
make[8]: Entering directory `/usr/src/MonoTree/mcs/tools/resgen'
MCS     [net_2_0_bootstrap] resgen.exe
mv resgen.exe ./../../class/lib/net_2_0_bootstrap/resgen.exe
test ! -f resgen.exe.mdb || mv resgen.exe.mdb
/../../class/lib/net_2_0_bootstrap/resgen.exe.mdb
make[8]: Leaving directory `/usr/src/MonoTree/mcs/tools/resgen'
make[7]: Leaving directory `/usr/src/MonoTree/mcs/tools/resgen'
make[7]: Entering directory `/usr/src/MonoTree/mcs/tools/culevel'
Creating ../../build/deps/net_2_0_bootstrap_culevel.exe.makefrag ...
make[7]: Leaving directory `/usr/src/MonoTree/mcs/tools/culevel'
make[7]: Entering directory `/usr/src/MonoTree/mcs/tools/culevel'
make all-local
make[8]: Entering directory `/usr/src/MonoTree/mcs/tools/culevel'
MCS     [net_2_0_bootstrap] culevel.exe
CompileUplevel.cs(943,55): warning CS0618:
`System.CodeDom.Compiler.CodeDomProvider.CreateGenerator()' is obsolete:
`ICodeGenerator is obsolete'
Compilation succeeded - 1 warning(s)
mv culevel.exe ./../../class/lib/net_2_0_bootstrap/culevel.exe
test ! -f culevel.exe.mdb || mv culevel.exe.mdb
/../../class/lib/net_2_0_bootstrap/culevel.exe.mdb
make[8]: Leaving directory `/usr/src/MonoTree/mcs/tools/culevel'
make[7]: Leaving directory `/usr/src/MonoTree/mcs/tools/culevel'
make all-local
make[7]: Entering directory `/usr/src/MonoTree/mcs/tools'
make[7]: Leaving directory `/usr/src/MonoTree/mcs/tools'
make[6]: Leaving directory `/usr/src/MonoTree/mcs/tools'
make all-local
make[6]: Entering directory `/usr/src/MonoTree/mcs'
make[6]: Leaving directory `/usr/src/MonoTree/mcs'
make[5]: Leaving directory `/usr/src/MonoTree/mcs'
make PROFILE=net_2_0 all
make[5]: Entering directory `/usr/src/MonoTree/mcs'
make[6]: Entering directory `/usr/src/MonoTree/mcs/build'
make all-local
make[7]: Entering directory `/usr/src/MonoTree/mcs/build'
make[7]: Leaving directory `/usr/src/MonoTree/mcs/build'
make[6]: Leaving directory `/usr/src/MonoTree/mcs/build'
make[6]: Entering directory `/usr/src/MonoTree/mcs/mcs'
Makefile:47: warning: overriding commands for target `csproj-local'
./build/executable.make:131: warning: ignoring old commands for target
`csproj-local'
Creating ../build/deps/net_2_0_gmcs.exe.makefrag ...
make[6]: Leaving directory `/usr/src/MonoTree/mcs/mcs'
make[6]: Entering directory `/usr/src/MonoTree/mcs/mcs'
Makefile:47: warning: overriding commands for target `csproj-local'
./build/executable.make:131: warning: ignoring old commands for target
`csproj-local'
make all-local
make[7]: Entering directory `/usr/src/MonoTree/mcs/mcs'
Makefile:47: warning: overriding commands for target `csproj-local'
./build/executable.make:131: warning: ignoring old commands for target
`csproj-local'
MCS     [net_2_0] gmcs.exe
cp gmcs.exe ./../class/lib/net_2_0/gmcs.exe
test ! -f gmcs.exe.mdb || cp gmcs.exe.mdb ./../class/lib/net_2_0/gmcs.exe.mdb
cp gmcs.exe.config ./../class/lib/net_2_0/gmcs.exe.config
make[7]: Leaving directory `/usr/src/MonoTree/mcs/mcs'
make[6]: Leaving directory `/usr/src/MonoTree/mcs/mcs'
make[6]: Entering directory `/usr/src/MonoTree/mcs/class'
make[7]: Entering directory `/usr/src/MonoTree/mcs/class/corlib'
Creating ../../build/deps/net_2_0_corlib.dll.makefrag ...
Creating ../../build/deps/corlib_test_net_2_0.dll.response ...
Creating ../../build/deps/corlib_test_net_2_0.dll.makefrag ...
make[7]: Leaving directory `/usr/src/MonoTree/mcs/class/corlib'
make[7]: Entering directory `/usr/src/MonoTree/mcs/class/corlib'
make all-local
make[8]: Entering directory `/usr/src/MonoTree/mcs/class/corlib'
MCS     [net_2_0] mscorlib.dll
System.Reflection/Assembly.cs(54,22): warning CS0659:
`System.Reflection.Assembly' overrides Object.Equals(object) but does not
override Object.GetHashCode()
Microsoft.Win32/Win32RegistryApi.cs(146,32): warning CS0219: The variable `obj'
is assigned but its value is never used
System.Reflection/Assembly.cs(63,32): warning CS0649: Field
`System.Reflection.Assembly._mono_assembly' is never assigned to, and will
always have its default value `null'
System.Runtime.Remoting.Channels/CrossAppDomainChannel.cs(53,32): warning
CS0414: The private field
`System.Runtime.Remoting.Channels.CrossAppDomainData._ContextID' is assigned
but its value is never used
System.Runtime.Remoting.Contexts/Context.cs(67,22): warning CS0649: Field
`System.Runtime.Remoting.Contexts.Context.frozen' is never assigned to, and
will always have its default value `false'
System.Runtime.Remoting.Messaging/AsyncResult.cs(58,22): warning CS0414: The
private field `System.Runtime.Remoting.Messaging.AsyncResult.message_ctrl' is
assigned but its value is never used
System.Runtime.Remoting.Messaging/ReturnMessage.cs(45,21): warning CS0414: The
private field `System.Runtime.Remoting.Messaging.ReturnMessage._outArgsCount'
is assigned but its value is never used
System.Security.Permissions/KeyContainerPermission.cs(38,69): warning CS0649:
Field `System.Security.Permissions.KeyContainerPermission._accessEntries' is
never assigned to, and will always have its default value `null'
**
ERROR:class.c:2719:setup_interface_offsets: assertion failed:
(class->interface_offsets_count == interface_offsets_count)
Stacktrace:

  at (wrapper managed-to-native)
System.Reflection.Emit.TypeBuilder.create_runtime_class
(System.Reflection.Emit.TypeBuilder*,System.Reflection.Emit.TypeBuilder)
<0x0004b>
  at (wrapper managed-to-native)
System.Reflection.Emit.TypeBuilder.create_runtime_class
(System.Reflection.Emit.TypeBuilder*,System.Reflection.Emit.TypeBuilder)
<0x0004b>
  at System.Reflection.Emit.TypeBuilder.CreateType () <0x00407>
  at Mono.CSharp.TypeContainer.CloseType () <0x000e3>
  at Mono.CSharp.RootContext.CloseTypes () <0x0030f>
  at Mono.CSharp.Driver.Compile () <0x00a03>
  at Mono.CSharp.Driver.Main (string[]) <0x000ab>
  at (wrapper runtime-invoke) <Module>.runtime_invoke_int_object
(object,intptr,intptr,intptr) <0x00054>

Native stacktrace:

    /usr/src/MonoTree/mono/mono/mini/mono [0x489a86]
    /lib/libpthread.so.0 [0x2ae33d715990]
    /lib/libc.so.6(gsignal+0x35) [0x2ae33dbd7f55]
    /lib/libc.so.6(abort+0x180) [0x2ae33dbdad90]
    /lib/libglib-2.0.so.0(g_assertion_message+0x100) [0x2ae33d095ad0]
    /lib/libglib-2.0.so.0 [0x2ae33d096052]
    /usr/src/MonoTree/mono/mono/mini/mono [0x510bb6]
    /usr/src/MonoTree/mono/mono/mini/mono [0x510bd3]
    /usr/src/MonoTree/mono/mono/mini/mono [0x57ab5d]
    /usr/src/MonoTree/mono/mono/mini/mono [0x57ae0d]
    /usr/src/MonoTree/mono/mono/mini/mono [0x5af2c8]
    /usr/src/MonoTree/mono/mono/mini/mono [0x57b8dd]
    [0x408758eb]

Debug info from gdb:

[Thread debugging using libthread_db enabled]
[New Thread 0x2aaaac223910 (LWP 10817)]
[New Thread 0x2aaaabfc2910 (LWP 10816)]
[New Thread 0x2aaaab0ae910 (LWP 10815)]
[New Thread 0x2aaaaaead910 (LWP 10814)]
[New Thread 0x2aaaaacac910 (LWP 10813)]
0x00002ae33d71490b in read () from /lib/libpthread.so.0
  6 Thread 0x2aaaaacac910 (LWP 10813)  pthread_cond_wait@@GLIBC_2.3.2 () at
./nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
  5 Thread 0x2aaaaaead910 (LWP 10814)  pthread_cond_wait@@GLIBC_2.3.2 () at
./nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
  4 Thread 0x2aaaab0ae910 (LWP 10815)  pthread_cond_wait@@GLIBC_2.3.2 () at
./nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
  3 Thread 0x2aaaabfc2910 (LWP 10816)  0x00002ae33d715131 in nanosleep () from
/lib/libpthread.so.0
  2 Thread 0x2aaaac223910 (LWP 10817)  sem_wait () at
./nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:85
* 1 Thread 0x2ae33e12a0b0 (LWP 10800)  0x00002ae33d71490b in read () from
/lib/libpthread.so.0

Thread 6 (Thread 0x2aaaaacac910 (LWP 10813)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at
./nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00000000005b6d53 in GC_wait_marker () at pthread_support.c:1785
#2  0x00000000005b8ad4 in GC_help_marker (my_mark_no=23) at mark.c:1116
#3  0x00000000005b5aa0 in GC_mark_thread (id=0x0) at pthread_support.c:548
#4  0x00002ae33d70d73a in start_thread (arg=<value optimized out>) at
pthread_create.c:300
#5  0x00002ae33dc7169d in clone () at
./sysdeps/unix/sysv/linux/x86_64/clone.S:112
#6  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x2aaaaaead910 (LWP 10814)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at
./nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00000000005b6d53 in GC_wait_marker () at pthread_support.c:1785
#2  0x00000000005b8ad4 in GC_help_marker (my_mark_no=23) at mark.c:1116
#3  0x00000000005b5aa0 in GC_mark_thread (id=0x1) at pthread_support.c:548
#4  0x00002ae33d70d73a in start_thread (arg=<value optimized out>) at
pthread_create.c:300
#5  0x00002ae33dc7169d in clone () at
./sysdeps/unix/sysv/linux/x86_64/clone.S:112
#6  0x0000000000000000 in ?? ()
Current language:  auto
The current source language is "auto; currently asm".

Thread 4 (Thread 0x2aaaab0ae910 (LWP 10815)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at
./nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00000000005b6d53 in GC_wait_marker () at pthread_support.c:1785
#2  0x00000000005b8ad4 in GC_help_marker (my_mark_no=23) at mark.c:1116
#3  0x00000000005b5aa0 in GC_mark_thread (id=0x2) at pthread_support.c:548
#4  0x00002ae33d70d73a in start_thread (arg=<value optimized out>) at
pthread_create.c:300
#5  0x00002ae33dc7169d in clone () at
./sysdeps/unix/sysv/linux/x86_64/clone.S:112
#6  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x2aaaabfc2910 (LWP 10816)):
#0  0x00002ae33d715131 in nanosleep () from /lib/libpthread.so.0
#1  0x00000000005a8ee2 in collection_thread (unused=<value optimized out>) at
collection.c:34
#2  0x00002ae33d70d73a in start_thread (arg=<value optimized out>) at
pthread_create.c:300
#3  0x00002ae33dc7169d in clone () at
./sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x2aaaac223910 (LWP 10817)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:85
#1  0x000000000056eda0 in finalizer_thread (unused=<value optimized out>) at
gc.c:1022
#2  0x00000000004f03b5 in start_wrapper (data=<value optimized out>) at
threads.c:721
#3  0x00000000005a3473 in thread_start_routine (args=0x1310520) at
wthreads.c:286
#4  0x00000000005b69e6 in GC_start_routine (arg=0x2aaaab0d4e70) at
pthread_support.c:1390
#5  0x00002ae33d70d73a in start_thread (arg=<value optimized out>) at
pthread_create.c:300
#6  0x00002ae33dc7169d in clone () at
./sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()
Current language:  auto
The current source language is "auto; currently c".

Thread 1 (Thread 0x2ae33e12a0b0 (LWP 10800)):
#0  0x00002ae33d71490b in read () from /lib/libpthread.so.0
#1  0x0000000000489beb in mono_handle_native_sigsegv (signal=<value optimized
out>, ctx=<value optimized out>) at mini-exceptions.c:1808
#2  <signal handler called>
#3  0x00002ae33dbd7f55 in *__GI_raise (sig=<value optimized out>) at
./nptl/sysdeps/unix/sysv/linux/raise.c:64
#4  0x00002ae33dbdad90 in *__GI_abort () at abort.c:88
#5  0x00002ae33d095ad0 in IA__g_assertion_message (domain=0x2ae33d0d351e "",
file=0x5e1350 "class.c", line=<value optimized out>, 
    func=0x62b400 "setup_interface_offsets", message=<value optimized out>) at
/tmp/buildd/glib2.0-2.22.2/glib/gtestutils.c:1302
#6  0x00002ae33d096052 in IA__g_assertion_message_expr (domain=0x0,
file=0x5e1350 "class.c", line=2719, 
    func=0x62b400 "setup_interface_offsets", expr=<value optimized out>) at
/tmp/buildd/glib2.0-2.22.2/glib/gtestutils.c:1313
#7  0x0000000000510bb6 in setup_interface_offsets (class=0x2aaab0850a30,
cur_slot=9) at class.c:2719
#8  0x0000000000510bd3 in mono_class_setup_interface_offsets
(class=0x2aaab0850a30) at class.c:2761
#9  0x000000000057ab5d in ensure_runtime_vtable (klass=0x2aaab0850a30) at
reflection.c:10374
#10 0x000000000057ae0d in remove_instantiations_of_and_ensure_contents
(key=<value optimized out>, value=<value optimized out>, 
    user_data=<value optimized out>) at reflection.c:10633
#11 0x00000000005af2c8 in g_hash_table_foreach_remove_or_steal
(hash_table=0x2aaaab0d4f50, 
    func=0x57ade0 <remove_instantiations_of_and_ensure_contents>,
user_data=0x2aaab05fc508, notify=1) at mono-hash.c:673
#12 0x000000000057b8dd in mono_reflection_create_runtime_class
(tb=0x2aaab5923d80) at reflection.c:10799
#13 0x00000000408758eb in ?? ()
#14 0x00000000012d3e60 in ?? ()
#15 0x00ff000000000000 in ?? ()
#16 0x0000000000000000 in ?? ()
Current language:  auto
The current source language is "auto; currently asm".
Current language:  auto
The current source language is "auto; currently c".

=================================================================
Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================

Aborted
make[8]: *** [../../class/lib/net_2_0/tmp/mscorlib.dll] Error 134
make[8]: Leaving directory `/usr/src/MonoTree/mcs/class/corlib'
make[7]: *** [do-all] Error 2
make[7]: Leaving directory `/usr/src/MonoTree/mcs/class/corlib'
make[6]: *** [all-recursive] Error 1
make[6]: Leaving directory `/usr/src/MonoTree/mcs/class'
make[5]: *** [all-recursive] Error 1
make[5]: Leaving directory `/usr/src/MonoTree/mcs'
make[4]: *** [profile-do--net_2_0--all] Error 2
make[4]: Leaving directory `/usr/src/MonoTree/mcs'
make[3]: *** [profiles-do--all] Error 2
make[3]: Leaving directory `/usr/src/MonoTree/mcs'
make[2]: *** [all-local] Error 2
make[2]: Leaving directory `/usr/src/MonoTree/mono/runtime'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/MonoTree/mono'
make: *** [all] Error 2
glinka.x86_64 src/MonoTree/mono 21:10 % svn info .
Path: .
URL: http://anonsvn.mono-project.com/source/trunk/mono
Repository Root: http://anonsvn.mono-project.com/source
Repository UUID: e3ebcda4-bce8-0310-ba0a-eca2169e7518
Revision: 147005
Node Kind: directory
Schedule: normal
Last Changed Author: kumpera
Last Changed Rev: 146984
Last Changed Date: 2009-11-26 15:01:05 +0100 (Thu, 26 Nov 2009)

glinka.x86_64 src/MonoTree/mono 21:13 % svn info .
Path: .
URL: http://anonsvn.mono-project.com/source/trunk/mono
Repository Root: http://anonsvn.mono-project.com/source
Repository UUID: e3ebcda4-bce8-0310-ba0a-eca2169e7518
Revision: 147005
Node Kind: directory
Schedule: normal
Last Changed Author: kumpera
Last Changed Rev: 146984
Last Changed Date: 2009-11-26 15:01:05 +0100 (Thu, 26 Nov 2009)



Expected Results:  
Mono should compile ok.

I actually was testing for the bug 
   http://bugzilla.novell.com/show_bug.cgi?id=555464
the latest Mono from SVN, and got bitten by a bug in mono itself.

-- 
Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the mono-bugs mailing list