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


           Summary: Anonymous Delegate { Anonymous Delegate } ERROR:
                    metadata.c:3201: mono_metadata_token_from_dor: code
                    should not be reached
    Classification: Mono
           Product: Mono: Runtime
           Version: 2.4.x
          Platform: x86-64
        OS/Version: All
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: misc
        AssignedTo: [email protected]
        ReportedBy: [email protected]
         QAContact: [email protected]
          Found By: ---


Created an attachment (id=318025)
 --> (http://bugzilla.novell.com/attachment.cgi?id=318025)
Log-Stack Trace and abridged source files for review

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1)
Gecko/20090624 Firefox/3.5

It looks like in some cases when an Anonymous Delegate contains another
anonymous delegate and the first one is fired with void delegate (void) using
the BeginInvoke in a static method and you're using Mono.Addins to load
modules, the mono_metadata_token_from_dor asserts on Linux.   On windows, it
just freezes.  (memory corruption?)

Reproducible: Always

Steps to Reproduce:
I've included the stack trace and abridged source of the areas.
The code that seems to trigger the bug is in SceneCommunicationService.cs.   It
happens regardless of whether the source is compiled in Visual Studio and run
on Mono, or if it was compiled with Mono and run on Mono.

The elements to this are as follows, 
A static method to call a BeginInvoke on a threadstart (Util.FireAndForget)
An anonymous delegate that references variables in the method that calls it.
(SceneCommunicationService.InformClientToInitateTeleportToLocation)

An anonymous delegate inside that anonymous delegate that takes bool.

Mono.Addins, in this case, I think just points it out..   it probably would
have happened anyway later.
Actual Results:  
Asserts on Linux.
Freezes on Windows.
while loading Mono.Addins modules.

Expected Results:  
The Anonymous delegates fire as expected.

If I take the Util.FireAndForget out of it, use a named delegate with proper
paramaters and do the BeginInvoke/EndInvoke the bug is not triggered.

-- 
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.
_______________________________________________
mono-bugs maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-bugs

Reply via email to