-
Notifications
You must be signed in to change notification settings - Fork 5.3k
[wasm] Emscripten 3.1.1 bump #63894
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
[wasm] Emscripten 3.1.1 bump #63894
Conversation
Co-authored-by: Zoltan Varga <vargaz@gmail.com>
Environment setting https://github.com/emscripten-core/emscripten/blob/2.0.34/src/settings.js#L616-L641 From emscripten 2.0.25 release notes - Support for the 'shell' environment is now disabled by default. Running under `d8`, `js`, or `jsc` is not something that most emscripten users ever want to do, so including the support code is, more often than not, unnecessary. Users who want shell support can enable it by including 'shell' in `-s ENVIRONMENT` (dotnet#14535). Example of the the size increase for bench sample: -a--- 12/10/2021 3:35 PM 382113 dotnet.js -a--- 12/13/2021 10:37 AM 383589 dotnet.js
|
/azp run runtime-wasm |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run runtime-wasm |
|
Azure Pipelines successfully started running 1 pipeline(s). |
The AOT tests are canceled after timeout
Co-authored-by: Ankit Jain <radical@gmail.com>
|
/azp run runtime-wasm |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
|
|
Earlier in the build: |
`htons,ntohs,_get_daylight,_get_timezone,_get_tzname`
.. to fix:
```
EXEC : warning : undefined symbol: htons (referenced by $inetPton6__deps: ['htons','$jstoi_q'], referenced by $writeSockaddr__deps: ['$Sockets','$inetPton4','$inetPton6','$zeroMemory'], referenced by __syscall_accept4__deps: ['$getSocketFromFD','$writeSockaddr','$DNS','$SYSCALLS'], referenced by top-level compiled C/C++ code) [C:\helix\work\workitem\e\publish\ProxyProjectForAOTOnHelix.proj]
EXEC : warning : undefined symbol: ntohs (referenced by $inetNtop6__deps: ['$inetNtop4','ntohs'], referenced by $readSockaddr__deps: ['$Sockets','$inetNtop4','$inetNtop6','ntohs'], referenced by $getSocketAddress__deps: ['$readSockaddr','$FS','$DNS'], referenced by __syscall_bind__deps: ['$getSocketFromFD','$getSocketAddress','$SYSCALLS'], referenced by top-level compiled C/C++ code) [C:\helix\work\workitem\e\publish\ProxyProjectForAOTOnHelix.proj]
EXEC : warning : undefined symbol: _get_daylight (referenced by tzset_impl__deps: ['_get_daylight','_get_timezone','_get_tzname'], referenced by tzset__deps: ['tzset_impl'], referenced by localtime_r__deps: ['tzset'], referenced by top-level compiled C/C++ code) [C:\helix\work\workitem\e\publish\ProxyProjectForAOTOnHelix.proj]
EXEC : warning : undefined symbol: _get_timezone (referenced by tzset_impl__deps: ['_get_daylight','_get_timezone','_get_tzname'], referenced by tzset__deps: ['tzset_impl'], referenced by localtime_r__deps: ['tzset'], referenced by top-level compiled C/C++ code) [C:\helix\work\workitem\e\publish\ProxyProjectForAOTOnHelix.proj]
EXEC : warning : undefined symbol: _get_tzname (referenced by tzset_impl__deps: ['_get_daylight','_get_timezone','_get_tzname'], referenced by tzset__deps: ['tzset_impl'], referenced by localtime_r__deps: ['tzset'], referenced by top-level compiled C/C++ code) [C:\helix\work\workitem\e\publish\ProxyProjectForAOTOnHelix.proj]
```
```
Starting: Microsoft.Extensions.Logging.Tests.dll
Message1
:
testKey3:testValue, testKey2:, testKey1:
missing function: ntohs
Error
at Object.onAbort (test-main.js:176:60)
at abort (./dotnet.js:1316:24)
at _ntohs (./dotnet.js:4990:35)
at readSockaddr (./dotnet.js:5091:18)
...
```
|
I added these functions to the |
|
/azp run runtime-wasm |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Yes, these are still needed in 3.1.1. The TZ deps were fixed in 3.1.3, so we can try to remove them in following emscripten bumps. |
|
The above mentioned PRs are to be merged together with this one to stay on 3.1.1 with the following darc flow updates. |
* Initial changes for emscripten 2.0.34
* Use emcc-link.rsp in build targets
* Use updated docker images
* Fix compiler warnings
Co-authored-by: Zoltan Varga <vargaz@gmail.com>
* Put `--profiling-funcs` to `_EmccLinkFlags`
* Fix build
src/mono/mono/mini/mini-runtime.c:3407:25: error: ‘invoke’ undeclared (first use in this function); did you mean ‘revoke’?
3407 | invoke = mono_marshal_get_runtime_invoke_dynamic ();
* Add shell to the environment
Environment setting https://github.com/emscripten-core/emscripten/blob/2.0.34/src/settings.js#L616-L641
From emscripten 2.0.25 release notes
- Support for the 'shell' environment is now disabled by default. Running under
`d8`, `js`, or `jsc` is not something that most emscripten users ever want to
do, so including the support code is, more often than not, unnecessary. Users
who want shell support can enable it by including 'shell' in `-s ENVIRONMENT`
(dotnet#14535).
Example of the the size increase for bench sample:
-a--- 12/10/2021 3:35 PM 382113 dotnet.js
-a--- 12/13/2021 10:37 AM 383589 dotnet.js
* Add emcc-link.rsp to PlatformManifestFileEntry
* Feedback
https://github.com/emscripten-core/emscripten/blob/2fda25eea756c78c8cb024aa5b6c2b188bf7990f/src/settings.js#L1173-L1176
-s EXPORT_ES6 is link option
* Bump emscripten version
* Bump llvm package version and use its libclang
* Use newer docker images with emscripten 3.1.1
* Remove unused variable
* Add note about icu repo
* Add comment to improve code readability
* Bump the ICU and emsdk versions
* disable non-wasm builds
* disable wasm jobs in runtime, and runtime-staging, as we'll be running runtime-wasm manually
* [wasm] Re-enable tests that were disabled due to the earlier emsdk bump
System.Linq.Tests.csproj: dotnet#64774
System.Text.Json.Tests.csproj: dotnet#64775
System.Text.RegularExpressions.Tests.csproj: dotnet#64769
System.Threading.Channels.Tests.csproj: dotnet#65012
System.Collections.Immutable.Tests.csproj: dotnet#65335
* [wasm] Disable nodejs tests
They are still unstable, and fail with:
```
[01:27:29] fail: /datadisks/disk1/work/A3DA08F7/w/B1B30976/e/test-main.js:97
[01:27:29] fail: if (typeof globalThis.crypto === 'undefined') {
[01:27:29] fail: ^
[01:27:29] fail:
[01:27:29] fail: ReferenceError: globalThis is not defined
[01:27:29] fail: at Object.<anonymous> (/datadisks/disk1/work/A3DA08F7/w/B1B30976/e/test-main.js:97:1)
[01:27:29] fail: at Module._compile (internal/modules/cjs/loader.js:778:30)
[01:27:29] fail: at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
[01:27:29] fail: at Module.load (internal/modules/cjs/loader.js:653:32)
[01:27:29] fail: at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
[01:27:29] fail: at Function.Module._load (internal/modules/cjs/loader.js:585:3)
[01:27:29] fail: at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
[01:27:29] fail: at startup (internal/bootstrap/node.js:283:19)
[01:27:29] fail: at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3)
```
Issue: dotnet#65485
* fix wbt build
* Update path to node in helix commands.
* disable non-wasm builds
* [wasm] Make emscripten version mismatch an error on CI
* Bump emscripten packages used to preview3, which has emsdk 3.1.1
* Update emscripten package version in Versions.props tooo
* Re-enable wasm jobs
* enable non-wasm jobs
* Add more missing exports
* __dl_seterr shouldn't be needed
* Fix MicrosoftNETCoreRuntimeICUTransportVersion
* Put back the 3.1.1 docker images after merge
* Revert "fix wbt build"
This reverts commit f7c77d9.
* Revert "[wasm] Disable nodejs tests"
This reverts commit 7b90965.
* Use newer ICU package, last that still had 3.1.1
* Try different helix queue parameter
* Revert "Try different helix queue parameter"
This reverts commit a34230f.
* Fix helix queue with docker tag
* Try to set PYTHONPATH for emscripten
* [wasm] Do not set _WasmDevel=true for blazor projects
* Increase timeout
The AOT tests are canceled after timeout
* Fix WBT tests
Co-authored-by: Ankit Jain <radical@gmail.com>
* [wasm] Export more functions
`htons,ntohs,_get_daylight,_get_timezone,_get_tzname`
.. to fix:
```
EXEC : warning : undefined symbol: htons (referenced by $inetPton6__deps: ['htons','$jstoi_q'], referenced by $writeSockaddr__deps: ['$Sockets','$inetPton4','$inetPton6','$zeroMemory'], referenced by __syscall_accept4__deps: ['$getSocketFromFD','$writeSockaddr','$DNS','$SYSCALLS'], referenced by top-level compiled C/C++ code) [C:\helix\work\workitem\e\publish\ProxyProjectForAOTOnHelix.proj]
EXEC : warning : undefined symbol: ntohs (referenced by $inetNtop6__deps: ['$inetNtop4','ntohs'], referenced by $readSockaddr__deps: ['$Sockets','$inetNtop4','$inetNtop6','ntohs'], referenced by $getSocketAddress__deps: ['$readSockaddr','$FS','$DNS'], referenced by __syscall_bind__deps: ['$getSocketFromFD','$getSocketAddress','$SYSCALLS'], referenced by top-level compiled C/C++ code) [C:\helix\work\workitem\e\publish\ProxyProjectForAOTOnHelix.proj]
EXEC : warning : undefined symbol: _get_daylight (referenced by tzset_impl__deps: ['_get_daylight','_get_timezone','_get_tzname'], referenced by tzset__deps: ['tzset_impl'], referenced by localtime_r__deps: ['tzset'], referenced by top-level compiled C/C++ code) [C:\helix\work\workitem\e\publish\ProxyProjectForAOTOnHelix.proj]
EXEC : warning : undefined symbol: _get_timezone (referenced by tzset_impl__deps: ['_get_daylight','_get_timezone','_get_tzname'], referenced by tzset__deps: ['tzset_impl'], referenced by localtime_r__deps: ['tzset'], referenced by top-level compiled C/C++ code) [C:\helix\work\workitem\e\publish\ProxyProjectForAOTOnHelix.proj]
EXEC : warning : undefined symbol: _get_tzname (referenced by tzset_impl__deps: ['_get_daylight','_get_timezone','_get_tzname'], referenced by tzset__deps: ['tzset_impl'], referenced by localtime_r__deps: ['tzset'], referenced by top-level compiled C/C++ code) [C:\helix\work\workitem\e\publish\ProxyProjectForAOTOnHelix.proj]
```
```
Starting: Microsoft.Extensions.Logging.Tests.dll
Message1
:
testKey3:testValue, testKey2:, testKey1:
missing function: ntohs
Error
at Object.onAbort (test-main.js:176:60)
at abort (./dotnet.js:1316:24)
at _ntohs (./dotnet.js:4990:35)
at readSockaddr (./dotnet.js:5091:18)
...
```
* fix exported function names
Co-authored-by: Radek Doulik <radekdoulik@google.com>
Co-authored-by: Zoltan Varga <vargaz@gmail.com>
Co-authored-by: Larry Ewing <lewing@microsoft.com>
Co-authored-by: Ankit Jain <radical@gmail.com>
Co-authored-by: Marek Fišera <mara@neptuo.com>
No description provided.