Search Issue Tracker

By Design

Votes

2

Found in

2017.4

2019.1.8f1

2020.1

Issue ID

1203056

Regression

No

Crash on wakeup_pipes_init when a proxified HTTP request is made in Build with a present system wide traffic limitation

Mono

-

How to reproduce:
1. Open the attached project ("WebTestProject.zip")
2. Build the project (File -> Build Settings... -> Build)
3. Download the attached traffic limitation Snap-in file ("Console1.msc")
4. Open the Microsoft Management Console (search for "MMC" through Windows Search)
5. Locate and open the downloaded file through MMC (File -> Open...)
6. Assign the Snap-in called "Proxy only" (right-click -> Assign)
7. Run the built project

Reproducible with: 2017.4.36f1 (Mono), 2018.4.15f1, 2019.2.17f1, 2019.3.0f4, 2020.1.0a18

First 2 lines of the Stacktrace when built with IL2CPP from Player.log:
0x00007FFC910EC5CF (GameAssembly) [D:\Unity Versions\2020.1\2020.1.0a18_630f9adc3455\Editor\Data\il2cpp\libil2cpp\mono\ThreadPool\threadpool-ms-io.cpp:528] wakeup_pipes_init
0x00007FFC910EBFC1 (GameAssembly) [D:\Unity Versions\2020.1\2020.1.0a18_630f9adc3455\Editor\Data\il2cpp\libil2cpp\mono\ThreadPool\threadpool-ms-io.cpp:625] ves_icall_System_IOSelector_Add

Notes:
-Both Mono and IL2CPP Builds result in a crash
-Only IL2CPP Builds produce a crash with a Stacktrace
-Could not test 2017.4 with IL2CPP because it is not available when building for Standalone Windows Platform

  1. Resolution Note:

    mono needs to be able to create a socket on localhost or else it will return a no network error. This is in the design of mono https://github.com/mono/mono/blob/7a15b718735eccfac6ecd7467a09279d2f23e16e/mono/metadata/threadpool-io.c

    you can still block all outbound traffic and use your custom proxy, just add ::1 and localhost 127.0.0.0 to the allowed proxies and it should work fine.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.