Setup OSX.1100.ARM64.* helix queues - #47919

Merged
sdmaclea merged 9 commits into
dotnet:mainfrom
sdmaclea:AppleSiliconCI
Mar 2, 2021
Merged

Setup OSX.1100.ARM64.* helix queues#47919
sdmaclea merged 9 commits into
dotnet:mainfrom
sdmaclea:AppleSiliconCI

Conversation

@sdmaclea

Copy link
Copy Markdown
Contributor

@sdmacleasdmaclea added this to the 6.0.0 milestone Feb 5, 2021
@sdmacleasdmaclea self-assigned this Feb 5, 2021
@ghost

ghost commented Feb 5, 2021

Copy link
Copy Markdown

Tagging subscribers to this area: @ViktorHofer
See info in area-owners.md if you want to be subscribed.

Issue Details

/cc @mangod9

Author:sdmaclea
Assignees:sdmaclea
Labels:

area-Infrastructure

Milestone:6.0.0

Comment threadeng/pipelines/libraries/helix-queues-setup.yml Outdated
@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

The current version should enable osx-arm64 test for CI runs. Is there a way to trigger them before merging? Or should this be done in a infra branch.

@safern

Copy link
Copy Markdown
Member

The current version should enable osx-arm64 test for CI runs. Is there a way to trigger them before merging? Or should this be done in a infra branch.

You can queue a manual build from your branch.

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

Helix M1 queues don't have any machines yet

OK I'll hold off testing till the queues are populated.

However in the runtime pipeline we can't merge with any failures as that pipeline we track it's pass rate

I can disable the unstable tests before merging.

@mangod9

Copy link
Copy Markdown
Member

Hey @sdmaclea, the queues should be hydrated now, could you please try running tests on them?

@steveisok

Copy link
Copy Markdown
Member

@mangod9

Copy link
Copy Markdown
Member

Thanks @steveisok for the info. Is anyone looking into the python script issues? I do see a mention of script issues being worked on here: https://github.com/dotnet/core-eng/issues/11937#issuecomment-780183832. @parose1 is this something you are still looking into?

@parose1

Copy link
Copy Markdown

@mangod9 The python issue I was looking into was blocking the helix script from completing due to a conflict with the python version homebrew installs. This prevented the machines from being added to helix. The solution was to just uninstall the homebrew python and let the helix script install it instead, which allowed the script to complete.

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr jitstress

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

@parose1 Can. you provide more info? What version of python is installed on the machines now? The initial plan was to have the universal binary version of python 3.9.1 installed. Is that still installed and on the default PATH?

@parose1

Copy link
Copy Markdown

@sdmaclea Running "python3 --version" I see python 3.9.1 is installed on the machines. The only difference is that the helix script installs it instead of homebrew. @ulisesh made the suggestion to uninstall the homebrew version and let the helix script install to get me unblocked, so I could add these into the helix queue, so he may know more on the reasoning as to why the homebrew version was causing issues with the helix script.

@ulisesh

Copy link
Copy Markdown
Contributor

@parose1 Can. you provide more info? What version of python is installed on the machines now? The initial plan was to have the universal binary version of python 3.9.1 installed. Is that still installed and on the default PATH?

The default python in the PATH has Intel binaries. We had problems using Python with universal binaries because there were some package (like cryptography) that don't support M1

@sdmaclea can you please help us understand how having Intel based Python affects your scenario?

Talking about https://helixre107v0xdeko0k025g8.blob.core.windows.net/dotnet-runtime-refs-pull-47864-merge-39d501d2b0984d9ea6/System.Buffers.Tests/console.fba4d13d.log?sv=2019-07-07&se=2021-03-15T18%3A41%3A56Z&sr=c&sp=rl&sig=Vl6KbD0L0CdGQOe5CJ%2F42cXOHHO8n090lOIm9ZVaVAw%3D it looks like the test reporter is having problems running on Python 3.9 and the recommendation here is to upgrade setuptools. @parose1 could you run python3 -m pip install --upgrade setuptools in all the machines?

@parose1

Copy link
Copy Markdown

Talked with @ulisesh on teams and changed the command a bit to "sudo -H python3 -m pip install --no-user --upgrade setuptools"

I completed running that on all the machines in the osx.1100.arm64.open and osx.1100.arm64 helix queues. Let me know if you need anything else, thanks.

@ulisesh

Copy link
Copy Markdown
Contributor

/azp run runtime-coreclr jitstress

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr outerloop

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines failed to run 1 pipeline(s).

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp list

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr jitstress

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@sdmaclea

sdmaclea commented Feb 25, 2021

Copy link
Copy Markdown
ContributorAuthor

Looks like the M1 helix queue issue is resolved.

I triggered a jitstress run, but it couldn't run on M1 queues because it wanted to use .NET 5 SDK osx-arm64 to run the tests.

https://dev.azure.com/dnceng/public/_build/results?buildId=1010529&view=results

So this seems at least partially blocked on #48462. This is probably because xunit wrappers are hard coded to use 5.0 SDK

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr jitstress

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr outerloop

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr jitstressregs

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@mangod9

Copy link
Copy Markdown
Member

Are tests actually running on osx-arm64? I am noticing this failure in the jitstress runs:

Microsoft.DotNet.XUnitConsoleRunner v2.5.0 (64-bit .NET 6.0.0-preview.2.21117.5)
Discovering: tracing.eventcounter.XUnitWrapper
Discovered: tracing.eventcounter.XUnitWrapper
Starting: tracing.eventcounter.XUnitWrapper
Unhandled exception. System.NullReferenceException: Object reference not set to an instance of an object.
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.ExecutionContextCallback(Object s)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext(Thread threadPoolThread)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext()
at System.Threading.Tasks.AwaitTaskContinuation.<>c.<.cctor>b__17_0(Object state)
at System.Threading.Tasks.AwaitTaskContinuation.RunCallback(ContextCallback callback, Object state, Task& currentTask)
--- End of stack trace from previous location ---
at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__140_1(Object state)
at System.Threading.QueueUserWorkItemCallbackDefaultContext.Execute()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()
at System.Threading.Thread.StartCallback()

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

Yes. That test suite had run in earlier runs. It looks like a spurious failure in that leg of that particular run.

If you remove the failed+aborted filter in the test tab, you can see all the tests run and passed.

I looked at outerloop and some of the other jitstress legs/runs and they look fine.

I think this is close to ready to merge.

@hoyosjs@safern Any objections?

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

I wanted to trigger a libraries-outer fullMatrix run on this before merging. The one triggered through azp run doesn't trigger the osx-arm64 legs, because it is not full mattrix.

The ilasm legs have a similar issue since the PR trigger limits them to PR which change ilasm/ildasm source code.

@hoyosjs

Copy link
Copy Markdown
Member

I'll take a look at this later.

@sdmaclea

sdmaclea commented Feb 26, 2021

Copy link
Copy Markdown
ContributorAuthor

Triggered libraries outerloop here https://dev.azure.com/dnceng/public/_build/results?buildId=1014515&view=results

This one looks pretty good. There is one macOS failure. It could easily be spurious. x64 also has one failure presumably a different one.

@sdmaclea

sdmaclea commented Feb 26, 2021

Copy link
Copy Markdown
ContributorAuthor

I triggered the ilasm pipeline here https://dev.azure.com/dnceng/public/_build/results?buildId=1014527&view=results

This one also looks good for Apple Silicon

@sdmaclea

sdmaclea commented Feb 26, 2021

Copy link
Copy Markdown
ContributorAuthor

The coreclr-release-outerloop-nightly has been broken on all other platform for a while. I didn't retrigger it. I can fix it in a separate PR (It is even possible I broke it 9mo ago...)

The various other jitstress runs I didn't retrigger. The earlier runs were very similar to each other.

Base automatically changed from master to mainMarch 1, 2021 09:07
@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

I plan to merge this today.

@ViktorHofer

Copy link
Copy Markdown
Member

@safern can you please take a look at the yml changes in particular?

@safernsafern left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems like libraries tests are only going to be run for outerloop... do we want to add a libraries test run for this on innerloop libraries tests that run only when IsFullMatrix == true?


# OSX arm64
- ${{ if eq(parameters.platform, 'OSX_arm64') }}:
- ${{ if eq(parameters.jobParameters.isFullMatrix, true) }}:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know we discussed this earlier, but I believe we should remove this condition for libraries and then instead condition the test runs in the yml entry point?

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

I plan several other PR to gradually increase coverage. I am going to merge this so we begin getting test coverage. I'll put up a PR to for library tests tomorrow.

@sdmaclea
sdmaclea merged commit b5c809f into dotnet:mainMar 2, 2021
@ghostghost locked as resolved and limited conversation to collaborators Apr 1, 2021
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants

@sdmaclea@safern@mangod9@steveisok@parose1@ulisesh@hoyosjs@ViktorHofer@marek-safar
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Setup OSX.1100.ARM64.* helix queues - #47919

Merged
sdmaclea merged 9 commits into
dotnet:mainfrom
sdmaclea:AppleSiliconCI
Mar 2, 2021
Merged

Setup OSX.1100.ARM64.* helix queues#47919
sdmaclea merged 9 commits into
dotnet:mainfrom
sdmaclea:AppleSiliconCI

Conversation

@sdmaclea

Copy link
Copy Markdown
Contributor

@sdmacleasdmaclea added this to the 6.0.0 milestone Feb 5, 2021
@sdmacleasdmaclea self-assigned this Feb 5, 2021
@ghost

ghost commented Feb 5, 2021

Copy link
Copy Markdown

Tagging subscribers to this area: @ViktorHofer
See info in area-owners.md if you want to be subscribed.

Issue Details

/cc @mangod9

Author:sdmaclea
Assignees:sdmaclea
Labels:

area-Infrastructure

Milestone:6.0.0

Comment threadeng/pipelines/libraries/helix-queues-setup.yml Outdated
@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

The current version should enable osx-arm64 test for CI runs. Is there a way to trigger them before merging? Or should this be done in a infra branch.

@safern

Copy link
Copy Markdown
Member

The current version should enable osx-arm64 test for CI runs. Is there a way to trigger them before merging? Or should this be done in a infra branch.

You can queue a manual build from your branch.

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

Helix M1 queues don't have any machines yet

OK I'll hold off testing till the queues are populated.

However in the runtime pipeline we can't merge with any failures as that pipeline we track it's pass rate

I can disable the unstable tests before merging.

@mangod9

Copy link
Copy Markdown
Member

Hey @sdmaclea, the queues should be hydrated now, could you please try running tests on them?

@steveisok

Copy link
Copy Markdown
Member

@mangod9

Copy link
Copy Markdown
Member

Thanks @steveisok for the info. Is anyone looking into the python script issues? I do see a mention of script issues being worked on here: https://github.com/dotnet/core-eng/issues/11937#issuecomment-780183832. @parose1 is this something you are still looking into?

@parose1

Copy link
Copy Markdown

@mangod9 The python issue I was looking into was blocking the helix script from completing due to a conflict with the python version homebrew installs. This prevented the machines from being added to helix. The solution was to just uninstall the homebrew python and let the helix script install it instead, which allowed the script to complete.

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr jitstress

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

@parose1 Can. you provide more info? What version of python is installed on the machines now? The initial plan was to have the universal binary version of python 3.9.1 installed. Is that still installed and on the default PATH?

@parose1

Copy link
Copy Markdown

@sdmaclea Running "python3 --version" I see python 3.9.1 is installed on the machines. The only difference is that the helix script installs it instead of homebrew. @ulisesh made the suggestion to uninstall the homebrew version and let the helix script install to get me unblocked, so I could add these into the helix queue, so he may know more on the reasoning as to why the homebrew version was causing issues with the helix script.

@ulisesh

Copy link
Copy Markdown
Contributor

@parose1 Can. you provide more info? What version of python is installed on the machines now? The initial plan was to have the universal binary version of python 3.9.1 installed. Is that still installed and on the default PATH?

The default python in the PATH has Intel binaries. We had problems using Python with universal binaries because there were some package (like cryptography) that don't support M1

@sdmaclea can you please help us understand how having Intel based Python affects your scenario?

Talking about https://helixre107v0xdeko0k025g8.blob.core.windows.net/dotnet-runtime-refs-pull-47864-merge-39d501d2b0984d9ea6/System.Buffers.Tests/console.fba4d13d.log?sv=2019-07-07&se=2021-03-15T18%3A41%3A56Z&sr=c&sp=rl&sig=Vl6KbD0L0CdGQOe5CJ%2F42cXOHHO8n090lOIm9ZVaVAw%3D it looks like the test reporter is having problems running on Python 3.9 and the recommendation here is to upgrade setuptools. @parose1 could you run python3 -m pip install --upgrade setuptools in all the machines?

@parose1

Copy link
Copy Markdown

Talked with @ulisesh on teams and changed the command a bit to "sudo -H python3 -m pip install --no-user --upgrade setuptools"

I completed running that on all the machines in the osx.1100.arm64.open and osx.1100.arm64 helix queues. Let me know if you need anything else, thanks.

@ulisesh

Copy link
Copy Markdown
Contributor

/azp run runtime-coreclr jitstress

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr outerloop

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines failed to run 1 pipeline(s).

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp list

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr jitstress

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@sdmaclea

sdmaclea commented Feb 25, 2021

Copy link
Copy Markdown
ContributorAuthor

Looks like the M1 helix queue issue is resolved.

I triggered a jitstress run, but it couldn't run on M1 queues because it wanted to use .NET 5 SDK osx-arm64 to run the tests.

https://dev.azure.com/dnceng/public/_build/results?buildId=1010529&view=results

So this seems at least partially blocked on #48462. This is probably because xunit wrappers are hard coded to use 5.0 SDK

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr jitstress

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr outerloop

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr jitstressregs

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@mangod9

Copy link
Copy Markdown
Member

Are tests actually running on osx-arm64? I am noticing this failure in the jitstress runs:

Microsoft.DotNet.XUnitConsoleRunner v2.5.0 (64-bit .NET 6.0.0-preview.2.21117.5)
Discovering: tracing.eventcounter.XUnitWrapper
Discovered: tracing.eventcounter.XUnitWrapper
Starting: tracing.eventcounter.XUnitWrapper
Unhandled exception. System.NullReferenceException: Object reference not set to an instance of an object.
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.ExecutionContextCallback(Object s)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext(Thread threadPoolThread)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext()
at System.Threading.Tasks.AwaitTaskContinuation.<>c.<.cctor>b__17_0(Object state)
at System.Threading.Tasks.AwaitTaskContinuation.RunCallback(ContextCallback callback, Object state, Task& currentTask)
--- End of stack trace from previous location ---
at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__140_1(Object state)
at System.Threading.QueueUserWorkItemCallbackDefaultContext.Execute()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()
at System.Threading.Thread.StartCallback()

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

Yes. That test suite had run in earlier runs. It looks like a spurious failure in that leg of that particular run.

If you remove the failed+aborted filter in the test tab, you can see all the tests run and passed.

I looked at outerloop and some of the other jitstress legs/runs and they look fine.

I think this is close to ready to merge.

@hoyosjs@safern Any objections?

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

I wanted to trigger a libraries-outer fullMatrix run on this before merging. The one triggered through azp run doesn't trigger the osx-arm64 legs, because it is not full mattrix.

The ilasm legs have a similar issue since the PR trigger limits them to PR which change ilasm/ildasm source code.

@hoyosjs

Copy link
Copy Markdown
Member

I'll take a look at this later.

@sdmaclea

sdmaclea commented Feb 26, 2021

Copy link
Copy Markdown
ContributorAuthor

Triggered libraries outerloop here https://dev.azure.com/dnceng/public/_build/results?buildId=1014515&view=results

This one looks pretty good. There is one macOS failure. It could easily be spurious. x64 also has one failure presumably a different one.

@sdmaclea

sdmaclea commented Feb 26, 2021

Copy link
Copy Markdown
ContributorAuthor

I triggered the ilasm pipeline here https://dev.azure.com/dnceng/public/_build/results?buildId=1014527&view=results

This one also looks good for Apple Silicon

@sdmaclea

sdmaclea commented Feb 26, 2021

Copy link
Copy Markdown
ContributorAuthor

The coreclr-release-outerloop-nightly has been broken on all other platform for a while. I didn't retrigger it. I can fix it in a separate PR (It is even possible I broke it 9mo ago...)

The various other jitstress runs I didn't retrigger. The earlier runs were very similar to each other.

Base automatically changed from master to mainMarch 1, 2021 09:07
@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

I plan to merge this today.

@ViktorHofer

Copy link
Copy Markdown
Member

@safern can you please take a look at the yml changes in particular?

@safernsafern left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems like libraries tests are only going to be run for outerloop... do we want to add a libraries test run for this on innerloop libraries tests that run only when IsFullMatrix == true?


# OSX arm64
- ${{ if eq(parameters.platform, 'OSX_arm64') }}:
- ${{ if eq(parameters.jobParameters.isFullMatrix, true) }}:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know we discussed this earlier, but I believe we should remove this condition for libraries and then instead condition the test runs in the yml entry point?

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

I plan several other PR to gradually increase coverage. I am going to merge this so we begin getting test coverage. I'll put up a PR to for library tests tomorrow.

@sdmaclea
sdmaclea merged commit b5c809f into dotnet:mainMar 2, 2021
@ghostghost locked as resolved and limited conversation to collaborators Apr 1, 2021
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants

@sdmaclea@safern@mangod9@steveisok@parose1@ulisesh@hoyosjs@ViktorHofer@marek-safar
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Setup OSX.1100.ARM64.* helix queues - #47919

Merged
sdmaclea merged 9 commits into
dotnet:mainfrom
sdmaclea:AppleSiliconCI
Mar 2, 2021
Merged

Setup OSX.1100.ARM64.* helix queues#47919
sdmaclea merged 9 commits into
dotnet:mainfrom
sdmaclea:AppleSiliconCI

Conversation

@sdmaclea

Copy link
Copy Markdown
Contributor

@sdmacleasdmaclea added this to the 6.0.0 milestone Feb 5, 2021
@sdmacleasdmaclea self-assigned this Feb 5, 2021
@ghost

ghost commented Feb 5, 2021

Copy link
Copy Markdown

Tagging subscribers to this area: @ViktorHofer
See info in area-owners.md if you want to be subscribed.

Issue Details

/cc @mangod9

Author:sdmaclea
Assignees:sdmaclea
Labels:

area-Infrastructure

Milestone:6.0.0

Comment threadeng/pipelines/libraries/helix-queues-setup.yml Outdated
@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

The current version should enable osx-arm64 test for CI runs. Is there a way to trigger them before merging? Or should this be done in a infra branch.

@safern

Copy link
Copy Markdown
Member

The current version should enable osx-arm64 test for CI runs. Is there a way to trigger them before merging? Or should this be done in a infra branch.

You can queue a manual build from your branch.

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

Helix M1 queues don't have any machines yet

OK I'll hold off testing till the queues are populated.

However in the runtime pipeline we can't merge with any failures as that pipeline we track it's pass rate

I can disable the unstable tests before merging.

@mangod9

Copy link
Copy Markdown
Member

Hey @sdmaclea, the queues should be hydrated now, could you please try running tests on them?

@steveisok

Copy link
Copy Markdown
Member

@mangod9

Copy link
Copy Markdown
Member

Thanks @steveisok for the info. Is anyone looking into the python script issues? I do see a mention of script issues being worked on here: https://github.com/dotnet/core-eng/issues/11937#issuecomment-780183832. @parose1 is this something you are still looking into?

@parose1

Copy link
Copy Markdown

@mangod9 The python issue I was looking into was blocking the helix script from completing due to a conflict with the python version homebrew installs. This prevented the machines from being added to helix. The solution was to just uninstall the homebrew python and let the helix script install it instead, which allowed the script to complete.

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr jitstress

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

@parose1 Can. you provide more info? What version of python is installed on the machines now? The initial plan was to have the universal binary version of python 3.9.1 installed. Is that still installed and on the default PATH?

@parose1

Copy link
Copy Markdown

@sdmaclea Running "python3 --version" I see python 3.9.1 is installed on the machines. The only difference is that the helix script installs it instead of homebrew. @ulisesh made the suggestion to uninstall the homebrew version and let the helix script install to get me unblocked, so I could add these into the helix queue, so he may know more on the reasoning as to why the homebrew version was causing issues with the helix script.

@ulisesh

Copy link
Copy Markdown
Contributor

@parose1 Can. you provide more info? What version of python is installed on the machines now? The initial plan was to have the universal binary version of python 3.9.1 installed. Is that still installed and on the default PATH?

The default python in the PATH has Intel binaries. We had problems using Python with universal binaries because there were some package (like cryptography) that don't support M1

@sdmaclea can you please help us understand how having Intel based Python affects your scenario?

Talking about https://helixre107v0xdeko0k025g8.blob.core.windows.net/dotnet-runtime-refs-pull-47864-merge-39d501d2b0984d9ea6/System.Buffers.Tests/console.fba4d13d.log?sv=2019-07-07&se=2021-03-15T18%3A41%3A56Z&sr=c&sp=rl&sig=Vl6KbD0L0CdGQOe5CJ%2F42cXOHHO8n090lOIm9ZVaVAw%3D it looks like the test reporter is having problems running on Python 3.9 and the recommendation here is to upgrade setuptools. @parose1 could you run python3 -m pip install --upgrade setuptools in all the machines?

@parose1

Copy link
Copy Markdown

Talked with @ulisesh on teams and changed the command a bit to "sudo -H python3 -m pip install --no-user --upgrade setuptools"

I completed running that on all the machines in the osx.1100.arm64.open and osx.1100.arm64 helix queues. Let me know if you need anything else, thanks.

@ulisesh

Copy link
Copy Markdown
Contributor

/azp run runtime-coreclr jitstress

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr outerloop

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines failed to run 1 pipeline(s).

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp list

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr jitstress

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@sdmaclea

sdmaclea commented Feb 25, 2021

Copy link
Copy Markdown
ContributorAuthor

Looks like the M1 helix queue issue is resolved.

I triggered a jitstress run, but it couldn't run on M1 queues because it wanted to use .NET 5 SDK osx-arm64 to run the tests.

https://dev.azure.com/dnceng/public/_build/results?buildId=1010529&view=results

So this seems at least partially blocked on #48462. This is probably because xunit wrappers are hard coded to use 5.0 SDK

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr jitstress

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr outerloop

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr jitstressregs

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@mangod9

Copy link
Copy Markdown
Member

Are tests actually running on osx-arm64? I am noticing this failure in the jitstress runs:

Microsoft.DotNet.XUnitConsoleRunner v2.5.0 (64-bit .NET 6.0.0-preview.2.21117.5)
Discovering: tracing.eventcounter.XUnitWrapper
Discovered: tracing.eventcounter.XUnitWrapper
Starting: tracing.eventcounter.XUnitWrapper
Unhandled exception. System.NullReferenceException: Object reference not set to an instance of an object.
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.ExecutionContextCallback(Object s)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext(Thread threadPoolThread)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext()
at System.Threading.Tasks.AwaitTaskContinuation.<>c.<.cctor>b__17_0(Object state)
at System.Threading.Tasks.AwaitTaskContinuation.RunCallback(ContextCallback callback, Object state, Task& currentTask)
--- End of stack trace from previous location ---
at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__140_1(Object state)
at System.Threading.QueueUserWorkItemCallbackDefaultContext.Execute()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()
at System.Threading.Thread.StartCallback()

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

Yes. That test suite had run in earlier runs. It looks like a spurious failure in that leg of that particular run.

If you remove the failed+aborted filter in the test tab, you can see all the tests run and passed.

I looked at outerloop and some of the other jitstress legs/runs and they look fine.

I think this is close to ready to merge.

@hoyosjs@safern Any objections?

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

I wanted to trigger a libraries-outer fullMatrix run on this before merging. The one triggered through azp run doesn't trigger the osx-arm64 legs, because it is not full mattrix.

The ilasm legs have a similar issue since the PR trigger limits them to PR which change ilasm/ildasm source code.

@hoyosjs

Copy link
Copy Markdown
Member

I'll take a look at this later.

@sdmaclea

sdmaclea commented Feb 26, 2021

Copy link
Copy Markdown
ContributorAuthor

Triggered libraries outerloop here https://dev.azure.com/dnceng/public/_build/results?buildId=1014515&view=results

This one looks pretty good. There is one macOS failure. It could easily be spurious. x64 also has one failure presumably a different one.

@sdmaclea

sdmaclea commented Feb 26, 2021

Copy link
Copy Markdown
ContributorAuthor

I triggered the ilasm pipeline here https://dev.azure.com/dnceng/public/_build/results?buildId=1014527&view=results

This one also looks good for Apple Silicon

@sdmaclea

sdmaclea commented Feb 26, 2021

Copy link
Copy Markdown
ContributorAuthor

The coreclr-release-outerloop-nightly has been broken on all other platform for a while. I didn't retrigger it. I can fix it in a separate PR (It is even possible I broke it 9mo ago...)

The various other jitstress runs I didn't retrigger. The earlier runs were very similar to each other.

Base automatically changed from master to mainMarch 1, 2021 09:07
@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

I plan to merge this today.

@ViktorHofer

Copy link
Copy Markdown
Member

@safern can you please take a look at the yml changes in particular?

@safernsafern left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems like libraries tests are only going to be run for outerloop... do we want to add a libraries test run for this on innerloop libraries tests that run only when IsFullMatrix == true?


# OSX arm64
- ${{ if eq(parameters.platform, 'OSX_arm64') }}:
- ${{ if eq(parameters.jobParameters.isFullMatrix, true) }}:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know we discussed this earlier, but I believe we should remove this condition for libraries and then instead condition the test runs in the yml entry point?

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

I plan several other PR to gradually increase coverage. I am going to merge this so we begin getting test coverage. I'll put up a PR to for library tests tomorrow.

@sdmaclea
sdmaclea merged commit b5c809f into dotnet:mainMar 2, 2021
@ghostghost locked as resolved and limited conversation to collaborators Apr 1, 2021
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants

@sdmaclea@safern@mangod9@steveisok@parose1@ulisesh@hoyosjs@ViktorHofer@marek-safar
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Setup OSX.1100.ARM64.* helix queues - #47919

Merged
sdmaclea merged 9 commits into
dotnet:mainfrom
sdmaclea:AppleSiliconCI
Mar 2, 2021
Merged

Setup OSX.1100.ARM64.* helix queues#47919
sdmaclea merged 9 commits into
dotnet:mainfrom
sdmaclea:AppleSiliconCI

Conversation

@sdmaclea

Copy link
Copy Markdown
Contributor

@sdmacleasdmaclea added this to the 6.0.0 milestone Feb 5, 2021
@sdmacleasdmaclea self-assigned this Feb 5, 2021
@ghost

ghost commented Feb 5, 2021

Copy link
Copy Markdown

Tagging subscribers to this area: @ViktorHofer
See info in area-owners.md if you want to be subscribed.

Issue Details

/cc @mangod9

Author:sdmaclea
Assignees:sdmaclea
Labels:

area-Infrastructure

Milestone:6.0.0

Comment threadeng/pipelines/libraries/helix-queues-setup.yml Outdated
@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

The current version should enable osx-arm64 test for CI runs. Is there a way to trigger them before merging? Or should this be done in a infra branch.

@safern

Copy link
Copy Markdown
Member

The current version should enable osx-arm64 test for CI runs. Is there a way to trigger them before merging? Or should this be done in a infra branch.

You can queue a manual build from your branch.

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

Helix M1 queues don't have any machines yet

OK I'll hold off testing till the queues are populated.

However in the runtime pipeline we can't merge with any failures as that pipeline we track it's pass rate

I can disable the unstable tests before merging.

@mangod9

Copy link
Copy Markdown
Member

Hey @sdmaclea, the queues should be hydrated now, could you please try running tests on them?

@steveisok

Copy link
Copy Markdown
Member

@mangod9

Copy link
Copy Markdown
Member

Thanks @steveisok for the info. Is anyone looking into the python script issues? I do see a mention of script issues being worked on here: https://github.com/dotnet/core-eng/issues/11937#issuecomment-780183832. @parose1 is this something you are still looking into?

@parose1

Copy link
Copy Markdown

@mangod9 The python issue I was looking into was blocking the helix script from completing due to a conflict with the python version homebrew installs. This prevented the machines from being added to helix. The solution was to just uninstall the homebrew python and let the helix script install it instead, which allowed the script to complete.

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr jitstress

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

@parose1 Can. you provide more info? What version of python is installed on the machines now? The initial plan was to have the universal binary version of python 3.9.1 installed. Is that still installed and on the default PATH?

@parose1

Copy link
Copy Markdown

@sdmaclea Running "python3 --version" I see python 3.9.1 is installed on the machines. The only difference is that the helix script installs it instead of homebrew. @ulisesh made the suggestion to uninstall the homebrew version and let the helix script install to get me unblocked, so I could add these into the helix queue, so he may know more on the reasoning as to why the homebrew version was causing issues with the helix script.

@ulisesh

Copy link
Copy Markdown
Contributor

@parose1 Can. you provide more info? What version of python is installed on the machines now? The initial plan was to have the universal binary version of python 3.9.1 installed. Is that still installed and on the default PATH?

The default python in the PATH has Intel binaries. We had problems using Python with universal binaries because there were some package (like cryptography) that don't support M1

@sdmaclea can you please help us understand how having Intel based Python affects your scenario?

Talking about https://helixre107v0xdeko0k025g8.blob.core.windows.net/dotnet-runtime-refs-pull-47864-merge-39d501d2b0984d9ea6/System.Buffers.Tests/console.fba4d13d.log?sv=2019-07-07&se=2021-03-15T18%3A41%3A56Z&sr=c&sp=rl&sig=Vl6KbD0L0CdGQOe5CJ%2F42cXOHHO8n090lOIm9ZVaVAw%3D it looks like the test reporter is having problems running on Python 3.9 and the recommendation here is to upgrade setuptools. @parose1 could you run python3 -m pip install --upgrade setuptools in all the machines?

@parose1

Copy link
Copy Markdown

Talked with @ulisesh on teams and changed the command a bit to "sudo -H python3 -m pip install --no-user --upgrade setuptools"

I completed running that on all the machines in the osx.1100.arm64.open and osx.1100.arm64 helix queues. Let me know if you need anything else, thanks.

@ulisesh

Copy link
Copy Markdown
Contributor

/azp run runtime-coreclr jitstress

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr outerloop

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines failed to run 1 pipeline(s).

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp list

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr jitstress

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@sdmaclea

sdmaclea commented Feb 25, 2021

Copy link
Copy Markdown
ContributorAuthor

Looks like the M1 helix queue issue is resolved.

I triggered a jitstress run, but it couldn't run on M1 queues because it wanted to use .NET 5 SDK osx-arm64 to run the tests.

https://dev.azure.com/dnceng/public/_build/results?buildId=1010529&view=results

So this seems at least partially blocked on #48462. This is probably because xunit wrappers are hard coded to use 5.0 SDK

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr jitstress

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr outerloop

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr jitstressregs

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@mangod9

Copy link
Copy Markdown
Member

Are tests actually running on osx-arm64? I am noticing this failure in the jitstress runs:

Microsoft.DotNet.XUnitConsoleRunner v2.5.0 (64-bit .NET 6.0.0-preview.2.21117.5)
Discovering: tracing.eventcounter.XUnitWrapper
Discovered: tracing.eventcounter.XUnitWrapper
Starting: tracing.eventcounter.XUnitWrapper
Unhandled exception. System.NullReferenceException: Object reference not set to an instance of an object.
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.ExecutionContextCallback(Object s)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext(Thread threadPoolThread)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext()
at System.Threading.Tasks.AwaitTaskContinuation.<>c.<.cctor>b__17_0(Object state)
at System.Threading.Tasks.AwaitTaskContinuation.RunCallback(ContextCallback callback, Object state, Task& currentTask)
--- End of stack trace from previous location ---
at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__140_1(Object state)
at System.Threading.QueueUserWorkItemCallbackDefaultContext.Execute()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()
at System.Threading.Thread.StartCallback()

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

Yes. That test suite had run in earlier runs. It looks like a spurious failure in that leg of that particular run.

If you remove the failed+aborted filter in the test tab, you can see all the tests run and passed.

I looked at outerloop and some of the other jitstress legs/runs and they look fine.

I think this is close to ready to merge.

@hoyosjs@safern Any objections?

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

I wanted to trigger a libraries-outer fullMatrix run on this before merging. The one triggered through azp run doesn't trigger the osx-arm64 legs, because it is not full mattrix.

The ilasm legs have a similar issue since the PR trigger limits them to PR which change ilasm/ildasm source code.

@hoyosjs

Copy link
Copy Markdown
Member

I'll take a look at this later.

@sdmaclea

sdmaclea commented Feb 26, 2021

Copy link
Copy Markdown
ContributorAuthor

Triggered libraries outerloop here https://dev.azure.com/dnceng/public/_build/results?buildId=1014515&view=results

This one looks pretty good. There is one macOS failure. It could easily be spurious. x64 also has one failure presumably a different one.

@sdmaclea

sdmaclea commented Feb 26, 2021

Copy link
Copy Markdown
ContributorAuthor

I triggered the ilasm pipeline here https://dev.azure.com/dnceng/public/_build/results?buildId=1014527&view=results

This one also looks good for Apple Silicon

@sdmaclea

sdmaclea commented Feb 26, 2021

Copy link
Copy Markdown
ContributorAuthor

The coreclr-release-outerloop-nightly has been broken on all other platform for a while. I didn't retrigger it. I can fix it in a separate PR (It is even possible I broke it 9mo ago...)

The various other jitstress runs I didn't retrigger. The earlier runs were very similar to each other.

Base automatically changed from master to mainMarch 1, 2021 09:07
@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

I plan to merge this today.

@ViktorHofer

Copy link
Copy Markdown
Member

@safern can you please take a look at the yml changes in particular?

@safernsafern left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems like libraries tests are only going to be run for outerloop... do we want to add a libraries test run for this on innerloop libraries tests that run only when IsFullMatrix == true?


# OSX arm64
- ${{ if eq(parameters.platform, 'OSX_arm64') }}:
- ${{ if eq(parameters.jobParameters.isFullMatrix, true) }}:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know we discussed this earlier, but I believe we should remove this condition for libraries and then instead condition the test runs in the yml entry point?

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

I plan several other PR to gradually increase coverage. I am going to merge this so we begin getting test coverage. I'll put up a PR to for library tests tomorrow.

@sdmaclea
sdmaclea merged commit b5c809f into dotnet:mainMar 2, 2021
@ghostghost locked as resolved and limited conversation to collaborators Apr 1, 2021
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants

@sdmaclea@safern@mangod9@steveisok@parose1@ulisesh@hoyosjs@ViktorHofer@marek-safar
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Setup OSX.1100.ARM64.* helix queues - #47919

Merged
sdmaclea merged 9 commits into
dotnet:mainfrom
sdmaclea:AppleSiliconCI
Mar 2, 2021
Merged

Setup OSX.1100.ARM64.* helix queues#47919
sdmaclea merged 9 commits into
dotnet:mainfrom
sdmaclea:AppleSiliconCI

Conversation

@sdmaclea

Copy link
Copy Markdown
Contributor

@sdmacleasdmaclea added this to the 6.0.0 milestone Feb 5, 2021
@sdmacleasdmaclea self-assigned this Feb 5, 2021
@ghost

ghost commented Feb 5, 2021

Copy link
Copy Markdown

Tagging subscribers to this area: @ViktorHofer
See info in area-owners.md if you want to be subscribed.

Issue Details

/cc @mangod9

Author:sdmaclea
Assignees:sdmaclea
Labels:

area-Infrastructure

Milestone:6.0.0

Comment threadeng/pipelines/libraries/helix-queues-setup.yml Outdated
@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

The current version should enable osx-arm64 test for CI runs. Is there a way to trigger them before merging? Or should this be done in a infra branch.

@safern

Copy link
Copy Markdown
Member

The current version should enable osx-arm64 test for CI runs. Is there a way to trigger them before merging? Or should this be done in a infra branch.

You can queue a manual build from your branch.

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

Helix M1 queues don't have any machines yet

OK I'll hold off testing till the queues are populated.

However in the runtime pipeline we can't merge with any failures as that pipeline we track it's pass rate

I can disable the unstable tests before merging.

@mangod9

Copy link
Copy Markdown
Member

Hey @sdmaclea, the queues should be hydrated now, could you please try running tests on them?

@steveisok

Copy link
Copy Markdown
Member

@mangod9

Copy link
Copy Markdown
Member

Thanks @steveisok for the info. Is anyone looking into the python script issues? I do see a mention of script issues being worked on here: https://github.com/dotnet/core-eng/issues/11937#issuecomment-780183832. @parose1 is this something you are still looking into?

@parose1

Copy link
Copy Markdown

@mangod9 The python issue I was looking into was blocking the helix script from completing due to a conflict with the python version homebrew installs. This prevented the machines from being added to helix. The solution was to just uninstall the homebrew python and let the helix script install it instead, which allowed the script to complete.

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr jitstress

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

@parose1 Can. you provide more info? What version of python is installed on the machines now? The initial plan was to have the universal binary version of python 3.9.1 installed. Is that still installed and on the default PATH?

@parose1

Copy link
Copy Markdown

@sdmaclea Running "python3 --version" I see python 3.9.1 is installed on the machines. The only difference is that the helix script installs it instead of homebrew. @ulisesh made the suggestion to uninstall the homebrew version and let the helix script install to get me unblocked, so I could add these into the helix queue, so he may know more on the reasoning as to why the homebrew version was causing issues with the helix script.

@ulisesh

Copy link
Copy Markdown
Contributor

@parose1 Can. you provide more info? What version of python is installed on the machines now? The initial plan was to have the universal binary version of python 3.9.1 installed. Is that still installed and on the default PATH?

The default python in the PATH has Intel binaries. We had problems using Python with universal binaries because there were some package (like cryptography) that don't support M1

@sdmaclea can you please help us understand how having Intel based Python affects your scenario?

Talking about https://helixre107v0xdeko0k025g8.blob.core.windows.net/dotnet-runtime-refs-pull-47864-merge-39d501d2b0984d9ea6/System.Buffers.Tests/console.fba4d13d.log?sv=2019-07-07&se=2021-03-15T18%3A41%3A56Z&sr=c&sp=rl&sig=Vl6KbD0L0CdGQOe5CJ%2F42cXOHHO8n090lOIm9ZVaVAw%3D it looks like the test reporter is having problems running on Python 3.9 and the recommendation here is to upgrade setuptools. @parose1 could you run python3 -m pip install --upgrade setuptools in all the machines?

@parose1

Copy link
Copy Markdown

Talked with @ulisesh on teams and changed the command a bit to "sudo -H python3 -m pip install --no-user --upgrade setuptools"

I completed running that on all the machines in the osx.1100.arm64.open and osx.1100.arm64 helix queues. Let me know if you need anything else, thanks.

@ulisesh

Copy link
Copy Markdown
Contributor

/azp run runtime-coreclr jitstress

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr outerloop

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines failed to run 1 pipeline(s).

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp list

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr jitstress

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@sdmaclea

sdmaclea commented Feb 25, 2021

Copy link
Copy Markdown
ContributorAuthor

Looks like the M1 helix queue issue is resolved.

I triggered a jitstress run, but it couldn't run on M1 queues because it wanted to use .NET 5 SDK osx-arm64 to run the tests.

https://dev.azure.com/dnceng/public/_build/results?buildId=1010529&view=results

So this seems at least partially blocked on #48462. This is probably because xunit wrappers are hard coded to use 5.0 SDK

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr jitstress

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr outerloop

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr jitstressregs

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@mangod9

Copy link
Copy Markdown
Member

Are tests actually running on osx-arm64? I am noticing this failure in the jitstress runs:

Microsoft.DotNet.XUnitConsoleRunner v2.5.0 (64-bit .NET 6.0.0-preview.2.21117.5)
Discovering: tracing.eventcounter.XUnitWrapper
Discovered: tracing.eventcounter.XUnitWrapper
Starting: tracing.eventcounter.XUnitWrapper
Unhandled exception. System.NullReferenceException: Object reference not set to an instance of an object.
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.ExecutionContextCallback(Object s)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext(Thread threadPoolThread)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext()
at System.Threading.Tasks.AwaitTaskContinuation.<>c.<.cctor>b__17_0(Object state)
at System.Threading.Tasks.AwaitTaskContinuation.RunCallback(ContextCallback callback, Object state, Task& currentTask)
--- End of stack trace from previous location ---
at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__140_1(Object state)
at System.Threading.QueueUserWorkItemCallbackDefaultContext.Execute()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()
at System.Threading.Thread.StartCallback()

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

Yes. That test suite had run in earlier runs. It looks like a spurious failure in that leg of that particular run.

If you remove the failed+aborted filter in the test tab, you can see all the tests run and passed.

I looked at outerloop and some of the other jitstress legs/runs and they look fine.

I think this is close to ready to merge.

@hoyosjs@safern Any objections?

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

I wanted to trigger a libraries-outer fullMatrix run on this before merging. The one triggered through azp run doesn't trigger the osx-arm64 legs, because it is not full mattrix.

The ilasm legs have a similar issue since the PR trigger limits them to PR which change ilasm/ildasm source code.

@hoyosjs

Copy link
Copy Markdown
Member

I'll take a look at this later.

@sdmaclea

sdmaclea commented Feb 26, 2021

Copy link
Copy Markdown
ContributorAuthor

Triggered libraries outerloop here https://dev.azure.com/dnceng/public/_build/results?buildId=1014515&view=results

This one looks pretty good. There is one macOS failure. It could easily be spurious. x64 also has one failure presumably a different one.

@sdmaclea

sdmaclea commented Feb 26, 2021

Copy link
Copy Markdown
ContributorAuthor

I triggered the ilasm pipeline here https://dev.azure.com/dnceng/public/_build/results?buildId=1014527&view=results

This one also looks good for Apple Silicon

@sdmaclea

sdmaclea commented Feb 26, 2021

Copy link
Copy Markdown
ContributorAuthor

The coreclr-release-outerloop-nightly has been broken on all other platform for a while. I didn't retrigger it. I can fix it in a separate PR (It is even possible I broke it 9mo ago...)

The various other jitstress runs I didn't retrigger. The earlier runs were very similar to each other.

Base automatically changed from master to mainMarch 1, 2021 09:07
@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

I plan to merge this today.

@ViktorHofer

Copy link
Copy Markdown
Member

@safern can you please take a look at the yml changes in particular?

@safernsafern left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems like libraries tests are only going to be run for outerloop... do we want to add a libraries test run for this on innerloop libraries tests that run only when IsFullMatrix == true?


# OSX arm64
- ${{ if eq(parameters.platform, 'OSX_arm64') }}:
- ${{ if eq(parameters.jobParameters.isFullMatrix, true) }}:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know we discussed this earlier, but I believe we should remove this condition for libraries and then instead condition the test runs in the yml entry point?

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

I plan several other PR to gradually increase coverage. I am going to merge this so we begin getting test coverage. I'll put up a PR to for library tests tomorrow.

@sdmaclea
sdmaclea merged commit b5c809f into dotnet:mainMar 2, 2021
@ghostghost locked as resolved and limited conversation to collaborators Apr 1, 2021
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants

@sdmaclea@safern@mangod9@steveisok@parose1@ulisesh@hoyosjs@ViktorHofer@marek-safar
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Setup OSX.1100.ARM64.* helix queues - #47919

Merged
sdmaclea merged 9 commits into
dotnet:mainfrom
sdmaclea:AppleSiliconCI
Mar 2, 2021
Merged

Setup OSX.1100.ARM64.* helix queues#47919
sdmaclea merged 9 commits into
dotnet:mainfrom
sdmaclea:AppleSiliconCI

Conversation

@sdmaclea

Copy link
Copy Markdown
Contributor

@sdmacleasdmaclea added this to the 6.0.0 milestone Feb 5, 2021
@sdmacleasdmaclea self-assigned this Feb 5, 2021
@ghost

ghost commented Feb 5, 2021

Copy link
Copy Markdown

Tagging subscribers to this area: @ViktorHofer
See info in area-owners.md if you want to be subscribed.

Issue Details

/cc @mangod9

Author:sdmaclea
Assignees:sdmaclea
Labels:

area-Infrastructure

Milestone:6.0.0

Comment threadeng/pipelines/libraries/helix-queues-setup.yml Outdated
@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

The current version should enable osx-arm64 test for CI runs. Is there a way to trigger them before merging? Or should this be done in a infra branch.

@safern

Copy link
Copy Markdown
Member

The current version should enable osx-arm64 test for CI runs. Is there a way to trigger them before merging? Or should this be done in a infra branch.

You can queue a manual build from your branch.

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

Helix M1 queues don't have any machines yet

OK I'll hold off testing till the queues are populated.

However in the runtime pipeline we can't merge with any failures as that pipeline we track it's pass rate

I can disable the unstable tests before merging.

@mangod9

Copy link
Copy Markdown
Member

Hey @sdmaclea, the queues should be hydrated now, could you please try running tests on them?

@steveisok

Copy link
Copy Markdown
Member

@mangod9

Copy link
Copy Markdown
Member

Thanks @steveisok for the info. Is anyone looking into the python script issues? I do see a mention of script issues being worked on here: https://github.com/dotnet/core-eng/issues/11937#issuecomment-780183832. @parose1 is this something you are still looking into?

@parose1

Copy link
Copy Markdown

@mangod9 The python issue I was looking into was blocking the helix script from completing due to a conflict with the python version homebrew installs. This prevented the machines from being added to helix. The solution was to just uninstall the homebrew python and let the helix script install it instead, which allowed the script to complete.

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr jitstress

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

@parose1 Can. you provide more info? What version of python is installed on the machines now? The initial plan was to have the universal binary version of python 3.9.1 installed. Is that still installed and on the default PATH?

@parose1

Copy link
Copy Markdown

@sdmaclea Running "python3 --version" I see python 3.9.1 is installed on the machines. The only difference is that the helix script installs it instead of homebrew. @ulisesh made the suggestion to uninstall the homebrew version and let the helix script install to get me unblocked, so I could add these into the helix queue, so he may know more on the reasoning as to why the homebrew version was causing issues with the helix script.

@ulisesh

Copy link
Copy Markdown
Contributor

@parose1 Can. you provide more info? What version of python is installed on the machines now? The initial plan was to have the universal binary version of python 3.9.1 installed. Is that still installed and on the default PATH?

The default python in the PATH has Intel binaries. We had problems using Python with universal binaries because there were some package (like cryptography) that don't support M1

@sdmaclea can you please help us understand how having Intel based Python affects your scenario?

Talking about https://helixre107v0xdeko0k025g8.blob.core.windows.net/dotnet-runtime-refs-pull-47864-merge-39d501d2b0984d9ea6/System.Buffers.Tests/console.fba4d13d.log?sv=2019-07-07&se=2021-03-15T18%3A41%3A56Z&sr=c&sp=rl&sig=Vl6KbD0L0CdGQOe5CJ%2F42cXOHHO8n090lOIm9ZVaVAw%3D it looks like the test reporter is having problems running on Python 3.9 and the recommendation here is to upgrade setuptools. @parose1 could you run python3 -m pip install --upgrade setuptools in all the machines?

@parose1

Copy link
Copy Markdown

Talked with @ulisesh on teams and changed the command a bit to "sudo -H python3 -m pip install --no-user --upgrade setuptools"

I completed running that on all the machines in the osx.1100.arm64.open and osx.1100.arm64 helix queues. Let me know if you need anything else, thanks.

@ulisesh

Copy link
Copy Markdown
Contributor

/azp run runtime-coreclr jitstress

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr outerloop

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines failed to run 1 pipeline(s).

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp list

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr jitstress

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@sdmaclea

sdmaclea commented Feb 25, 2021

Copy link
Copy Markdown
ContributorAuthor

Looks like the M1 helix queue issue is resolved.

I triggered a jitstress run, but it couldn't run on M1 queues because it wanted to use .NET 5 SDK osx-arm64 to run the tests.

https://dev.azure.com/dnceng/public/_build/results?buildId=1010529&view=results

So this seems at least partially blocked on #48462. This is probably because xunit wrappers are hard coded to use 5.0 SDK

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr jitstress

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr outerloop

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr jitstressregs

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@mangod9

Copy link
Copy Markdown
Member

Are tests actually running on osx-arm64? I am noticing this failure in the jitstress runs:

Microsoft.DotNet.XUnitConsoleRunner v2.5.0 (64-bit .NET 6.0.0-preview.2.21117.5)
Discovering: tracing.eventcounter.XUnitWrapper
Discovered: tracing.eventcounter.XUnitWrapper
Starting: tracing.eventcounter.XUnitWrapper
Unhandled exception. System.NullReferenceException: Object reference not set to an instance of an object.
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.ExecutionContextCallback(Object s)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext(Thread threadPoolThread)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext()
at System.Threading.Tasks.AwaitTaskContinuation.<>c.<.cctor>b__17_0(Object state)
at System.Threading.Tasks.AwaitTaskContinuation.RunCallback(ContextCallback callback, Object state, Task& currentTask)
--- End of stack trace from previous location ---
at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__140_1(Object state)
at System.Threading.QueueUserWorkItemCallbackDefaultContext.Execute()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()
at System.Threading.Thread.StartCallback()

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

Yes. That test suite had run in earlier runs. It looks like a spurious failure in that leg of that particular run.

If you remove the failed+aborted filter in the test tab, you can see all the tests run and passed.

I looked at outerloop and some of the other jitstress legs/runs and they look fine.

I think this is close to ready to merge.

@hoyosjs@safern Any objections?

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

I wanted to trigger a libraries-outer fullMatrix run on this before merging. The one triggered through azp run doesn't trigger the osx-arm64 legs, because it is not full mattrix.

The ilasm legs have a similar issue since the PR trigger limits them to PR which change ilasm/ildasm source code.

@hoyosjs

Copy link
Copy Markdown
Member

I'll take a look at this later.

@sdmaclea

sdmaclea commented Feb 26, 2021

Copy link
Copy Markdown
ContributorAuthor

Triggered libraries outerloop here https://dev.azure.com/dnceng/public/_build/results?buildId=1014515&view=results

This one looks pretty good. There is one macOS failure. It could easily be spurious. x64 also has one failure presumably a different one.

@sdmaclea

sdmaclea commented Feb 26, 2021

Copy link
Copy Markdown
ContributorAuthor

I triggered the ilasm pipeline here https://dev.azure.com/dnceng/public/_build/results?buildId=1014527&view=results

This one also looks good for Apple Silicon

@sdmaclea

sdmaclea commented Feb 26, 2021

Copy link
Copy Markdown
ContributorAuthor

The coreclr-release-outerloop-nightly has been broken on all other platform for a while. I didn't retrigger it. I can fix it in a separate PR (It is even possible I broke it 9mo ago...)

The various other jitstress runs I didn't retrigger. The earlier runs were very similar to each other.

Base automatically changed from master to mainMarch 1, 2021 09:07
@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

I plan to merge this today.

@ViktorHofer

Copy link
Copy Markdown
Member

@safern can you please take a look at the yml changes in particular?

@safernsafern left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems like libraries tests are only going to be run for outerloop... do we want to add a libraries test run for this on innerloop libraries tests that run only when IsFullMatrix == true?


# OSX arm64
- ${{ if eq(parameters.platform, 'OSX_arm64') }}:
- ${{ if eq(parameters.jobParameters.isFullMatrix, true) }}:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know we discussed this earlier, but I believe we should remove this condition for libraries and then instead condition the test runs in the yml entry point?

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

I plan several other PR to gradually increase coverage. I am going to merge this so we begin getting test coverage. I'll put up a PR to for library tests tomorrow.

@sdmaclea
sdmaclea merged commit b5c809f into dotnet:mainMar 2, 2021
@ghostghost locked as resolved and limited conversation to collaborators Apr 1, 2021
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants

@sdmaclea@safern@mangod9@steveisok@parose1@ulisesh@hoyosjs@ViktorHofer@marek-safar
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Setup OSX.1100.ARM64.* helix queues - #47919

Merged
sdmaclea merged 9 commits into
dotnet:mainfrom
sdmaclea:AppleSiliconCI
Mar 2, 2021
Merged

Setup OSX.1100.ARM64.* helix queues#47919
sdmaclea merged 9 commits into
dotnet:mainfrom
sdmaclea:AppleSiliconCI

Conversation

@sdmaclea

Copy link
Copy Markdown
Contributor

@sdmacleasdmaclea added this to the 6.0.0 milestone Feb 5, 2021
@sdmacleasdmaclea self-assigned this Feb 5, 2021
@ghost

ghost commented Feb 5, 2021

Copy link
Copy Markdown

Tagging subscribers to this area: @ViktorHofer
See info in area-owners.md if you want to be subscribed.

Issue Details

/cc @mangod9

Author:sdmaclea
Assignees:sdmaclea
Labels:

area-Infrastructure

Milestone:6.0.0

Comment threadeng/pipelines/libraries/helix-queues-setup.yml Outdated
@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

The current version should enable osx-arm64 test for CI runs. Is there a way to trigger them before merging? Or should this be done in a infra branch.

@safern

Copy link
Copy Markdown
Member

The current version should enable osx-arm64 test for CI runs. Is there a way to trigger them before merging? Or should this be done in a infra branch.

You can queue a manual build from your branch.

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

Helix M1 queues don't have any machines yet

OK I'll hold off testing till the queues are populated.

However in the runtime pipeline we can't merge with any failures as that pipeline we track it's pass rate

I can disable the unstable tests before merging.

@mangod9

Copy link
Copy Markdown
Member

Hey @sdmaclea, the queues should be hydrated now, could you please try running tests on them?

@steveisok

Copy link
Copy Markdown
Member

@mangod9

Copy link
Copy Markdown
Member

Thanks @steveisok for the info. Is anyone looking into the python script issues? I do see a mention of script issues being worked on here: https://github.com/dotnet/core-eng/issues/11937#issuecomment-780183832. @parose1 is this something you are still looking into?

@parose1

Copy link
Copy Markdown

@mangod9 The python issue I was looking into was blocking the helix script from completing due to a conflict with the python version homebrew installs. This prevented the machines from being added to helix. The solution was to just uninstall the homebrew python and let the helix script install it instead, which allowed the script to complete.

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr jitstress

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

@parose1 Can. you provide more info? What version of python is installed on the machines now? The initial plan was to have the universal binary version of python 3.9.1 installed. Is that still installed and on the default PATH?

@parose1

Copy link
Copy Markdown

@sdmaclea Running "python3 --version" I see python 3.9.1 is installed on the machines. The only difference is that the helix script installs it instead of homebrew. @ulisesh made the suggestion to uninstall the homebrew version and let the helix script install to get me unblocked, so I could add these into the helix queue, so he may know more on the reasoning as to why the homebrew version was causing issues with the helix script.

@ulisesh

Copy link
Copy Markdown
Contributor

@parose1 Can. you provide more info? What version of python is installed on the machines now? The initial plan was to have the universal binary version of python 3.9.1 installed. Is that still installed and on the default PATH?

The default python in the PATH has Intel binaries. We had problems using Python with universal binaries because there were some package (like cryptography) that don't support M1

@sdmaclea can you please help us understand how having Intel based Python affects your scenario?

Talking about https://helixre107v0xdeko0k025g8.blob.core.windows.net/dotnet-runtime-refs-pull-47864-merge-39d501d2b0984d9ea6/System.Buffers.Tests/console.fba4d13d.log?sv=2019-07-07&se=2021-03-15T18%3A41%3A56Z&sr=c&sp=rl&sig=Vl6KbD0L0CdGQOe5CJ%2F42cXOHHO8n090lOIm9ZVaVAw%3D it looks like the test reporter is having problems running on Python 3.9 and the recommendation here is to upgrade setuptools. @parose1 could you run python3 -m pip install --upgrade setuptools in all the machines?

@parose1

Copy link
Copy Markdown

Talked with @ulisesh on teams and changed the command a bit to "sudo -H python3 -m pip install --no-user --upgrade setuptools"

I completed running that on all the machines in the osx.1100.arm64.open and osx.1100.arm64 helix queues. Let me know if you need anything else, thanks.

@ulisesh

Copy link
Copy Markdown
Contributor

/azp run runtime-coreclr jitstress

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr outerloop

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines failed to run 1 pipeline(s).

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp list

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr jitstress

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@sdmaclea

sdmaclea commented Feb 25, 2021

Copy link
Copy Markdown
ContributorAuthor

Looks like the M1 helix queue issue is resolved.

I triggered a jitstress run, but it couldn't run on M1 queues because it wanted to use .NET 5 SDK osx-arm64 to run the tests.

https://dev.azure.com/dnceng/public/_build/results?buildId=1010529&view=results

So this seems at least partially blocked on #48462. This is probably because xunit wrappers are hard coded to use 5.0 SDK

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr jitstress

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr outerloop

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr jitstressregs

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@mangod9

Copy link
Copy Markdown
Member

Are tests actually running on osx-arm64? I am noticing this failure in the jitstress runs:

Microsoft.DotNet.XUnitConsoleRunner v2.5.0 (64-bit .NET 6.0.0-preview.2.21117.5)
Discovering: tracing.eventcounter.XUnitWrapper
Discovered: tracing.eventcounter.XUnitWrapper
Starting: tracing.eventcounter.XUnitWrapper
Unhandled exception. System.NullReferenceException: Object reference not set to an instance of an object.
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.ExecutionContextCallback(Object s)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext(Thread threadPoolThread)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext()
at System.Threading.Tasks.AwaitTaskContinuation.<>c.<.cctor>b__17_0(Object state)
at System.Threading.Tasks.AwaitTaskContinuation.RunCallback(ContextCallback callback, Object state, Task& currentTask)
--- End of stack trace from previous location ---
at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__140_1(Object state)
at System.Threading.QueueUserWorkItemCallbackDefaultContext.Execute()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()
at System.Threading.Thread.StartCallback()

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

Yes. That test suite had run in earlier runs. It looks like a spurious failure in that leg of that particular run.

If you remove the failed+aborted filter in the test tab, you can see all the tests run and passed.

I looked at outerloop and some of the other jitstress legs/runs and they look fine.

I think this is close to ready to merge.

@hoyosjs@safern Any objections?

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

I wanted to trigger a libraries-outer fullMatrix run on this before merging. The one triggered through azp run doesn't trigger the osx-arm64 legs, because it is not full mattrix.

The ilasm legs have a similar issue since the PR trigger limits them to PR which change ilasm/ildasm source code.

@hoyosjs

Copy link
Copy Markdown
Member

I'll take a look at this later.

@sdmaclea

sdmaclea commented Feb 26, 2021

Copy link
Copy Markdown
ContributorAuthor

Triggered libraries outerloop here https://dev.azure.com/dnceng/public/_build/results?buildId=1014515&view=results

This one looks pretty good. There is one macOS failure. It could easily be spurious. x64 also has one failure presumably a different one.

@sdmaclea

sdmaclea commented Feb 26, 2021

Copy link
Copy Markdown
ContributorAuthor

I triggered the ilasm pipeline here https://dev.azure.com/dnceng/public/_build/results?buildId=1014527&view=results

This one also looks good for Apple Silicon

@sdmaclea

sdmaclea commented Feb 26, 2021

Copy link
Copy Markdown
ContributorAuthor

The coreclr-release-outerloop-nightly has been broken on all other platform for a while. I didn't retrigger it. I can fix it in a separate PR (It is even possible I broke it 9mo ago...)

The various other jitstress runs I didn't retrigger. The earlier runs were very similar to each other.

Base automatically changed from master to mainMarch 1, 2021 09:07
@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

I plan to merge this today.

@ViktorHofer

Copy link
Copy Markdown
Member

@safern can you please take a look at the yml changes in particular?

@safernsafern left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems like libraries tests are only going to be run for outerloop... do we want to add a libraries test run for this on innerloop libraries tests that run only when IsFullMatrix == true?


# OSX arm64
- ${{ if eq(parameters.platform, 'OSX_arm64') }}:
- ${{ if eq(parameters.jobParameters.isFullMatrix, true) }}:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know we discussed this earlier, but I believe we should remove this condition for libraries and then instead condition the test runs in the yml entry point?

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

I plan several other PR to gradually increase coverage. I am going to merge this so we begin getting test coverage. I'll put up a PR to for library tests tomorrow.

@sdmaclea
sdmaclea merged commit b5c809f into dotnet:mainMar 2, 2021
@ghostghost locked as resolved and limited conversation to collaborators Apr 1, 2021
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants

@sdmaclea@safern@mangod9@steveisok@parose1@ulisesh@hoyosjs@ViktorHofer@marek-safar
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Setup OSX.1100.ARM64.* helix queues - #47919

Merged
sdmaclea merged 9 commits into
dotnet:mainfrom
sdmaclea:AppleSiliconCI
Mar 2, 2021
Merged

Setup OSX.1100.ARM64.* helix queues#47919
sdmaclea merged 9 commits into
dotnet:mainfrom
sdmaclea:AppleSiliconCI

Conversation

@sdmaclea

Copy link
Copy Markdown
Contributor

@sdmacleasdmaclea added this to the 6.0.0 milestone Feb 5, 2021
@sdmacleasdmaclea self-assigned this Feb 5, 2021
@ghost

ghost commented Feb 5, 2021

Copy link
Copy Markdown

Tagging subscribers to this area: @ViktorHofer
See info in area-owners.md if you want to be subscribed.

Issue Details

/cc @mangod9

Author:sdmaclea
Assignees:sdmaclea
Labels:

area-Infrastructure

Milestone:6.0.0

Comment threadeng/pipelines/libraries/helix-queues-setup.yml Outdated
@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

The current version should enable osx-arm64 test for CI runs. Is there a way to trigger them before merging? Or should this be done in a infra branch.

@safern

Copy link
Copy Markdown
Member

The current version should enable osx-arm64 test for CI runs. Is there a way to trigger them before merging? Or should this be done in a infra branch.

You can queue a manual build from your branch.

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

Helix M1 queues don't have any machines yet

OK I'll hold off testing till the queues are populated.

However in the runtime pipeline we can't merge with any failures as that pipeline we track it's pass rate

I can disable the unstable tests before merging.

@mangod9

Copy link
Copy Markdown
Member

Hey @sdmaclea, the queues should be hydrated now, could you please try running tests on them?

@steveisok

Copy link
Copy Markdown
Member

@mangod9

Copy link
Copy Markdown
Member

Thanks @steveisok for the info. Is anyone looking into the python script issues? I do see a mention of script issues being worked on here: https://github.com/dotnet/core-eng/issues/11937#issuecomment-780183832. @parose1 is this something you are still looking into?

@parose1

Copy link
Copy Markdown

@mangod9 The python issue I was looking into was blocking the helix script from completing due to a conflict with the python version homebrew installs. This prevented the machines from being added to helix. The solution was to just uninstall the homebrew python and let the helix script install it instead, which allowed the script to complete.

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr jitstress

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

@parose1 Can. you provide more info? What version of python is installed on the machines now? The initial plan was to have the universal binary version of python 3.9.1 installed. Is that still installed and on the default PATH?

@parose1

Copy link
Copy Markdown

@sdmaclea Running "python3 --version" I see python 3.9.1 is installed on the machines. The only difference is that the helix script installs it instead of homebrew. @ulisesh made the suggestion to uninstall the homebrew version and let the helix script install to get me unblocked, so I could add these into the helix queue, so he may know more on the reasoning as to why the homebrew version was causing issues with the helix script.

@ulisesh

Copy link
Copy Markdown
Contributor

@parose1 Can. you provide more info? What version of python is installed on the machines now? The initial plan was to have the universal binary version of python 3.9.1 installed. Is that still installed and on the default PATH?

The default python in the PATH has Intel binaries. We had problems using Python with universal binaries because there were some package (like cryptography) that don't support M1

@sdmaclea can you please help us understand how having Intel based Python affects your scenario?

Talking about https://helixre107v0xdeko0k025g8.blob.core.windows.net/dotnet-runtime-refs-pull-47864-merge-39d501d2b0984d9ea6/System.Buffers.Tests/console.fba4d13d.log?sv=2019-07-07&se=2021-03-15T18%3A41%3A56Z&sr=c&sp=rl&sig=Vl6KbD0L0CdGQOe5CJ%2F42cXOHHO8n090lOIm9ZVaVAw%3D it looks like the test reporter is having problems running on Python 3.9 and the recommendation here is to upgrade setuptools. @parose1 could you run python3 -m pip install --upgrade setuptools in all the machines?

@parose1

Copy link
Copy Markdown

Talked with @ulisesh on teams and changed the command a bit to "sudo -H python3 -m pip install --no-user --upgrade setuptools"

I completed running that on all the machines in the osx.1100.arm64.open and osx.1100.arm64 helix queues. Let me know if you need anything else, thanks.

@ulisesh

Copy link
Copy Markdown
Contributor

/azp run runtime-coreclr jitstress

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr outerloop

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines failed to run 1 pipeline(s).

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp list

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr jitstress

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@sdmaclea

sdmaclea commented Feb 25, 2021

Copy link
Copy Markdown
ContributorAuthor

Looks like the M1 helix queue issue is resolved.

I triggered a jitstress run, but it couldn't run on M1 queues because it wanted to use .NET 5 SDK osx-arm64 to run the tests.

https://dev.azure.com/dnceng/public/_build/results?buildId=1010529&view=results

So this seems at least partially blocked on #48462. This is probably because xunit wrappers are hard coded to use 5.0 SDK

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr jitstress

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr outerloop

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr jitstressregs

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@mangod9

Copy link
Copy Markdown
Member

Are tests actually running on osx-arm64? I am noticing this failure in the jitstress runs:

Microsoft.DotNet.XUnitConsoleRunner v2.5.0 (64-bit .NET 6.0.0-preview.2.21117.5)
Discovering: tracing.eventcounter.XUnitWrapper
Discovered: tracing.eventcounter.XUnitWrapper
Starting: tracing.eventcounter.XUnitWrapper
Unhandled exception. System.NullReferenceException: Object reference not set to an instance of an object.
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.ExecutionContextCallback(Object s)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext(Thread threadPoolThread)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext()
at System.Threading.Tasks.AwaitTaskContinuation.<>c.<.cctor>b__17_0(Object state)
at System.Threading.Tasks.AwaitTaskContinuation.RunCallback(ContextCallback callback, Object state, Task& currentTask)
--- End of stack trace from previous location ---
at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__140_1(Object state)
at System.Threading.QueueUserWorkItemCallbackDefaultContext.Execute()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()
at System.Threading.Thread.StartCallback()

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

Yes. That test suite had run in earlier runs. It looks like a spurious failure in that leg of that particular run.

If you remove the failed+aborted filter in the test tab, you can see all the tests run and passed.

I looked at outerloop and some of the other jitstress legs/runs and they look fine.

I think this is close to ready to merge.

@hoyosjs@safern Any objections?

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

I wanted to trigger a libraries-outer fullMatrix run on this before merging. The one triggered through azp run doesn't trigger the osx-arm64 legs, because it is not full mattrix.

The ilasm legs have a similar issue since the PR trigger limits them to PR which change ilasm/ildasm source code.

@hoyosjs

Copy link
Copy Markdown
Member

I'll take a look at this later.

@sdmaclea

sdmaclea commented Feb 26, 2021

Copy link
Copy Markdown
ContributorAuthor

Triggered libraries outerloop here https://dev.azure.com/dnceng/public/_build/results?buildId=1014515&view=results

This one looks pretty good. There is one macOS failure. It could easily be spurious. x64 also has one failure presumably a different one.

@sdmaclea

sdmaclea commented Feb 26, 2021

Copy link
Copy Markdown
ContributorAuthor

I triggered the ilasm pipeline here https://dev.azure.com/dnceng/public/_build/results?buildId=1014527&view=results

This one also looks good for Apple Silicon

@sdmaclea

sdmaclea commented Feb 26, 2021

Copy link
Copy Markdown
ContributorAuthor

The coreclr-release-outerloop-nightly has been broken on all other platform for a while. I didn't retrigger it. I can fix it in a separate PR (It is even possible I broke it 9mo ago...)

The various other jitstress runs I didn't retrigger. The earlier runs were very similar to each other.

Base automatically changed from master to mainMarch 1, 2021 09:07
@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

I plan to merge this today.

@ViktorHofer

Copy link
Copy Markdown
Member

@safern can you please take a look at the yml changes in particular?

@safernsafern left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems like libraries tests are only going to be run for outerloop... do we want to add a libraries test run for this on innerloop libraries tests that run only when IsFullMatrix == true?


# OSX arm64
- ${{ if eq(parameters.platform, 'OSX_arm64') }}:
- ${{ if eq(parameters.jobParameters.isFullMatrix, true) }}:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know we discussed this earlier, but I believe we should remove this condition for libraries and then instead condition the test runs in the yml entry point?

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

I plan several other PR to gradually increase coverage. I am going to merge this so we begin getting test coverage. I'll put up a PR to for library tests tomorrow.

@sdmaclea
sdmaclea merged commit b5c809f into dotnet:mainMar 2, 2021
@ghostghost locked as resolved and limited conversation to collaborators Apr 1, 2021
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants

@sdmaclea@safern@mangod9@steveisok@parose1@ulisesh@hoyosjs@ViktorHofer@marek-safar