{"action":"created","issue":{"url":"https://api.github.com/repos/dotnet/coreclr/issues/20499","repository_url":"https://api.github.com/repos/dotnet/coreclr","labels_url":"https://api.github.com/repos/dotnet/coreclr/issues/20499/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/coreclr/issues/20499/comments","events_url":"https://api.github.com/repos/dotnet/coreclr/issues/20499/events","html_url":"https://github.com/dotnet/coreclr/issues/20499","id":372137661,"node_id":"MDU6SXNzdWUzNzIxMzc2NjE=","number":20499,"title":"JIT: assertion failure creating struct copy for synchronized method","user":{"login":"AndyAyersMS","id":10121823,"node_id":"MDQ6VXNlcjEwMTIxODIz","avatar_url":"https://avatars1.githubusercontent.com/u/10121823?v=4","gravatar_id":"","url":"https://api.github.com/users/AndyAyersMS","html_url":"https://github.com/AndyAyersMS","followers_url":"https://api.github.com/users/AndyAyersMS/followers","following_url":"https://api.github.com/users/AndyAyersMS/following{/other_user}","gists_url":"https://api.github.com/users/AndyAyersMS/gists{/gist_id}","starred_url":"https://api.github.com/users/AndyAyersMS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AndyAyersMS/subscriptions","organizations_url":"https://api.github.com/users/AndyAyersMS/orgs","repos_url":"https://api.github.com/users/AndyAyersMS/repos","events_url":"https://api.github.com/users/AndyAyersMS/events{/privacy}","received_events_url":"https://api.github.com/users/AndyAyersMS/received_events","type":"User","site_admin":false},"labels":[{"id":196940911,"node_id":"MDU6TGFiZWwxOTY5NDA5MTE=","url":"https://api.github.com/repos/dotnet/coreclr/labels/area-CodeGen","name":"area-CodeGen","color":"d4c5f9","default":false},{"id":172143003,"node_id":"MDU6TGFiZWwxNzIxNDMwMDM=","url":"https://api.github.com/repos/dotnet/coreclr/labels/bug","name":"bug","color":"1d76db","default":true}],"state":"open","locked":false,"assignee":{"login":"erozenfeld","id":10624223,"node_id":"MDQ6VXNlcjEwNjI0MjIz","avatar_url":"https://avatars2.githubusercontent.com/u/10624223?v=4","gravatar_id":"","url":"https://api.github.com/users/erozenfeld","html_url":"https://github.com/erozenfeld","followers_url":"https://api.github.com/users/erozenfeld/followers","following_url":"https://api.github.com/users/erozenfeld/following{/other_user}","gists_url":"https://api.github.com/users/erozenfeld/gists{/gist_id}","starred_url":"https://api.github.com/users/erozenfeld/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/erozenfeld/subscriptions","organizations_url":"https://api.github.com/users/erozenfeld/orgs","repos_url":"https://api.github.com/users/erozenfeld/repos","events_url":"https://api.github.com/users/erozenfeld/events{/privacy}","received_events_url":"https://api.github.com/users/erozenfeld/received_events","type":"User","site_admin":false},"assignees":[{"login":"erozenfeld","id":10624223,"node_id":"MDQ6VXNlcjEwNjI0MjIz","avatar_url":"https://avatars2.githubusercontent.com/u/10624223?v=4","gravatar_id":"","url":"https://api.github.com/users/erozenfeld","html_url":"https://github.com/erozenfeld","followers_url":"https://api.github.com/users/erozenfeld/followers","following_url":"https://api.github.com/users/erozenfeld/following{/other_user}","gists_url":"https://api.github.com/users/erozenfeld/gists{/gist_id}","starred_url":"https://api.github.com/users/erozenfeld/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/erozenfeld/subscriptions","organizations_url":"https://api.github.com/users/erozenfeld/orgs","repos_url":"https://api.github.com/users/erozenfeld/repos","events_url":"https://api.github.com/users/erozenfeld/events{/privacy}","received_events_url":"https://api.github.com/users/erozenfeld/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/dotnet/coreclr/milestones/18","html_url":"https://github.com/dotnet/coreclr/milestone/18","labels_url":"https://api.github.com/repos/dotnet/coreclr/milestones/18/labels","id":3246413,"node_id":"MDk6TWlsZXN0b25lMzI0NjQxMw==","number":18,"title":"3.0","description":".NET Core 3.0, next major release after 2.1. See [official release dates](https://github.com/dotnet/core/blob/master/roadmap.md) for details.\r\n\r\nWe will move important issues from Future to 3.0 as the priorities and dates for next release become more clear.","creator":{"login":"karelz","id":5776068,"node_id":"MDQ6VXNlcjU3NzYwNjg=","avatar_url":"https://avatars2.githubusercontent.com/u/5776068?v=4","gravatar_id":"","url":"https://api.github.com/users/karelz","html_url":"https://github.com/karelz","followers_url":"https://api.github.com/users/karelz/followers","following_url":"https://api.github.com/users/karelz/following{/other_user}","gists_url":"https://api.github.com/users/karelz/gists{/gist_id}","starred_url":"https://api.github.com/users/karelz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/karelz/subscriptions","organizations_url":"https://api.github.com/users/karelz/orgs","repos_url":"https://api.github.com/users/karelz/repos","events_url":"https://api.github.com/users/karelz/events{/privacy}","received_events_url":"https://api.github.com/users/karelz/received_events","type":"User","site_admin":false},"open_issues":270,"closed_issues":415,"state":"open","created_at":"2018-04-05T22:09:22Z","updated_at":"2018-12-13T18:11:13Z","due_on":null,"closed_at":null},"comments":1,"created_at":"2018-10-19T22:36:59Z","updated_at":"2018-12-13T19:48:06Z","closed_at":null,"author_association":"MEMBER","body":"Repro derived from #20442\r\n\r\n```C#\r\nusing System;\r\nusing System.Runtime.CompilerServices;\r\n\r\nstruct S\r\n{\r\n    public long y;\r\n    public int x;\r\n}\r\n\r\nclass Z\r\n{\r\n    virtual public S F()\r\n    {\r\n        S s = new S();\r\n        s.x = 100;\r\n        s.y = -1;\r\n        return s;\r\n    }\r\n\r\n}\r\n\r\nclass X\r\n{\r\n    Z z;\r\n\r\n    [MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.Synchronized)]\r\n    public S G() => z.F();\r\n\r\n    public static int Main()\r\n    {\r\n        var x = new X();\r\n        x.z = new Z();\r\n        return x.G().x;\r\n    }\r\n}\r\n```\r\nJitting of `X.G` for arm64 causes this assert:\r\n```\r\nAssert failure(PID 834268 [0x000cbadc], Thread: 834304 [0xcbb00]): Assertion failed 'impTreeLast != nullptr' in 'X:G():struct:this' (IL size 12)\r\n\r\n    File: e:\\repos\\coreclr\\src\\jit\\importer.cpp Line: 562\r\n```\r\nThe jit is copying a struct-typed return to the return local in a synchronous method, and ends up invoking an importer utility outside the importer, where `impTreeLast` is not set.\r\n\r\ncc @dotnet/jit-contrib @stephentoub "},"comment":{"url":"https://api.github.com/repos/dotnet/coreclr/issues/comments/447097057","html_url":"https://github.com/dotnet/coreclr/issues/20499#issuecomment-447097057","issue_url":"https://api.github.com/repos/dotnet/coreclr/issues/20499","id":447097057,"node_id":"MDEyOklzc3VlQ29tbWVudDQ0NzA5NzA1Nw==","user":{"login":"AndyAyersMS","id":10121823,"node_id":"MDQ6VXNlcjEwMTIxODIz","avatar_url":"https://avatars1.githubusercontent.com/u/10121823?v=4","gravatar_id":"","url":"https://api.github.com/users/AndyAyersMS","html_url":"https://github.com/AndyAyersMS","followers_url":"https://api.github.com/users/AndyAyersMS/followers","following_url":"https://api.github.com/users/AndyAyersMS/following{/other_user}","gists_url":"https://api.github.com/users/AndyAyersMS/gists{/gist_id}","starred_url":"https://api.github.com/users/AndyAyersMS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AndyAyersMS/subscriptions","organizations_url":"https://api.github.com/users/AndyAyersMS/orgs","repos_url":"https://api.github.com/users/AndyAyersMS/repos","events_url":"https://api.github.com/users/AndyAyersMS/events{/privacy}","received_events_url":"https://api.github.com/users/AndyAyersMS/received_events","type":"User","site_admin":false},"created_at":"2018-12-13T19:48:06Z","updated_at":"2018-12-13T19:48:06Z","author_association":"MEMBER","body":"@erozenfeld this is fixed now, right?"}}
{"actor":{"display_login":"AndyAyersMS"}}