{"action":"created","issue":{"url":"https://api.github.com/repos/dotnet/coreclr/issues/13736","repository_url":"https://api.github.com/repos/dotnet/coreclr","labels_url":"https://api.github.com/repos/dotnet/coreclr/issues/13736/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/coreclr/issues/13736/comments","events_url":"https://api.github.com/repos/dotnet/coreclr/issues/13736/events","html_url":"https://github.com/dotnet/coreclr/issues/13736","id":254523891,"number":13736,"title":"GC.API.NoGCRegion.NoGC.NoGC failing on Ubuntu x64 in CI","user":{"login":"jkotas","id":6668460,"avatar_url":"https://avatars2.githubusercontent.com/u/6668460?v=4","gravatar_id":"","url":"https://api.github.com/users/jkotas","html_url":"https://github.com/jkotas","followers_url":"https://api.github.com/users/jkotas/followers","following_url":"https://api.github.com/users/jkotas/following{/other_user}","gists_url":"https://api.github.com/users/jkotas/gists{/gist_id}","starred_url":"https://api.github.com/users/jkotas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jkotas/subscriptions","organizations_url":"https://api.github.com/users/jkotas/orgs","repos_url":"https://api.github.com/users/jkotas/repos","events_url":"https://api.github.com/users/jkotas/events{/privacy}","received_events_url":"https://api.github.com/users/jkotas/received_events","type":"User","site_admin":false},"labels":[{"id":196940648,"url":"https://api.github.com/repos/dotnet/coreclr/labels/area-GC","name":"area-GC","color":"d4c5f9","default":false},{"id":382464873,"url":"https://api.github.com/repos/dotnet/coreclr/labels/blocking-clean-ci","name":"blocking-clean-ci","color":"e11d21","default":false}],"state":"open","locked":false,"assignee":{"login":"swgillespie","id":1871912,"avatar_url":"https://avatars2.githubusercontent.com/u/1871912?v=4","gravatar_id":"","url":"https://api.github.com/users/swgillespie","html_url":"https://github.com/swgillespie","followers_url":"https://api.github.com/users/swgillespie/followers","following_url":"https://api.github.com/users/swgillespie/following{/other_user}","gists_url":"https://api.github.com/users/swgillespie/gists{/gist_id}","starred_url":"https://api.github.com/users/swgillespie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/swgillespie/subscriptions","organizations_url":"https://api.github.com/users/swgillespie/orgs","repos_url":"https://api.github.com/users/swgillespie/repos","events_url":"https://api.github.com/users/swgillespie/events{/privacy}","received_events_url":"https://api.github.com/users/swgillespie/received_events","type":"User","site_admin":false},"assignees":[{"login":"swgillespie","id":1871912,"avatar_url":"https://avatars2.githubusercontent.com/u/1871912?v=4","gravatar_id":"","url":"https://api.github.com/users/swgillespie","html_url":"https://github.com/swgillespie","followers_url":"https://api.github.com/users/swgillespie/followers","following_url":"https://api.github.com/users/swgillespie/following{/other_user}","gists_url":"https://api.github.com/users/swgillespie/gists{/gist_id}","starred_url":"https://api.github.com/users/swgillespie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/swgillespie/subscriptions","organizations_url":"https://api.github.com/users/swgillespie/orgs","repos_url":"https://api.github.com/users/swgillespie/repos","events_url":"https://api.github.com/users/swgillespie/events{/privacy}","received_events_url":"https://api.github.com/users/swgillespie/received_events","type":"User","site_admin":false}],"milestone":null,"comments":1,"created_at":"2017-09-01T03:09:02Z","updated_at":"2017-09-01T16:45:28Z","closed_at":null,"author_association":"MEMBER","body":"```\r\n19:25:41                BEGIN EXECUTION\r\n19:25:41                /mnt/j/workspace/dotnet_coreclr/master/checked_ubuntu_tst_prtest/bin/tests/Windows_NT.x64.Checked/Tests/coreoverlay/corerun NoGC.exe\r\n19:25:41                Server on 64-bit with 4 procs\r\n19:25:41                =====allocating 200mb allowing full blocking GC first=====\r\n19:25:41                \r\n19:25:41                Calling TryStartNoGCRegion(..) with totalSize = 200 MB\r\n19:25:41                200 MB SUCCEEDED, did 1 gen2 GCs\r\n19:25:41                before GC: 6, after GC: 6\r\n19:25:41                ended no gc region\r\n19:25:41                current GC count: 13\r\n19:25:41                \r\n19:25:41                =====allocating 200mb allowing full blocking GC first Succeeded=====\r\n19:25:41                =====allocating 400mb allowing full blocking GC first=====\r\n19:25:41                \r\n19:25:41                Calling TryStartNoGCRegion(..) with totalSize = 400 MB\r\n19:25:41                400 MB SUCCEEDED, did 1 gen2 GCs\r\n19:25:41                before GC: 21, after GC: 21\r\n19:25:41                ended no gc region\r\n19:25:41                current GC count: 28\r\n19:25:41                \r\n19:25:41                =====allocating 400mb allowing full blocking GC first Succeeded=====\r\n19:25:41                =====allocating 400mb disallowing full blocking GC first=====\r\n19:25:41                \r\n19:25:41                Calling TryStartNoGCRegion(..) with totalSize = 400 MB\r\n19:25:41                400 MB SUCCEEDED, did 1 gen2 GCs\r\n19:25:41                before GC: 36, after GC: 36\r\n19:25:41                ended no gc region\r\n19:25:41                current GC count: 42\r\n19:25:41                \r\n19:25:41                =====allocating 400mb disallowing full blocking GC first Succeeded=====\r\n19:25:41                =====allocating 4096mb allowing full blocking GC first=====\r\n19:25:41                \r\n19:25:41                Calling TryStartNoGCRegion(..) with totalSize = 0 MB\r\n19:25:41                4,096 MB SUCCEEDED, did 1 gen2 GCs\r\n19:25:41                before GC: 51, after GC: 51\r\n19:25:41                ended no gc region\r\n19:25:41                current GC count: 57\r\n19:25:41                \r\n19:25:41                =====allocating 4096mb allowing full blocking GC first Succeeded=====\r\n19:25:41                =====allocating 4096mb disallowing full blocking GC first=====\r\n19:25:41                \r\n19:25:41                Calling TryStartNoGCRegion(..) with totalSize = 0 MB\r\n19:25:41                4,096 MB SUCCEEDED, did 1 gen2 GCs\r\n19:25:41                before GC: 65, after GC: 65\r\n19:25:41                ended no gc region\r\n19:25:41                current GC count: 71\r\n19:25:41                \r\n19:25:41                =====allocating 4096mb disallowing full blocking GC first Succeeded=====\r\n19:25:41                =====allocating 200mb allowing full blocking GC first=====\r\n19:25:41                \r\n19:25:41                Calling TryStartNoGCRegion(..) with totalSize = 200 MB\r\n19:25:41                200 MB SUCCEEDED, did 1 gen2 GCs\r\n19:25:41                before GC: 79, after GC: 79\r\n19:25:41                ended no gc region\r\n19:25:41                current GC count: 87\r\n19:25:41                \r\n19:25:41                =====allocating 200mb allowing full blocking GC first Succeeded=====\r\n19:25:41                =====allocating 400mb allowing full blocking GC first=====\r\n19:25:41                \r\n19:25:41                Calling TryStartNoGCRegion(..) with totalSize = 400 MB\r\n19:25:41                400 MB SUCCEEDED, did 1 gen2 GCs\r\n19:25:41                before GC: 95, after GC: 95\r\n19:25:41                ended no gc region\r\n19:25:41                current GC count: 103\r\n19:25:41                \r\n19:25:41                =====allocating 400mb allowing full blocking GC first Succeeded=====\r\n19:25:41                =====allocating 400mb disallowing full blocking GC first=====\r\n19:25:41                \r\n19:25:41                Calling TryStartNoGCRegion(..) with totalSize = 400 MB\r\n19:25:41                400 MB SUCCEEDED, did 1 gen2 GCs\r\n19:25:41                before GC: 111, after GC: 111\r\n19:25:41                ended no gc region\r\n19:25:41                current GC count: 119\r\n19:25:41                \r\n19:25:41                =====allocating 400mb disallowing full blocking GC first Succeeded=====\r\n19:25:41                =====allocating 4096mb allowing full blocking GC first=====\r\n19:25:41                \r\n19:25:41                Calling TryStartNoGCRegion(..) with totalSize = 0 MB\r\n19:25:41                4,096 MB SUCCEEDED, did 1 gen2 GCs\r\n19:25:41                before GC: 126, after GC: 140\r\n19:25:41                We did GCs in no gc mode!!!\r\n19:25:41                ended no gc region\r\n19:25:41                End NoGC region: 4,096 MB InvalidOperationException Allocated memory exceeds specified memory for NoGCRegion mode\r\n19:25:41                current GC count: 147\r\n19:25:41                \r\n19:25:41                =====allocating 4096mb allowing full blocking GC first Failed=====\r\n19:25:41                =====allocating 4096mb disallowing full blocking GC first=====\r\n19:25:41                \r\n19:25:41                Calling TryStartNoGCRegion(..) with totalSize = 0 MB\r\n19:25:41                4,096 MB SUCCEEDED, did 1 gen2 GCs\r\n19:25:41                before GC: 156, after GC: 169\r\n19:25:41                We did GCs in no gc mode!!!\r\n19:25:41                ended no gc region\r\n19:25:41                End NoGC region: 4,096 MB InvalidOperationException Allocated memory exceeds specified memory for NoGCRegion mode\r\n19:25:41                current GC count: 176\r\n19:25:41                \r\n19:25:41                =====allocating 4096mb disallowing full blocking GC first Failed=====\r\n19:25:41                =====allocating 4096mb allowing full blocking GC first=====\r\n19:25:41                \r\n19:25:41                Calling TryStartNoGCRegion(..) with totalSize = 0 MB\r\n19:25:41                4,096 MB SUCCEEDED, did 1 gen2 GCs\r\n19:25:41                before GC: 184, after GC: 184\r\n19:25:41                ended no gc region\r\n19:25:41                current GC count: 190\r\n19:25:41                \r\n19:25:41                =====allocating 4096mb allowing full blocking GC first Succeeded=====\r\n19:25:41                Expected: 100\r\n19:25:41                Actual: 1\r\n19:25:41                END EXECUTION - FAILED\r\n```"},"comment":{"url":"https://api.github.com/repos/dotnet/coreclr/issues/comments/326629248","html_url":"https://github.com/dotnet/coreclr/issues/13736#issuecomment-326629248","issue_url":"https://api.github.com/repos/dotnet/coreclr/issues/13736","id":326629248,"user":{"login":"swgillespie","id":1871912,"avatar_url":"https://avatars2.githubusercontent.com/u/1871912?v=4","gravatar_id":"","url":"https://api.github.com/users/swgillespie","html_url":"https://github.com/swgillespie","followers_url":"https://api.github.com/users/swgillespie/followers","following_url":"https://api.github.com/users/swgillespie/following{/other_user}","gists_url":"https://api.github.com/users/swgillespie/gists{/gist_id}","starred_url":"https://api.github.com/users/swgillespie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/swgillespie/subscriptions","organizations_url":"https://api.github.com/users/swgillespie/orgs","repos_url":"https://api.github.com/users/swgillespie/repos","events_url":"https://api.github.com/users/swgillespie/events{/privacy}","received_events_url":"https://api.github.com/users/swgillespie/received_events","type":"User","site_admin":false},"created_at":"2017-09-01T16:45:28Z","updated_at":"2017-09-01T16:45:28Z","author_association":"MEMBER","body":"I suspect there is a test issue here: https://github.com/dotnet/coreclr/blob/master/tests/src/GC/API/NoGCRegion/NoGC.cs#L60. `4096 * 1024 * 1024` is large enough to overflow a 32-bit integer, and the overflow occurs before the type promotion to `long` (by the assignment). The documentation is unclear about what `TryStartNoGCRegion` is supposed do when given 0 as an alloc budget. On Windows, we throw an `ArgumentOutOfRangeException` indicating that the budget is too large (which is certainly an incorrect message), and as the test failure indicates Ubuntu will continue with a budget of 0 and immediately boot the user out of the No GC region on first alloc, which fails the test."}}
{"actor":{"display_login":"swgillespie"}}