[Mono-bugs] [Bug 366445] New: assertion failed, accessing value type over remoting

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Sat Mar 1 22:20:21 EST 2008


           Summary: assertion failed, accessing value type over remoting
           Product: Mono: Runtime
           Version: SVN
          Platform: x86
        OS/Version: Ubuntu
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: remoting
        AssignedTo: lluis at novell.com
        ReportedBy: cmarshall at pacificbiosciences.com
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---

Accessing value type fields (in this case, a DateTime, I don't know about other
types) in a remote object causes the client to trigger a failed assertion.
Other objects work fine.

The issue seems to be that (somehow) an instance of a local RemoteObject is
being passed to mono_load_remote_field_new, instead of the proxy object.

To reproduce:
$ gmcs -r:System.Runtime.Remoting -out:Server.exe RemoteObject.cs Server.cs
$ gmcs -r:System.Runtime.Remoting -out:Client.exe RemoteObject.cs Client.cs
$ mono --debug Server.exe &
$ mono --debug Client.exe

Expected results:
(a couple lines of output, successful return of Client.exe)

Actual results:
Remote object activated
Client : You there?
Remote object activated
Hello, World!

** ERROR **: file object.c: line 4882 (mono_load_remote_field_new): assertion
failed: (this->vtable->klass == mono_defaults.transparent_proxy_class)

  at (wrapper managed-to-native)
System.Object.__icall_wrapper_mono_load_remote_field_new (object,intptr,intptr)
  at (wrapper managed-to-native)
System.Object.__icall_wrapper_mono_load_remote_field_new (object,intptr,intptr)
  at (wrapper ldfld-remote)
(object,intptr,intptr) <0xffffffff>
  at (wrapper ldfld) System.Object.__ldfld_wrapper_0x828a064_System.DateTime
(object,intptr,intptr,intptr) <0xffffffff>
  at RemotingSamples.Client.Main (string[]) <0x0011e>
  at (wrapper runtime-invoke)
(object,intptr,intptr,intptr) <0xffffffff>

Native stacktrace:

        mono [0x818360e]
        /lib/tls/i686/cmov/libc.so.6(abort+0x101) [0xb7d09201]
        /usr/lib/libglib-2.0.so.0(g_logv+0x4ca) [0xb7ea9f4a]
        /usr/lib/libglib-2.0.so.0(g_log+0x29) [0xb7ea9f89]
        /usr/lib/libglib-2.0.so.0(g_assert_warning+0x76) [0xb7eaa006]
        mono [0x809e65c]
        mono(mono_runtime_exec_main+0x10e) [0x809d86e]
        mono(mono_runtime_run_main+0x1ba) [0x809ec2a]
        mono(mono_main+0xfe2) [0x805b8e2]
        mono [0x805a3f2]
        /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe0) [0xb7cf3050]
        mono [0x805a361]

(gdb info omitted... I will post it if requested)

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 (core dumped)

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

More information about the mono-bugs mailing list