A really obscure System.IO.Pipes issue that appeared on .NET 6 #85530
Unanswered
natan-abolafya
asked this question in
Q&A
Replies: 1 comment
-
Some further investigation points to this change as a possible reason for the dying connection:
|
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
This is really a head scratcher. We have an application where we create a
NamedPipeServerStream
on C# and a nodejs application connects to this pipe for communication.After upgrading to .NET 6 from .NET 5, very few users started reporting that they started having issues caused by this communication dying out of nowhere. This happens only on specific devices but it happens to them frequently. Everybody else is using it quite fine.
There were of course other changes between these two application versions, but we are quite confident that it's the .NET change caused this as downgrading .NET and keeping everything else the same seems to solve the issue.
We have also tested upgrading to .NET 7 which also seems to address the issue.UPDATE: We still see it with .NET 7.Unfortunately, we did not manage to collect very detailed information about the issue due to various layers above the pipe code nor isolate it as we don't have access to these devices.
I think the Pipe code thinks that the other side closed the connection as that part of the code is triggered, while nodejs reports
read EPIPE
on this code pieceSo, the solution should be upgrading to .NET 7 of course but it's not so simple. We just made a test build by cutting a lot of corners. Not really easy for production.I was hoping to find the issue that appeared
and disappeared and hope to convince the maintainers to backport it to .NET 6 since it's LTS. But I couldn't find anything related. I can't really report it either as the information I have doesn't feel enough to report a bug.So I guess my question is: does this ring any bell to anyone? Is there an issue I failed to find?
UPDATE: It still happens on .NET 7.
Beta Was this translation helpful? Give feedback.
All reactions