Skip to content
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

Several NamedPipeFileStreamConnectedConformanceTests fail with ArgumentOutOfRangeException on Android #55689

Closed
danmoseley opened this issue Jul 14, 2021 · 3 comments
Assignees
Milestone

Comments

@danmoseley
Copy link
Member

specifically
net6.0-Android-Release-x64-Mono_Release-Ubuntu.1804.Amd64.Android.Open
https://dev.azure.com/dnceng/public/_build/results?buildId=1238168&view=ms.vss-test-web.build-test-results-tab&runId=36842224&paneView=debug

We need to reduce the pipe name length by 9 characters. I want to take a moment to point out how helpful our error message is here.

      <test name="System.IO.Tests.NamedPipeFileStreamConnectedConformanceTests.ReadWrite_Success(mode: AsyncMemory, writeSize: 1, startWithFlush: True)" type="System.IO.Tests.NamedPipeFileStreamConnectedConformanceTests" method="ReadWrite_Success" time="0.0003821" result="Fail">
        <failure exception-type="System.ArgumentOutOfRangeException">
          <message><![CDATA[System.ArgumentOutOfRangeException : The path '/data/user/0/net.dot.System.IO.FileSystem.DisabledFileLocking.Tests/cache/CoreFxPipe_46628939c97e49b69928f01272315dc9' is of an invalid length for use with domain sockets on this platform.  The length must be between 1 and 108 characters, inclusive. (Parameter 'path')\nActual value was /data/user/0/net.dot.System.IO.FileSystem.DisabledFileLocking.Tests/cache/CoreFxPipe_46628939c97e49b69928f01272315dc9.]]></message>
          <stack-trace><![CDATA[   at System.Net.Sockets.UnixDomainSocketEndPoint..ctor(String path, String boundFileName) in System.Net.Sockets.dll:token 0x60003df+0x65
   at System.Net.Sockets.UnixDomainSocketEndPoint..ctor(String path) in System.Net.Sockets.dll:token 0x60003de+0x0
   at System.IO.Pipes.NamedPipeServerStream.SharedServer..ctor(String path, Int32 maxCount) in System.IO.Pipes.dll:token 0x60000af+0x36
   at System.IO.Pipes.NamedPipeServerStream.SharedServer.Get(String path, Int32 maxCount) in System.IO.Pipes.dll:token 0x60000ad+0x52
   at System.IO.Pipes.NamedPipeServerStream.Create(String pipeName, PipeDirection direction, Int32 maxNumberOfServerInstances, PipeTransmissionMode transmissionMode, PipeOptions options, Int32 inBufferSize, Int32 outBufferSize, HandleInheritability inheritability) in System.IO.Pipes.dll:token 0x60000a1+0x1c
   at System.IO.Pipes.NamedPipeServerStream..ctor(String pipeName, PipeDirection direction, Int32 maxNumberOfServerInstances, PipeTransmissionMode transmissionMode, PipeOptions options, Int32 inBufferSize, Int32 outBufferSize, HandleInheritability inheritability) in System.IO.Pipes.dll:token 0x6000098+0x1e
   at System.IO.Pipes.NamedPipeServerStream..ctor(String pipeName, PipeDirection direction) in System.IO.Pipes.dll:token 0x6000093+0x0
   at System.IO.Tests.NamedPipeFileStreamConnectedConformanceTests.CreateConnectedStreamsAsync() in /_/src/libraries/System.IO.FileSystem/tests/FileStream/FileStreamConformanceTests.cs:line 257
   at System.IO.Tests.ConnectedStreamConformanceTests.ReadWrite_Success(ReadWriteMode mode, Int32 writeSize, Boolean startWithFlush) in /_/src/libraries/Common/tests/StreamConformanceTests/System/IO/StreamConformanceTests.cs:line 1737
--- End of stack trace from previous location ---]]></stack-trace>
        </failure>
@ghost
Copy link

ghost commented Jul 14, 2021

Tagging subscribers to 'arch-android': @steveisok, @akoeplinger
See info in area-owners.md if you want to be subscribed.

Issue Details

specifically
net6.0-Android-Release-x64-Mono_Release-Ubuntu.1804.Amd64.Android.Open
https://dev.azure.com/dnceng/public/_build/results?buildId=1238168&view=ms.vss-test-web.build-test-results-tab&runId=36842224&paneView=debug

We need to reduce the pipe name length by 9 characters. I want to take a moment to point out how helpful our error message is here.

      <test name="System.IO.Tests.NamedPipeFileStreamConnectedConformanceTests.ReadWrite_Success(mode: AsyncMemory, writeSize: 1, startWithFlush: True)" type="System.IO.Tests.NamedPipeFileStreamConnectedConformanceTests" method="ReadWrite_Success" time="0.0003821" result="Fail">
        <failure exception-type="System.ArgumentOutOfRangeException">
          <message><![CDATA[System.ArgumentOutOfRangeException : The path '/data/user/0/net.dot.System.IO.FileSystem.DisabledFileLocking.Tests/cache/CoreFxPipe_46628939c97e49b69928f01272315dc9' is of an invalid length for use with domain sockets on this platform.  The length must be between 1 and 108 characters, inclusive. (Parameter 'path')\nActual value was /data/user/0/net.dot.System.IO.FileSystem.DisabledFileLocking.Tests/cache/CoreFxPipe_46628939c97e49b69928f01272315dc9.]]></message>
          <stack-trace><![CDATA[   at System.Net.Sockets.UnixDomainSocketEndPoint..ctor(String path, String boundFileName) in System.Net.Sockets.dll:token 0x60003df+0x65
   at System.Net.Sockets.UnixDomainSocketEndPoint..ctor(String path) in System.Net.Sockets.dll:token 0x60003de+0x0
   at System.IO.Pipes.NamedPipeServerStream.SharedServer..ctor(String path, Int32 maxCount) in System.IO.Pipes.dll:token 0x60000af+0x36
   at System.IO.Pipes.NamedPipeServerStream.SharedServer.Get(String path, Int32 maxCount) in System.IO.Pipes.dll:token 0x60000ad+0x52
   at System.IO.Pipes.NamedPipeServerStream.Create(String pipeName, PipeDirection direction, Int32 maxNumberOfServerInstances, PipeTransmissionMode transmissionMode, PipeOptions options, Int32 inBufferSize, Int32 outBufferSize, HandleInheritability inheritability) in System.IO.Pipes.dll:token 0x60000a1+0x1c
   at System.IO.Pipes.NamedPipeServerStream..ctor(String pipeName, PipeDirection direction, Int32 maxNumberOfServerInstances, PipeTransmissionMode transmissionMode, PipeOptions options, Int32 inBufferSize, Int32 outBufferSize, HandleInheritability inheritability) in System.IO.Pipes.dll:token 0x6000098+0x1e
   at System.IO.Pipes.NamedPipeServerStream..ctor(String pipeName, PipeDirection direction) in System.IO.Pipes.dll:token 0x6000093+0x0
   at System.IO.Tests.NamedPipeFileStreamConnectedConformanceTests.CreateConnectedStreamsAsync() in /_/src/libraries/System.IO.FileSystem/tests/FileStream/FileStreamConformanceTests.cs:line 257
   at System.IO.Tests.ConnectedStreamConformanceTests.ReadWrite_Success(ReadWriteMode mode, Int32 writeSize, Boolean startWithFlush) in /_/src/libraries/Common/tests/StreamConformanceTests/System/IO/StreamConformanceTests.cs:line 1737
--- End of stack trace from previous location ---]]></stack-trace>
        </failure>
Author: danmoseley
Assignees: -
Labels:

area-System.IO, os-android

Milestone: -

@dotnet-issue-labeler dotnet-issue-labeler bot added the untriaged New issue has not been triaged by the area owner label Jul 14, 2021
@danmoseley
Copy link
Member Author

Changing this line to crop off the last 10 chars (on Android only or everywhere) would make these 20 tests pass

string name = FileSystemTest.GetNamedPipeServerStreamName();

@steveisok steveisok removed the untriaged New issue has not been triaged by the area owner label Jul 14, 2021
@steveisok steveisok added this to the 6.0.0 milestone Jul 14, 2021
@MaximLipnin
Copy link
Contributor

This should be fixed in #55731

@ghost ghost locked as resolved and limited conversation to collaborators Aug 15, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants