-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
[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.