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 2.0.21 #52870

Merged

Conversation

radekdoulik
Copy link
Member

No description provided.

And errors as we use `-Werror`:

    error G94F6014A: identifier '__padding' is reserved because it starts with '__'

C99 and C++ standard defines indentifiers with `__` prefix as reserved.
With latest emscripten we get this warning (and error as we use
 `-Werror`):

    src/libraries/Native/Unix/System.Native/pal_process.c(374,92): error G3DC5E52A: cast from 'void (*)(int, siginfo_t *, void *)' to 'void (*)(int)' converts to incompatible function type [-Werror,-Wcast-function-type]
                  void (*oldhandler)(int) = (((unsigned int)sa_old.sa_flags) & SA_SIGINFO) ? (void (*)(int))sa_old.sa_sigaction : sa_old.sa_handler;
@ghost
Copy link

ghost commented May 17, 2021

Tagging subscribers to this area: @dotnet/ncl
See info in area-owners.md if you want to be subscribed.

Issue Details
Author: radekdoulik
Assignees: -
Labels:

area-System.Net

Milestone: -

when building dotnet.js
@radekdoulik radekdoulik added arch-wasm WebAssembly architecture area-Build-mono labels May 17, 2021
@ghost
Copy link

ghost commented May 17, 2021

Tagging subscribers to 'arch-wasm': @lewing
See info in area-owners.md if you want to be subscribed.

Issue Details
Author: radekdoulik
Assignees: -
Labels:

arch-wasm, area-Build-mono, area-System.Net

Milestone: -

Before the `EMSDK_PYTHON` was evaluated before running
the `emsdk_env.bat` script.
with EXPORTED_RUNTIME_METHODS

Build warning/error:

    emcc : warning : EXTRA_EXPORTED_RUNTIME_METHODS is deprecated, please use EXPORTED_RUNTIME_METHODS instead [-Wdeprecated]
Copy link
Member

@lewing lewing left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

does this need to bump the docker images too?

@radekdoulik
Copy link
Member Author

does this need to bump the docker images too?

we should bump emscripten in docker image and also in emscripten nugets. I am not sure whether it is needed before merging this.

I think I will update the docker image and try to use it here. I hope it might help with the new failures in the tests.

@radekdoulik radekdoulik changed the title [wasm] Bump emscripten to 2.0.20 [wasm] Bump emscripten to 2.0.21 May 19, 2021
@lewing
Copy link
Member

lewing commented May 19, 2021

Looks like you are hitting the offsets tool changes now?

@radekdoulik
Copy link
Member Author

Looks like you are hitting the offsets tool changes now?

yeah. interestingly it is *nix specific

Copy link
Member

@lewing lewing left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you'll need to bump the emscripten package names in the manifest (and make sure the flow is correct too so eng/Versions.props and eng/VersionDetails.xml)

@lewing
Copy link
Member

lewing commented May 31, 2021

If if is difficult to remove the fork/exec path I don't mind it staying in, it just seemed like an opportunity to clean things up a bit there.

@radekdoulik
Copy link
Member Author

Let see if this builds. If not, I will open separate issue for it and leave it out of this PR.

@@ -543,6 +543,8 @@ elseif(CLR_CMAKE_TARGET_ANDROID)
unset(HAVE_SHM_OPEN_THAT_WORKS_WELL_ENOUGH_WITH_MMAP)
set(HAVE_CLOCK_MONOTONIC 1)
set(HAVE_CLOCK_REALTIME 1)
elseif (CLR_CMAKE_TARGET_BROWSER)
set(HAVE_FORK 0)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: use unset(HAVE_FORK) instead to be consistent with the other targets, and add a comment explaining why it doesn't work

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

unset(HAVE_FORK) is what I used first, but then realized it doesn't work. Not sure why cmake still saves it to the pal_config.h file, when asked to unset it.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hm weird, it works for the other targets it seems...

@akoeplinger
Copy link
Member

So I just looked at the runtime-staging leg of the wasm AOT build and besides the failing workitems we also have passing ones that do crash with a runtime assertion but exit with code 0, which seems very bad:

https://helix.dot.net/api/2019-06-17/jobs/f72ceeb4-313b-4c02-86e8-ccb006b5e71a/workitems/System.Buffers.Tests/console

XHarness command issued: wasm test --app=. --output-directory=/datadisks/disk1/work/B66709C7/w/AE220949/uploads/xharness-output --engine=V8 --engine-arg=--stack-trace-limit=1000 --js-file=runtime.js -- --run WasmTestRunner.dll System.Buffers.Tests.dll -notrait category=IgnoreForCI -notrait category=OuterLoop -notrait category=failing
[20:36:20] info: Running v8 --expose_wasm --stack-trace-limit=1000 runtime.js -- --run WasmTestRunner.dll System.Buffers.Tests.dll -notrait category=IgnoreForCI -notrait category=OuterLoop -notrait category=failing
                 
                 
[20:36:22] fail: 
                 
[20:36:22] fail: ==== JS stack trace =========================================
                 
[20:36:22] fail: 
                 
[20:36:22] fail: Security context: 0x279d0820dca9 <JSObject>#0#
                 
[20:36:22] fail:     0: builtin exit frame: trace(this=0x279d08203701 <console map = 0x279d08240919>#1#,0x279d0867f7c5 <String[98]: c"* Assertion at /__w/1/s/src/mono/mono/mini/mini-exceptions.c:3957, condition `<disabled>' not met\n">,0x279d08203701 <console map = 0x279d08240919>#1#)
                 
[20:36:22] fail: 
                 
[20:36:22] fail:     1: 4700029 [0x279d083d20bd] [dotnet.js:1431] [bytecode=0x279d088b40dd offset=127](this=0x279d083c1a31 <JSGlobal Object>#2#,15130,39663360,4,0,0)
                 
[20:36:22] fail:     2: _emscripten_asm_const_int [0x279d0838fd19] [dotnet.js:5429] [bytecode=0x279d088b3e55 offset=33](this=0x279d083c1a31 <JSGlobal Object>#2#,4700029,10397992,10397968)
                 
[20:36:22] fail:     3: WasmToJsFrame [pc: 0x239710e80318]
                 
[20:36:22] fail:     4: WASM [0a625486], function #67013 ('wasm_trace_logger'), pc=0x239710e8e53f (+0xdf), pos=22651335 (+78)
                 
[20:36:22] fail:     5: WASM [0a625486], function #3664 ('eglib_log_adapter'), pc=0x2397157c8dbb (+0xdb), pos=642614 (+33)
                 
[20:36:22] fail:     6: WASM [0a625486], function #6008 ('monoeg_g_logstr'), pc=0x2397156d9a01 (+0xe1), pos=932381 (+46)
                 
[20:36:22] fail:     7: WASM [0a625486], function #6006 ('monoeg_g_logv_nofree'), pc=0x2397156d9b88 (+0xc8), pos=932303 (+62)
                 
[20:36:22] fail:     8: WASM [0a625486], function #6011 ('monoeg_assertion_message'), pc=0x2397156d9726 (+0x66), pos=932505 (+32)
                 
[20:36:22] fail:     9: WASM [0a625486], function #6013 ('mono_assertion_message'), pc=0x2397156d95fc (+0x7c), pos=932572 (+39)
                 
[20:36:22] fail:    10: WASM [0a625486], function #6012 ('mono_assertion_message_disabled'), pc=0x2397156d9676 (+0x36), pos=932527 (+9)
                 
[20:36:22] fail:    11: WASM [0a625486], function #5324 ('mono_llvm_match_exception'), pc=0x2397157207d1 (+0x411), pos=847477 (+387)
                 
[20:36:22] fail:    12: WASM [0a625486], function #19578 ('xunit_execution_dotnet_Xunit_Sdk_TestAssemblyRunner_1__RunAsyncd'), pc=0x2397106f63c5 (+0x8725), pos=3602435 (+12315)
                 
[20:36:22] fail:    13: JsToWasmFrame [pc: 0x279d000830a7]
                 
[20:36:22] fail:    14: invoke_vii [0x279d08391cc9] [dotnet.js:11470] [bytecode=0x279d0889d6fd offset=31](this=0x279d083c1a31 <JSGlobal Object>#2#,8135,10399064,39630536)
                 
[20:36:22] fail:    15: WasmToJsFrame [pc: 0x239710e7fa52]
                 
[20:36:22] fail:    16: WASM [0a625486], function #21854 ('xunit_execution_dotnet_System_Runtime_CompilerServices_AsyncMeth'), pc=0x239714b1ba8f (+0x4af), pos=4760701 (+397)
                 
[20:36:22] fail:    17: WASM [0a625486], function #21320 ('xunit_execution_dotnet_System_Runtime_CompilerServices_AsyncTask'), pc=0x239714ba66a9 (+0x189), pos=4621410 (+106)
                 
[20:36:22] fail:    18: WASM [0a625486], function #19569 ('xunit_execution_dotnet_Xunit_Sdk_TestAssemblyRunner_1_TTestCase_'), pc=0x239714e0051b (+0x2bb), pos=3587869 (+252)
                 
[20:36:22] fail:    19: JsToWasmFrame [pc: 0x279d00082ca7]
                 
[20:36:22] fail:    20: invoke_iii [0x279d08391c95] [dotnet.js:11459] [bytecode=0x279d0888b2a9 offset=31](this=0x279d083c1a31 <JSGlobal Object>#2#,3537,17286072,0)
                 
[20:36:22] fail:    21: WasmToJsFrame [pc: 0x239710e80318]
                 
[20:36:22] fail:    22: WASM [0a625486], function #20143 ('xunit_execution_dotnet_Xunit_Sdk_XunitTestFrameworkExecutor__Run'), pc=0x239714d3c71d (+0xb3d), pos=4140625 (+1032)
                 
[20:36:22] fail:    23: JsToWasmFrame [pc: 0x279d000830a7]
                 
[20:36:22] fail:    24: invoke_vii [0x279d08391cc9] [dotnet.js:11470] [bytecode=0x279d0889d6fd offset=31](this=0x279d083c1a31 <JSGlobal Object>#2#,8652,10399440,0)
                 
[20:36:22] fail:    25: WasmToJsFrame [pc: 0x239710e7fa52]
                 
[20:36:22] fail:    26: WASM [0a625486], function #21530 ('xunit_execution_dotnet_System_Runtime_CompilerServices_AsyncMeth'), pc=0x239714b68224 (+0x344), pos=4686394 (+259)
                 
[20:36:22] fail:    27: WASM [0a625486], function #20141 ('xunit_execution_dotnet_Xunit_Sdk_XunitTestFrameworkExecutor_RunT'), pc=0x239714d3e89c (+0x3dc), pos=4139270 (+377)
                 
[20:36:22] fail:    28: WASM [0a625486], function #20016 ('xunit_execution_dotnet_Xunit_Sdk_TestFrameworkExecutor_1_TTestCa'), pc=0x239714d7406f (+0x62f), pos=4018649 (+526)
                 
[20:36:22] fail:    29: WASM [0a625486], function #15943 ('xunit_runner_utility_netcoreapp10_Xunit_Xunit2_RunTests_System_C'), pc=0x2397152d1ce6 (+0x386), pos=2175670 (+253)
                 
[20:36:22] fail:    30: JsToWasmFrame [pc: 0x279d00085f84]
                 
[20:36:22] fail:    31: invoke_viiiii [0x279d08391f05] [dotnet.js:11591] [bytecode=0x279d088a23d5 offset=46](this=0x279d083c1a31 <JSGlobal Object>#2#,4556,16784120,16994440,17283672,16783832,0)
                 
[20:36:22] fail:    32: WasmToJsFrame [pc: 0x239710e7e028]
                 
[20:36:22] fail:    33: WASM [0a625486], function #61781 ('Microsoft_DotNet_XHarness_TestRunners_Xunit_Microsoft_DotNet_XHa'), pc=0x23971060ec1a (+0xa51a), pos=20837626 (+15287)
                 
[20:36:22] fail:    34: JsToWasmFrame [pc: 0x279d000830a7]
                 
[20:36:22] fail:    35: invoke_vii [0x279d08391cc9] [dotnet.js:11470] [bytecode=0x279d0889d6fd offset=31](this=0x279d083c1a31 <JSGlobal Object>#2#,49571,10401384,0)
                 
[20:36:22] fail:    36: WasmToJsFrame [pc: 0x239710e7fa52]
                 
[20:36:22] fail:    37: WASM [0a625486], function #61902 ('Microsoft_DotNet_XHarness_TestRunners_Xunit_System_Runtime_Compi'), pc=0x239711473564 (+0x344), pos=20898845 (+260)
                 
[20:36:22] fail:    38: WASM [0a625486], function #61768 ('Microsoft_DotNet_XHarness_TestRunners_Xunit_Microsoft_DotNet_XHa'), pc=0x2397114a38a6 (+0x286), pos=20817484 (+236)
                 
[20:36:22] fail:    39: JsToWasmFrame [pc: 0x279d00082a51]
                 
[20:36:22] fail:    40: invoke_iiiii [0x279d08391e01] [dotnet.js:11536] [bytecode=0x279d0889e9e5 offset=43](this=0x279d083c1a31 <JSGlobal Object>#2#,4199,16778928,1,16779648,0)
                 
[20:36:22] fail:    41: WasmToJsFrame [pc: 0x239710e7f296]
                 
[20:36:22] fail:    42: WASM [0a625486], function #61802 ('Microsoft_DotNet_XHarness_TestRunners_Xunit_Microsoft_DotNet_XHa'), pc=0x2397106ffa0f (+0x7bcf), pos=20861983 (+11100)
                 
[20:36:22] fail:    43: JsToWasmFrame [pc: 0x279d000830a7]
                 
[20:36:22] fail:    44: invoke_vii [0x279d08391cc9] [dotnet.js:11470] [bytecode=0x279d0889d6fd offset=31](this=0x279d083c1a31 <JSGlobal Object>#2#,49589,10402440,0)
                 
[20:36:22] fail:    45: WasmToJsFrame [pc: 0x239710e7fa52]
                 
[20:36:22] fail:    46: WASM [0a625486], function #61964 ('Microsoft_DotNet_XHarness_TestRunners_Xunit_System_Runtime_Compi'), pc=0x239711468ec4 (+0x344), pos=20908562 (+260)
                 
[20:36:22] fail:    47: WASM [0a625486], function #61799 ('Microsoft_DotNet_XHarness_TestRunners_Xunit_Microsoft_DotNet_XHa'), pc=0x2397114992f8 (+0x1d8), pos=20847411 (+152)
                 
[20:36:22] fail:    48: JsToWasmFrame [pc: 0x279d00082ca7]
                 
[20:36:22] fail:    49: invoke_iii [0x279d08391c95] [dotnet.js:11459] [bytecode=0x279d0888b2a9 offset=31](this=0x279d083c1a31 <JSGlobal Object>#2#,49587,16779584,0)
                 
[20:36:22] fail:    50: WasmToJsFrame [pc: 0x239710e80318]
                 
[20:36:22] fail:    51: WASM [0a625486], function #23836 ('WasmTestRunner_SimpleWasmTestRunner__Maind__0_MoveNext'), pc=0x2397106eaf4f (+0x77af), pos=5392939 (+10943)
                 
[20:36:22] fail:    52: JsToWasmFrame [pc: 0x279d000830a7]
                 
[20:36:22] fail:    53: invoke_vii [0x279d08391cc9] [dotnet.js:11470] [bytecode=0x279d0889d6fd offset=31](this=0x279d083c1a31 <JSGlobal Object>#2#,12320,10403544,0)
                 
[20:36:22] fail:    54: WasmToJsFrame [pc: 0x239710e7fa52]
                 
[20:36:22] fail:    55: WASM [0a625486], function #23878 ('WasmTestRunner_System_Runtime_CompilerServices_AsyncMethodBuilde'), pc=0x2397148d2184 (+0x344), pos=5409419 (+260)
                 
[20:36:22] fail:    56: WASM [0a625486], function #23832 ('WasmTestRunner_SimpleWasmTestRunner_Main_string__'), pc=0x2397148e12b8 (+0x1d8), pos=5381462 (+152)
                 
[20:36:22] fail:    57: WASM [0a625486], function #40844 ('corlib_aot_wrapper_gsharedvt_out_sig_pinvoke_obj_obj'), pc=0x2397135c9f0e (+0x10e), pos=11544865 (+61)
                 
[20:36:22] fail:    58: JsToWasmFrame [pc: 0x279d0008323c]
                 
[20:36:22] fail:    59: invoke_viii [0x279d08391e9d] [dotnet.js:11569] [bytecode=0x279d0889d565 offset=40](this=0x279d083c1a31 <JSGlobal Object>#2#,28800,10403760,10403744,36045224)
                 
[20:36:22] fail:    60: WasmToJsFrame [pc: 0x239710e7fdc6]
                 
[20:36:22] fail:    61: WASM [0a625486], function #40600 ('corlib_wrapper_runtime_invoke_object_runtime_invoke_sig_void_int'), pc=0x23971362fa8b (+0xb8b), pos=11299295 (+1036)
                 
[20:36:22] fail:    62: WASM [0a625486], function #4899 ('mono_llvmonly_runtime_invoke'), pc=0x23971575a0b8 (+0x498), pos=779274 (+453)
                 
[20:36:22] fail:    63: WASM [0a625486], function #4871 ('mono_jit_runtime_invoke'), pc=0x23971575e771 (+0x6d1), pos=773085 (+615)
                 
[20:36:22] fail:    64: WASM [0a625486], function #2226 ('do_runtime_invoke'), pc=0x239715849e4c (+0x10c), pos=495275 (+52)
                 
[20:36:22] fail:    65: WASM [0a625486], function #2235 ('mono_runtime_try_invoke'), pc=0x239715848a8d (+0x8d), pos=496805 (+35)
                 
[20:36:22] fail:    66: WASM [0a625486], function #2310 ('mono_runtime_invoke'), pc=0x239715840e98 (+0xb8), pos=505042 (+64)
                 
[20:36:22] fail:    67: WASM [0a625486], function #67006 ('mono_wasm_invoke_method'), pc=0x239710e8f184 (+0x84), pos=22650106 (+42)
                 
[20:36:22] fail:    68: JsToWasmFrame [pc: 0x279d00082a51]
                 
[20:36:22] fail:    69: invoke_method [0x279d08399d59] [dotnet.js:10760] [bytecode=0x279d0889d475 offset=46](this=0x279d083c4b99 <Object map = 0x279d08255d69>#3#)
                 
[20:36:22] fail:    70: arguments adaptor frame: 4->0
                 
[20:36:22] fail:    71: _call_method_with_converted_args [0x279d083cf4ed] [dotnet.js:8958] [bytecode=0x279d0889d1bd offset=64](this=0x279d083c4b99 <Object map = 0x279d08255d69>#3#,35132456,0,0x279d0866120d <Object map = 0x279d08255661>#4#,36044728,0x279d080403e5 <true>,0x279d08040171 <null>)
                 
[20:36:22] fail:    72: call_method [0x279d083cf44d] [dotnet.js:8918] [bytecode=0x279d0889c951 offset=228](this=0x279d083c4b99 <Object map = 0x279d08255d69>#3#,35132456,0,0x279d08210081 <String[1]: #m>,0x279d08670405 <JSArray[1]>#5#)
                 
[20:36:22] fail:    73: /* anonymous */ [0x279d08670331] [dotnet.js:9177] [bytecode=0x279d0889a91d offset=105](this=0x279d083c1a31 <JSGlobal Object>#2#)
                 
[20:36:22] fail:    74: arguments adaptor frame: 1->0
                 
[20:36:22] fail:    75: call_assembly_entry_point [0x279d083cf5cd] [dotnet.js:9184] [bytecode=0x279d088912e1 offset=20](this=0x279d083c4b99 <Object map = 0x279d08255d69>#3#,0x279d083d1c9d <String[18]: "WasmTestRunner.dll">,0x279d0864cead <JSArray[1]>#6#,0x279d08210081 <String[1]: #m>)
                 
[20:36:22] fail:    76: init [0x279d083d13d1] [runtime.js:355] [bytecode=0x279d08890859 offset=787](this=0x279d083c3161 <Object map = 0x279d0824e9f1>#7#)
                 
[20:36:22] fail:    77: loaded_cb [0x279d083ab439] [runtime.js:241] [bytecode=0x279d0888fbf5 offset=105](this=0x279d083c42dd <Object map = 0x279d08251831>#8#)
                 
[20:36:22] fail:    78: _finalize_startup [0x279d083cff69] [dotnet.js:7132] [bytecode=0x279d08889291 offset=474](this=0x279d083c4a11 <Object map = 0x279d08255db9>#9#,0x279d083c42dd <Object map = 0x279d08251831>#8#,0x279d083bccb9 <Object map = 0x279d08251bf1>#10#)
                 
[20:36:22] fail:    79: onPendingRequestComplete [0x279d083bd01d] [dotnet.js:7169] [bytecode=0x279d083bf56d offset=52](this=0x279d083c1a31 <JSGlobal Object>#2#)
                 
[20:36:22] fail:    80: processFetchResponseBuffer [0x279d083bd03d] [dotnet.js:7184] [bytecode=0x279d083beaad offset=99](this=0x279d083c1a31 <JSGlobal Object>#2#,0x279d083d2a39 <Object map = 0x279d08245171>#11#,0x279d082129a5 <String[21]: #dotnet.timezones.blat>,0x279d083bffb5 <Uint8Array map = 0x279d082404e1>#12#)
                 
[20:36:22] fail:    81: StubFrame [pc: 0x558023dfdef8]
                 
[20:36:22] fail:    82: StubFrame [pc: 0x558023d69f24]
                 
[20:36:22] fail:    83: EntryFrame [pc: 0x558023d478f8]
                 
[20:36:22] fail: =====================
                 
[20:36:22] fail: 
                 
[20:36:22] fail: console.error: * Assertion at /__w/1/s/src/mono/mono/mini/mini-exceptions.c:3957, condition `<disabled>' not met
                 
[20:36:22] fail: 
                 
[20:36:22] info: console.info: Arguments: --run,WasmTestRunner.dll,System.Buffers.Tests.dll,-notrait,category=IgnoreForCI,-notrait,category=OuterLoop,-notrait,category=failing
[20:36:22] info: console.debug: MONO_WASM: Initializing mono runtime
[20:36:22] info: console.debug: MONO_WASM: ICU data archive(s) loaded, disabling invariant mode
[20:36:22] info: console.debug: mono_wasm_runtime_ready fe00e07a-5519-4dfe-b35a-f867dbaf2e28
[20:36:22] info: console.info: Initializing.....
[20:36:22] info: Discovering: System.Buffers.Tests.dll (method display = ClassAndMethod, method display options = None)
[20:36:22] info: Discovered:  System.Buffers.Tests.dll (found 42 of 44 test cases)
[20:36:22] info: Starting:    System.Buffers.Tests.dll
[20:36:22] info: Process v8 exited with 0
                 
[20:36:22] info: Application has finished with exit code: 0
XHarness exit code: 0

@radekdoulik
Copy link
Member Author

That looks bad. Let see if it happens in current builds too.

@pavelsavara
Copy link
Member

pavelsavara commented Jun 2, 2021

I saw that already last Fri on my windows machine.

@pavelsavara
Copy link
Member

No, I saw different, sorry.

fail: * Assertion at C:/Dev/runtime/src/mono/mono/mini/interp/transform.c:9330, condition `<disabled>' not met

@radekdoulik radekdoulik merged commit d43b00a into dotnet:main Jun 2, 2021
@ghost ghost locked as resolved and limited conversation to collaborators Jul 2, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-wasm WebAssembly architecture area-Build-mono
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants