Bug 60175 - AOT mis-compiles when coverage is used
Summary: AOT mis-compiles when coverage is used
Status: RESOLVED FIXED
Alias: None
Product: Runtime
Classification: Mono
Component: AOT (show other bugs)
Version: unspecified
Hardware: PC Mac OS
: --- normal
Target Milestone: ---
Assignee: Zoltan Varga
URL:
Depends on:
Blocks:
 
Reported: 2017-10-13 10:09 UTC by Marek Safar
Modified: 2017-11-07 02:22 UTC (History)
2 users (show)

See Also:
Tags:
Is this bug a regression?: ---
Last known good build:


Attachments

Description Marek Safar 2017-10-13 10:09:54 UTC
using System;


class X
{
    public static void Main ()
    {
        "string".Replace ("abcd", "xyz");
    }
}

1. csc foo.cs -debug
2. mono --profile=coverage --aot --debug foo.exe
3. mono --debug foo.exe

You get NRE crash

System.NullReferenceException: Object reference not set to an instance of an object
  at X.Main () [0x00000] in foo3.cs:7
Comment 1 Zoltan Varga 2017-10-13 14:28:33 UTC
We probably shouldn't support aot+coverage right now.
Comment 2 Marek Safar 2017-10-13 14:36:25 UTC
I am ok if we abort with some error message
Comment 3 Marek Safar 2017-10-13 14:37:00 UTC
Thinking about it, does not profiling have the same problem?
Comment 4 Zoltan Varga 2017-10-27 03:23:10 UTC
Profiling doesn't change the generated code, we do ip based sampling.
Comment 5 Zoltan Varga 2017-10-27 03:26:53 UTC
https://github.com/mono/mono/pull/5881
Comment 6 Zoltan Varga 2017-11-07 02:22:07 UTC
Fixed.

Note You need to log in before you can comment on or make changes to this bug.