Search Issue Tracker
Active
Votes
1
Found in
2019.4
2020.3
2020.3.11f1
2021.1
2021.2
2022.1
Issue ID
1346592
Regression
No
[Networking][IL2CPP] Socket.Close(0) in IL2CPP builds freezes the client if server can't be reached
Reproduction steps:
1. Open the attached user's project "Photon-Pun2-Deploy.zip"
2. Block port 5058 in the Firewall or a network tool
3. Open the Scene "MinimalConnect" and Build and Run it as Standalone IL2CPP build
4. When the client runs, give it maybe a second to try to connect, then click the "Disconnect" button
5. Open the Profiler, you can see the spike of one second and explore into the place where it is (Check attached Profiler.png)
Expected result: As the protocol is not connection-oriented, a connection close without delay is expected
Actual result: If the connection is blocked and the user / logic calls Socket.Close() (or Socket.Close(0)) at that moment, this results in a 1 second blocking operation deeper in Socket.Dispose()
Reproduces on: 2019.4.30f1, 2020.3.22f1, 2021.1.18f1, 2021.2.0b12, 2022.1.0a9
Notes:
-The issue is NOT present when using Socket.Send and Socket.BeginReceive
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Texture2D hash changes inside of an AssetBundle when rebuilding a SpriteAtlas bundle with an empty AssetPostprocessor Script enabled
- Aniso Level still applies when Generate MipMap is disabled in Texture Import Settings
- Mipmap Limit Groups long names are not truncated when creating a new Mipmap Limit Group with a long name
- “ArgumentException: Invalid double parameter.” error is thrown when Infinity is typed into the Fixed Timestep field
- GameObject becomes gray when using HDRP and STP together on macOS
Add comment