Skip to content
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] Bump emscripten to 3.1.12 #70693

Merged
merged 34 commits into from
Jul 9, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
6b7b3f1
[wasm] Bump emscripten to 3.1.9
radekdoulik May 2, 2022
470aa91
Add newline
radekdoulik May 2, 2022
e2f41c2
Use new docker images
radekdoulik May 2, 2022
04db56b
Silence warnings
radekdoulik May 10, 2022
ed514b7
Use newer docker images
radekdoulik May 10, 2022
d4075dc
Bump dependencies
radekdoulik May 10, 2022
de8e106
Bump emscripten version
radekdoulik Jun 13, 2022
a138af0
Update dependencies
radekdoulik Jun 13, 2022
45f74b1
Use newer docker images
radekdoulik Jun 13, 2022
f0bad1d
Fix linking
May 10, 2022
09a3e62
Move the link fix to default link response file
radekdoulik May 10, 2022
1f8ee8b
Disable one more test
radekdoulik May 13, 2022
d09bace
Merge remote-tracking branch 'remotes/origin/main'
radekdoulik Jun 14, 2022
f2bfa1f
Ignore link errors coming from native refs
radekdoulik Jun 15, 2022
a77a210
Avoid another linker error in tests
radekdoulik Jun 15, 2022
dd54a28
Merge remote-tracking branch 'remotes/origin/main'
radekdoulik Jun 16, 2022
c7f8d2f
Disable failing test
May 12, 2022
bdba37b
Try to use emscripten_force_exit in mono_wasm_exit
radekdoulik Jun 16, 2022
0f05ea7
Bump docker image to get newer v8
radekdoulik Jun 20, 2022
d1bcd07
Merge remote-tracking branch 'remotes/origin/main'
radekdoulik Jun 20, 2022
6792967
Fix remaining conflict
radekdoulik Jun 21, 2022
1afaf81
Merge remote-tracking branch 'remotes/origin/main'
radekdoulik Jun 21, 2022
a68e1bb
Use 3.1.12 icu again, it was lost with merge
radekdoulik Jun 21, 2022
e6c6b3c
Revert "Try to use emscripten_force_exit in mono_wasm_exit"
radekdoulik Jun 23, 2022
c0105d8
Revert "Ignore link errors coming from native refs"
radekdoulik Jun 27, 2022
0c76958
Merge remote-tracking branch 'remotes/origin/main'
radekdoulik Jun 27, 2022
01f2ce8
Merge remote-tracking branch 'remotes/origin/main'
radekdoulik Jun 27, 2022
fa51ba2
Merge remote-tracking branch 'remotes/origin/main' into pr-bump-emscr…
radekdoulik Jul 7, 2022
e6a1bd9
Merge remote-tracking branch 'origin/main' into pr-bump-emscripten-3-…
radical Jul 8, 2022
1e9731a
[wasm] Don't run tests on windows with v8
radical Jul 8, 2022
b00e95c
Fix System.Net.Http.Functional.Tests failing due to trimming
radical Jul 9, 2022
bd3aa62
Merge remote-tracking branch 'origin/main' into pr-bump-emscripten-3-…
radical Jul 9, 2022
8ccafc5
[wasm] Fix windows/tests/aot timeout to be same for running on browser
radical Jul 9, 2022
c6b2180
Disable failing tests - issue#71877
radical Jul 9, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions eng/Version.Details.xml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<Dependencies>
<ProductDependencies>
<Dependency Name="Microsoft.NETCore.Runtime.ICU.Transport" Version="7.0.0-preview.7.22354.1">
<Dependency Name="Microsoft.NETCore.Runtime.ICU.Transport" Version="7.0.0-preview.6.22313.1">
<Uri>https://github.com/dotnet/icu</Uri>
<Sha>da370c0f13fe10e544f6ed2c575c551d8a863ad9</Sha>
<Sha>d18a78f3f7bb973e7b01509ae6afe934cfbbd0d4</Sha>
</Dependency>
<Dependency Name="System.Net.MsQuic.Transport" Version="7.0.0-alpha.1.22357.1">
<Uri>https://github.com/dotnet/msquic</Uri>
Expand Down
2 changes: 1 addition & 1 deletion eng/Versions.props
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@
<MicrosoftNETILLinkTasksVersion>7.0.100-1.22357.2</MicrosoftNETILLinkTasksVersion>
<MicrosoftNETILLinkAnalyzerPackageVersion>$(MicrosoftNETILLinkTasksVersion)</MicrosoftNETILLinkAnalyzerPackageVersion>
<!-- ICU -->
<MicrosoftNETCoreRuntimeICUTransportVersion>7.0.0-preview.7.22354.1</MicrosoftNETCoreRuntimeICUTransportVersion>
<MicrosoftNETCoreRuntimeICUTransportVersion>7.0.0-preview.6.22313.1</MicrosoftNETCoreRuntimeICUTransportVersion>
<!-- MsQuic -->
<SystemNetMsQuicTransportVersion>7.0.0-alpha.1.22357.1</SystemNetMsQuicTransportVersion>
<!-- Mono LLVM -->
Expand Down
4 changes: 2 additions & 2 deletions eng/pipelines/common/platform-matrix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -397,7 +397,7 @@ jobs:
platform: Browser_wasm
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
container:
image: ubuntu-18.04-webassembly-20220317214646-1ad56e8
image: ubuntu-18.04-webassembly-20220531132048-00a561c
registry: mcr
jobParameters:
hostedOs: Linux
Expand All @@ -422,7 +422,7 @@ jobs:
platform: Browser_wasm_firefox
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
container:
image: ubuntu-18.04-webassembly-20220317214646-1ad56e8
image: ubuntu-18.04-webassembly-20220531132048-00a561c
registry: mcr
jobParameters:
hostedOs: Linux
Expand Down
41 changes: 31 additions & 10 deletions eng/pipelines/common/templates/wasm-library-aot-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,34 @@ jobs:
#
# Build for Browser/wasm, with EnableAggressiveTrimming=true
#
- template: /eng/pipelines/common/templates/wasm-library-tests.yml
parameters:
platforms: ${{ parameters.platforms }}
nameSuffix: ${{ parameters.nameSuffix }}
isExtraPlatforms: ${{ parameters.isExtraPlatformsBuild }}
extraBuildArgs: /p:EnableAggressiveTrimming=true /p:BuildAOTTestsOnHelix=${{ parameters.buildAOTOnHelix }} /p:RunAOTCompilation=${{ parameters.runAOT }} ${{ parameters.extraBuildArgs }}
extraHelixArgs: /p:NeedsToBuildWasmAppsOnHelix=true ${{ parameters.extraHelixArgs }}
alwaysRun: ${{ parameters.alwaysRun }}
runSmokeOnlyArg: $(_runSmokeTestsOnlyArg)
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
# non-windows - run only with v8
- ${{ if containsValue(parameters.platforms, 'Browser_wasm') }}:
- template: /eng/pipelines/common/templates/wasm-library-tests.yml
parameters:
platforms:
- Browser_wasm
nameSuffix: ${{ parameters.nameSuffix }}
isExtraPlatforms: ${{ parameters.isExtraPlatformsBuild }}
extraBuildArgs: /p:EnableAggressiveTrimming=true /p:BuildAOTTestsOnHelix=${{ parameters.buildAOTOnHelix }} /p:RunAOTCompilation=${{ parameters.runAOT }} ${{ parameters.extraBuildArgs }}
extraHelixArgs: /p:NeedsToBuildWasmAppsOnHelix=true ${{ parameters.extraHelixArgs }}
alwaysRun: ${{ parameters.alwaysRun }}
runSmokeOnlyArg: $(_runSmokeTestsOnlyArg)
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
scenarios:
- normal

# windows - run only with browser
- ${{ if containsValue(parameters.platforms, 'Browser_wasm_win') }}:
- template: /eng/pipelines/common/templates/wasm-library-tests.yml
parameters:
platforms:
- Browser_wasm_win
nameSuffix: ${{ parameters.nameSuffix }}
isExtraPlatforms: ${{ parameters.isExtraPlatformsBuild }}
extraBuildArgs: /p:EnableAggressiveTrimming=true /p:BuildAOTTestsOnHelix=${{ parameters.buildAOTOnHelix }} /p:RunAOTCompilation=${{ parameters.runAOT }} ${{ parameters.extraBuildArgs }}
extraHelixArgs: /p:NeedsToBuildWasmAppsOnHelix=true ${{ parameters.extraHelixArgs }}
alwaysRun: ${{ parameters.alwaysRun }}
runSmokeOnlyArg: $(_runSmokeTestsOnlyArg)
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
scenarios:
- WasmTestOnBrowser
2 changes: 1 addition & 1 deletion eng/pipelines/libraries/helix-queues-setup.yml
Original file line number Diff line number Diff line change
Expand Up @@ -187,6 +187,6 @@ jobs:

# WebAssembly windows
- ${{ if eq(parameters.platform, 'Browser_wasm_win') }}:
- (Windows.Amd64.Server2022.Open)windows.amd64.server2022.open@mcr.microsoft.com/dotnet-buildtools/prereqs:windowsservercore-ltsc2022-helix-webassembly-20220317203903-1ad56e8
- (Windows.Amd64.Server2022.Open)windows.amd64.server2022.open@mcr.microsoft.com/dotnet-buildtools/prereqs:windowsservercore-ltsc2022-helix-webassembly-20220620175048-bf70060

${{ insert }}: ${{ parameters.jobParameters }}
12 changes: 11 additions & 1 deletion eng/pipelines/runtime-extra-platforms-wasm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,14 +57,24 @@ jobs:
parameters:
platforms:
- Browser_wasm
- Browser_wasm_win
# Don't run for rolling builds, as this is covered
alwaysRun: ${{ parameters.isWasmOnlyBuild }}
scenarios:
- normal
- WasmTestOnBrowser
- WasmTestOnNodeJs

# Library tests - Windows
- template: /eng/pipelines/common/templates/wasm-library-tests.yml
parameters:
platforms:
- Browser_wasm_win
# Don't run for rolling builds, as this is covered
alwaysRun: ${{ parameters.isWasmOnlyBuild }}
scenarios:
- WasmTestOnBrowser
- WasmTestOnNodeJs

# Library tests with full threading
- template: /eng/pipelines/common/templates/wasm-library-tests.yml
parameters:
Expand Down
1 change: 0 additions & 1 deletion eng/pipelines/runtime-staging.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,6 @@ jobs:
- Browser_wasm_win
alwaysRun: ${{ variables.isRollingBuild }}
scenarios:
- normal
- WasmTestOnBrowser

# AOT Library tests
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -835,6 +835,7 @@ public void FileSizeExpandsToCapacity()
/// <summary>
/// Test the exceptional behavior when attempting to create a map so large it's not supported.
/// </summary>
[ActiveIssue("https://github.com/dotnet/runtime/issues/51375", TestPlatforms.Browser)]
[SkipOnPlatform(TestPlatforms.OSX, "Because of the file-based backing, OS X pops up a warning dialog about being out-of-space (even though we clean up immediately)")]
[Fact]
public void TooLargeCapacity()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,7 @@ public void TooLargeCapacity_Windows()
/// <summary>
/// Test the exceptional behavior when attempting to create a map so large it's not supported.
/// </summary>
[ActiveIssue("https://github.com/dotnet/runtime/issues/51375", TestPlatforms.Browser)]
[PlatformSpecific(TestPlatforms.AnyUnix & ~TestPlatforms.OSX)] // Because of the file-based backing, OS X pops up a warning dialog about being out-of-space (even though we clean up immediately)
[Fact]
public void TooLargeCapacity_Unix()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ public abstract class DiagnosticsTest : HttpClientHandlerTestBase
public DiagnosticsTest(ITestOutputHelper output) : base(output) { }

[Fact]
[ActiveIssue("https://github.com/dotnet/runtime/issues/71877", TestPlatforms.Browser)]
public void EventSource_ExistsWithCorrectId()
{
Type esType = typeof(HttpClient).Assembly.GetType("System.Net.NetEventSource", throwOnError: true, ignoreCase: false);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<linker>
<assembly fullname="System.Net.Http">
<type fullname="System.Net.Http.SocketsHttpHandler" />
</assembly>
<assembly fullname="System.Net.Http.Functional.Tests">
<type fullname="System.Net.Http.Functional.Tests.SocketsHttpHandler_Http2KeepAlivePing_Test" />
</assembly>
</linker>
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@
<NodeNpmModule Include="ws" Alias="WebSocket" />
<NodeNpmModule Include="node-fetch" />
<NodeNpmModule Include="node-abort-controller" />

<TrimmerRootDescriptor Include="$(MSBuildThisFileDirectory)ILLink.Descriptor.xml" Condition="'$(TargetOS)' == 'Browser'" />
</ItemGroup>

<Import Condition="'$(TargetOS)' == 'Browser'" Project="$(CommonTestPath)System/Net/Prerequisites/LocalEchoServer.props" />
Expand Down
1 change: 0 additions & 1 deletion src/libraries/sendtohelix-wasm.targets
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
<_workItemTimeout Condition="'$(NeedsToBuildWasmAppsOnHelix)' == 'true'">01:00:00</_workItemTimeout>
<_workItemTimeout Condition="'$(Scenario)' == 'WasmDebuggerTests'">01:00:00</_workItemTimeout>
<_workItemTimeout Condition="'$(Scenario)' == 'WasmDebuggerTests' and '$(BrowserHost)' == 'windows'">01:30:00</_workItemTimeout>
<_workItemTimeout Condition="'$(Scenario)' == 'WasmTestOnBrowser' and '$(BrowserHost)' == 'windows'">00:45:00</_workItemTimeout>

<WasmBuildTargetsDir>$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'mono', 'wasm', 'build'))</WasmBuildTargetsDir>
<TestEchoMiddleware>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'bin', 'NetCoreServer', '$(Configuration)', '$(AspNetCoreAppCurrent)'))</TestEchoMiddleware>
Expand Down
2 changes: 2 additions & 0 deletions src/mono/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -234,6 +234,8 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL "Emscripten")
set(HOST_BROWSER 1)
add_definitions(-DNO_GLOBALIZATION_SHIM)
add_definitions(-D_THREAD_SAFE)
add_compile_options(-Wno-strict-prototypes)
add_compile_options(-Wno-unused-but-set-variable)
set(DISABLE_EXECUTABLES 1)
# FIXME: Is there a cmake option for this ?
set(DISABLE_SHARED_LIBS 1)
Expand Down
2 changes: 1 addition & 1 deletion src/mono/wasm/emscripten-version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.1.7
3.1.12
3 changes: 3 additions & 0 deletions src/mono/wasm/wasm.proj
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,9 @@
<_EmccLinkFlags Include="-s MODULARIZE=1"/>
<_EmccLinkFlags Include="-Wl,--allow-undefined"/>
<_EmccLinkFlags Include="-s ENVIRONMENT=&quot;web,webview,worker,node,shell&quot;" />
<!-- remove -Wno-limited-postlink-optimizations once below issue is fixed
active issue: https://github.com/emscripten-core/emscripten/pull/16727 -->
radekdoulik marked this conversation as resolved.
Show resolved Hide resolved
<_EmccLinkFlags Include="-Wno-limited-postlink-optimizations"/>
</ItemGroup>

<ItemGroup Condition="'$(MonoWasmThreads)' == 'true'">
Expand Down
1 change: 1 addition & 0 deletions src/native/libs/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,7 @@ if (CLR_CMAKE_TARGET_UNIX OR CLR_CMAKE_TARGET_BROWSER)
add_compile_options(-Wno-typedef-redefinition)
add_compile_options(-Wno-c11-extensions)
add_compile_options(-Wno-thread-safety-analysis)
add_compile_options(-Wno-strict-prototypes)
radekdoulik marked this conversation as resolved.
Show resolved Hide resolved
endif ()

add_subdirectory(System.Native)
Expand Down
4 changes: 4 additions & 0 deletions src/native/libs/System.IO.Compression.Native/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,10 @@ if (CLR_CMAKE_TARGET_UNIX OR CLR_CMAKE_TARGET_BROWSER)
# Disable implicit fallthrough warning for Brotli
set(FLAGS -Wno-implicit-fallthrough)

if (CMAKE_C_COMPILER_ID STREQUAL Clang)
add_compile_options(-Wno-strict-prototypes)
endif ()

# Delete this supression once brotli is upgraded to vNext (current latest v1.0.9
# does not contain upstream fix: https://github.com/google/brotli/commit/0a3944c)
set(FLAGS "${FLAGS} -Wno-vla-parameter")
Expand Down