Skip to content

System.Net.NetworkInformation.Tests.PingTest.SendPingWithHostAndTimeoutAndBufferAndPingOptions and others fail on AppleTV #73541

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
karelz opened this issue Aug 7, 2022 · 5 comments
Assignees
Labels
area-System.Net os-tvos Apple tvOS runtime-mono specific to the Mono runtime
Milestone

Comments

@karelz
Copy link
Member

karelz commented Aug 7, 2022

Occurrences 7/5-8/5 (incl. PRs) via Kusto and Runfo last 30 days:

  • First failure on 7/27 - happening 3x-4x per week
Day Run OS
8/6 Rolling run OSX.1100.Amd64.AppleTV.Open
8/4 PR #73362 OSX.1100.Amd64.AppleTV.Open
8/2 PR #73023 OSX.1100.Amd64.AppleTV.Open
8/1 PR #71203 OSX.1100.Amd64.AppleTV.Open
7/27 PR #70015 OSX.1100.Amd64.AppleTV.Open
7/26 Rolling run OSX.1100.Amd64.AppleTV.Open

Test: System.Net.NetworkInformation.Tests.PingTest.SendPingWithHostAndTimeoutAndBufferAndPingOptions

Assert.Equal() Failure
Expected: Success
Actual:   TimedOut

   at System.Net.NetworkInformation.Tests.PingTest.PingResultValidator(PingReply pingReply, IPAddress[] localIpAddresses, ITestOutputHelper output)
   at System.Net.NetworkInformation.Tests.PingTest.<>c__DisplayClass30_0.<SendPingWithHostAndTimeoutAndBufferAndPingOptions>b__1(PingReply pingReply)
   at System.Net.NetworkInformation.Tests.PingTest.SendPing(Func`2 sendPing, Action`1 pingResultValidator)
   at System.Net.NetworkInformation.Tests.PingTest.SendBatchPing(Func`2 sendPing, Action`1 pingResultValidator)
   at System.Net.NetworkInformation.Tests.PingTest.SendPingWithHostAndTimeoutAndBufferAndPingOptions()
   at System.Reflection.MethodInvoker.InterpretedInvoke(Object obj, Span`1 args, BindingFlags invokeAttr)
let failedTests = (testNameSubstring : string, methodName : string, messageSubstr: string, includePR : bool, includePassedOnRerun : bool) {
cluster('engsrvprod.kusto.windows.net').database('engineeringdata').AzureDevOpsTests
    | where TestName contains testNameSubstring
    | where includePassedOnRerun or (Outcome == 'Failed')
    | extend startOfTestName = indexof_regex(TestName, @"[^.]+$")
    | extend Method = substring(TestName, startOfTestName)
    | extend Type = substring(TestName, 0, startOfTestName - 1)
    | project-away startOfTestName
    | where (methodName == '') or (Method == methodName)
    | where Message contains messageSubstr
    | distinct JobId, WorkItemId, Message, StackTrace, Method, Type, Arguments, Outcome
    | join kind=inner (cluster('engsrvprod.kusto.windows.net').database('engineeringdata').Jobs
        | where ((Branch == 'refs/heads/main') or (Branch == 'refs/heads/master') or (includePR and (Source startswith "pr/")))
        | where Type startswith "test/functional/cli/"
            and not(Properties contains "runtime-staging")
        | where Branch <> 'refs/pull/73374/merge'
        | summarize arg_max(Finished, Properties, Type, Branch, Source, Started, QueueName) by JobId
        | project-rename JobType = Type) on JobId
    | extend PropertiesJson = parse_json(Properties)
    | extend OS = replace_regex(tostring(PropertiesJson.operatingSystem), @'\((.*)\).*|([^\(].*)', @'\1\2')
    | extend Runtime = iif(PropertiesJson.runtimeFlavor == "mono", "Mono", iif(PropertiesJson.DefinitionName contains "coreclr", "CoreCLR", ""))
    | extend TargetBranch = extractjson("$.['System.PullRequest.TargetBranch']", Properties)
    | extend Architecture = PropertiesJson.architecture
    | extend Scenario = iif(isempty(PropertiesJson.scenario), "--", PropertiesJson.scenario)
    //| extend DefinitionName = PropertiesJson.DefinitionName
    | project-away PropertiesJson
};
failedTests(
    '', //testNameSubstring
    'SendPingWithHostAndTimeoutAndBufferAndPingOptions', //methodName
    'TimedOut', //messageSubstr
    true,  //includePR
    true); //includePassedOnRerun
@karelz karelz added area-System.Net runtime-mono specific to the Mono runtime os-tvos Apple tvOS labels Aug 7, 2022
@ghost ghost added the untriaged New issue has not been triaged by the area owner label Aug 7, 2022
@ghost
Copy link

ghost commented Aug 7, 2022

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

Issue Details

Occurrences 4/5-8/5 (incl. PRs) via Kusto and Runfo last 120 days:

  • First failure on 7/27 - happening 3x-4x per week
Day Run OS
8/6 Rolling run OSX.1100.Amd64.AppleTV.Open
8/4 PR #73362 OSX.1100.Amd64.AppleTV.Open
8/2 PR #73023 OSX.1100.Amd64.AppleTV.Open
8/1 PR #71203 OSX.1100.Amd64.AppleTV.Open
7/27 PR #70015 OSX.1100.Amd64.AppleTV.Open
7/26 Rolling run OSX.1100.Amd64.AppleTV.Open

Test: System.Net.NetworkInformation.Tests.PingTest.SendPingWithHostAndTimeoutAndBufferAndPingOptions

Assert.Equal() Failure
Expected: Success
Actual:   TimedOut

   at System.Net.NetworkInformation.Tests.PingTest.PingResultValidator(PingReply pingReply, IPAddress[] localIpAddresses, ITestOutputHelper output)
   at System.Net.NetworkInformation.Tests.PingTest.<>c__DisplayClass30_0.<SendPingWithHostAndTimeoutAndBufferAndPingOptions>b__1(PingReply pingReply)
   at System.Net.NetworkInformation.Tests.PingTest.SendPing(Func`2 sendPing, Action`1 pingResultValidator)
   at System.Net.NetworkInformation.Tests.PingTest.SendBatchPing(Func`2 sendPing, Action`1 pingResultValidator)
   at System.Net.NetworkInformation.Tests.PingTest.SendPingWithHostAndTimeoutAndBufferAndPingOptions()
   at System.Reflection.MethodInvoker.InterpretedInvoke(Object obj, Span`1 args, BindingFlags invokeAttr)
let failedTests = (testNameSubstring : string, methodName : string, messageSubstr: string, includePR : bool, includePassedOnRerun : bool) {
cluster('engsrvprod.kusto.windows.net').database('engineeringdata').AzureDevOpsTests
    | where TestName contains testNameSubstring
    | where includePassedOnRerun or (Outcome == 'Failed')
    | extend startOfTestName = indexof_regex(TestName, @"[^.]+$")
    | extend Method = substring(TestName, startOfTestName)
    | extend Type = substring(TestName, 0, startOfTestName - 1)
    | project-away startOfTestName
    | where (methodName == '') or (Method == methodName)
    | where Message contains messageSubstr
    | distinct JobId, WorkItemId, Message, StackTrace, Method, Type, Arguments, Outcome
    | join kind=inner (cluster('engsrvprod.kusto.windows.net').database('engineeringdata').Jobs
        | where ((Branch == 'refs/heads/main') or (Branch == 'refs/heads/master') or (includePR and (Source startswith "pr/")))
        | where Type startswith "test/functional/cli/"
            and not(Properties contains "runtime-staging")
        | where Branch <> 'refs/pull/73374/merge'
        | summarize arg_max(Finished, Properties, Type, Branch, Source, Started, QueueName) by JobId
        | project-rename JobType = Type) on JobId
    | extend PropertiesJson = parse_json(Properties)
    | extend OS = replace_regex(tostring(PropertiesJson.operatingSystem), @'\((.*)\).*|([^\(].*)', @'\1\2')
    | extend Runtime = iif(PropertiesJson.runtimeFlavor == "mono", "Mono", iif(PropertiesJson.DefinitionName contains "coreclr", "CoreCLR", ""))
    | extend TargetBranch = extractjson("$.['System.PullRequest.TargetBranch']", Properties)
    | extend Architecture = PropertiesJson.architecture
    | extend Scenario = iif(isempty(PropertiesJson.scenario), "--", PropertiesJson.scenario)
    //| extend DefinitionName = PropertiesJson.DefinitionName
    | project-away PropertiesJson
};
failedTests(
    '', //testNameSubstring
    'SendPingWithHostAndTimeoutAndBufferAndPingOptions', //methodName
    'TimedOut', //messageSubstr
    true,  //includePR
    true); //includePassedOnRerun
Author: karelz
Assignees: -
Labels:

area-System.Net, runtime-mono, os-tvos

Milestone: -

@karelz
Copy link
Member Author

karelz commented Aug 9, 2022

@lewing can you please triage this one? Thanks!

@akoeplinger akoeplinger changed the title System.Net.NetworkInformation.Tests.PingTest.SendPingWithHostAndTimeoutAndBufferAndPingOptions System.Net.NetworkInformation.Tests.PingTest.SendPingWithHostAndTimeoutAndBufferAndPingOptions and others Aug 12, 2022
@akoeplinger akoeplinger changed the title System.Net.NetworkInformation.Tests.PingTest.SendPingWithHostAndTimeoutAndBufferAndPingOptions and others System.Net.NetworkInformation.Tests.PingTest.SendPingWithHostAndTimeoutAndBufferAndPingOptions and others fail on AppleTV Aug 12, 2022
@akoeplinger
Copy link
Member

I expanded the Kusto query a bit and found the same failure in other PingTest tests on AppleTV:

SendPingAsyncWithHostAndTimeout
SendPingAsyncWithHostAndTimeoutAndBuffer
SendPingWithHostAndTimeoutAndBuffer
SendPingWithHostAndTimeoutAndBufferAndPingOptions
SendPingWithIPAddressAndTimeoutAndBufferAndPingOptions_Unix

The common thing seems to be using "localhost" to ping instead of an IP address. It also seems to happen on only a subset of the machines which suggests an infra issue:

DNCENGMAC109.local	4
DNCENGMAC101.local	4
DNCENGMAC092.local	3
DNCENGMAC100.local	2
DNCENGMAC016.local	1
DNCENGMAC104.local	1
DNCENGMAC024.local	1
DNCENGMAC059.local	1

@akoeplinger akoeplinger removed the untriaged New issue has not been triaged by the area owner label Aug 12, 2022
@akoeplinger akoeplinger added this to the 8.0.0 milestone Aug 12, 2022
@lewing lewing assigned steveisok and unassigned lewing Aug 15, 2022
@mdh1418
Copy link
Member

mdh1418 commented Oct 4, 2022

Hit this on an unrelated PR on DNCENGMAC092.local #76465

@steveisok
Copy link
Member

I'm not seeing any hits on this, so closing.

@ghost ghost locked as resolved and limited conversation to collaborators Aug 23, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-System.Net os-tvos Apple tvOS runtime-mono specific to the Mono runtime
Projects
None yet
Development

No branches or pull requests

5 participants