[Mono-bugs] [Bug 513931] New: Debug builds of assemblies compiled with .net don't run properly with Mono JIT
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Wed Jun 17 08:55:40 EDT 2009
http://bugzilla.novell.com/show_bug.cgi?id=513931
Summary: Debug builds of assemblies compiled with .net don't
run properly with Mono JIT
Classification: Mono
Product: Mono: Runtime
Version: 2.4.x
Platform: Other
OS/Version: Other
Status: NEW
Severity: Major
Priority: P5 - None
Component: JIT
AssignedTo: lupus at novell.com
ReportedBy: michael.holzmann at hermos.com
QAContact: mono-bugs at lists.ximian.com
Found By: ---
Created an attachment (id=298646)
--> (http://bugzilla.novell.com/attachment.cgi?id=298646)
Sample code to reproduce this bug.
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.10)
Gecko/2009042316 Firefox/3.0.10 (.NET CLR 3.5.30729)
After switching to Mono 2.4 I have problems with my application.
I use some pre-compiled assemblies built by MS .net compiler. These assemblies
are built with DEBUG configuration. Now I get my exceptions thrown at positions
where it definitely cannot happen and this does not happen with earlier Mono
versions.
Reproducible: Always
Steps to Reproduce:
1. Get attached Program.cs file
2. Compile with .net compiler as DEBUG
3. Run with Mono 2.4
or have a look here:
public int FailingMethod(int valParam)
{
int val = valParam;
if (val > 0)
{
if (val == 123)
return -1;
else
return 1;
}
throw new ApplicationException("Error at FailingMethod()");
}
public int RunningMethod()
{
int val = 25;
if (val > 0)
{
if (val == 123)
return -1;
else
return 1;
}
throw new ApplicationException("Error at RunningMethod()");
}
Call this methods:
FailingMethod(25);
RunningMethod();
Actual Results:
The call to FailingMethod(25) will throw the exception "Error at
FailingMethod()".
The call to RunningMethod() will return 1.
Instead of a parameter valParam you can also use any other non-local member.
This will always throw the exception. There's no dependency with the method
parameter declaration but with its' usage. You can ignore the paramezer and it
will work:
public int FailingMethod(int valParam)
{
int val = 25; //valParam;
..
Expected Results:
The call to FailingMethod(25) should also return 1.
--
Configure bugmail: http://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