dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
14.99k stars 4.67k forks source link

[wasm] `LowLevelPerf.GenericGenericMethod` failing #91742

Open radical opened 1 year ago

radical commented 1 year ago

From build with v8@11.6.189:

LowLevelPerf.GenericGenericMethod:

// Benchmark: LowLevelPerf.GenericGenericMethod: Job-QYPZCR(PowerPlanMode=00000000-0000-0000-0000-000000000000, Runtime=Wasm, Arguments=/p:EnableUnsafeBinaryFormatterSerialization=true, Toolchain=Wasm, IterationTime=250.0000 ms, MaxIterationCount=20, MinIterationCount=15, WarmupCount=1)
// *** Execute ***
// Launch: 1 / 1
// Execute: /home/helixbot/.jsvu/bin/v8-11.6.189  --experimental-wasm-eh --expose_wasm --module test-main.js -- --run Job-QYPZCR.dll --benchmarkName PerfLabTests.LowLevelPerf.GenericGenericMethod --job "PowerPlanMode=00000000-0000-0000-0000-000000000000, Runtime=Wasm, Arguments=/p:EnableUnsafeBinaryFormatterSerialization=true, Toolchain=Wasm, IterationTime=250.0000 ms, MaxIterationCount=20, MinIterationCount=15, WarmupCount=1" --benchmarkId 17  in /home/helixbot/work/AA250932/w/A85C099C/e/performance/artifacts/bin/for-running/MicroBenchmarks/Job-QYPZCR/bin/net8.0/browser-wasm/AppBundle
Failed to set up high priority. Make sure you have the right permissions. Message: Permission denied
Warning: unknown flag --experimental-wasm-eh.
Try --help for options
Incoming arguments: --run Job-QYPZCR.dll --benchmarkName PerfLabTests.LowLevelPerf.GenericGenericMethod --job PowerPlanMode=00000000-0000-0000-0000-000000000000, Runtime=Wasm, Arguments=/p:EnableUnsafeBinaryFormatterSerialization=true, Toolchain=Wasm, IterationTime=250.0000 ms, MaxIterationCount=20, MinIterationCount=15, WarmupCount=1 --benchmarkId 17
Application arguments: --run Job-QYPZCR.dll --benchmarkName PerfLabTests.LowLevelPerf.GenericGenericMethod --job PowerPlanMode=00000000-0000-0000-0000-000000000000, Runtime=Wasm, Arguments=/p:EnableUnsafeBinaryFormatterSerialization=true, Toolchain=Wasm, IterationTime=250.0000 ms, MaxIterationCount=20, MinIterationCount=15, WarmupCount=1 --benchmarkId 17
MONO_WASM: instantiate_wasm_module() failed CompileError: WebAssembly.Module(): Compiling function #212995:"aot_instances_System_Runtime_Intrinsics_Vector6..." failed: not enough arguments on the stack for if (need 1, got 0) @+51679745
MONO_WASM: CompileError: WebAssembly.Module(): Compiling function #212995:"aot_instances_System_Runtime_Intrinsics_Vector6..." failed: not enough arguments on the stack for if (need 1, got 0) @+51679745
    at /home/helixbot/work/AA250932/w/A85C099C/e/performance/artifacts/bin/for-running/MicroBenchmarks/Job-QYPZCR/bin/net8.0/browser-wasm/AppBundle/_framework/dotnet.runtime.js:3:202985
    at async /home/helixbot/work/AA250932/w/A85C099C/e/performance/artifacts/bin/for-running/MicroBenchmarks/Job-QYPZCR/bin/net8.0/browser-wasm/AppBundle/_framework/dotnet.runtime.js:3:202288
console.info: WASM EXIT 1
Error in mono_download_assets: CompileError: WebAssembly.Module(): Compiling function #212995:"aot_instances_System_Runtime_Intrinsics_Vector6..." failed: not enough arguments on the stack for if (need 1, got 0) @+51679745
exiting due to exception: CompileError: WebAssembly.Module(): Compiling function #212995:"aot_instances_System_Runtime_Intrinsics_Vector6..." failed: not enough arguments on the stack for if (need 1, got 0) @+51679745,CompileError: WebAssembly.Module(): Compiling function #212995:"aot_instances_System_Runtime_Intrinsics_Vector6..." failed: not enough arguments on the stack for if (need 1, got 0) @+51679745
    at /home/helixbot/work/AA250932/w/A85C099C/e/performance/artifacts/bin/for-running/MicroBenchmarks/Job-QYPZCR/bin/net8.0/browser-wasm/AppBundle/_framework/dotnet.runtime.js:3:202985
    at async /home/helixbot/work/AA250932/w/A85C099C/e/performance/artifacts/bin/for-running/MicroBenchmarks/Job-QYPZCR/bin/net8.0/browser-wasm/AppBundle/_framework/dotnet.runtime.js:3:202288

Also, Perf_EventListener.WriteEvent_IntParams:

// **************************
// Benchmark: Perf_EventListener.WriteEvent_IntParams: Job-QYPZCR(PowerPlanMode=00000000-0000-0000-0000-000000000000, Runtime=Wasm, Arguments=/p:EnableUnsafeBinaryFormatterSerialization=true, Toolchain=Wasm, IterationTime=250.0000 ms, MaxIterationCount=20, MinIterationCount=15, WarmupCount=1)
// *** Execute ***
// Launch: 1 / 1
// Execute: /home/helixbot/.jsvu/bin/v8-11.6.189  --experimental-wasm-eh --expose_wasm --module test-main.js -- --run Job-QYPZCR.dll --benchmarkName System.Diagnostics.Tracing.Perf_EventListener.WriteEvent_IntParams --job "PowerPlanMode=00000000-0000-0000-0000-000000000000, Runtime=Wasm, Arguments=/p:EnableUnsafeBinaryFormatterSerialization=true, Toolchain=Wasm, IterationTime=250.0000 ms, MaxIterationCount=20, MinIterationCount=15, WarmupCount=1" --benchmarkId 49  in /home/helixbot/work/AA250932/w/A85C099C/e/performance/artifacts/bin/for-running/MicroBenchmarks/Job-QYPZCR/bin/net8.0/browser-wasm/AppBundle
Failed to set up high priority. Make sure you have the right permissions. Message: Permission denied
Warning: unknown flag --experimental-wasm-eh.
Try --help for options
Incoming arguments: --run Job-QYPZCR.dll --benchmarkName System.Diagnostics.Tracing.Perf_EventListener.WriteEvent_IntParams --job PowerPlanMode=00000000-0000-0000-0000-000000000000, Runtime=Wasm, Arguments=/p:EnableUnsafeBinaryFormatterSerialization=true, Toolchain=Wasm, IterationTime=250.0000 ms, MaxIterationCount=20, MinIterationCount=15, WarmupCount=1 --benchmarkId 49
Application arguments: --run Job-QYPZCR.dll --benchmarkName System.Diagnostics.Tracing.Perf_EventListener.WriteEvent_IntParams --job PowerPlanMode=00000000-0000-0000-0000-000000000000, Runtime=Wasm, Arguments=/p:EnableUnsafeBinaryFormatterSerialization=true, Toolchain=Wasm, IterationTime=250.0000 ms, MaxIterationCount=20, MinIterationCount=15, WarmupCount=1 --benchmarkId 49
MONO_WASM: instantiate_wasm_module() failed CompileError: WebAssembly.Module(): Compiling function #182616:"System_Threading_Tasks_Parallel_System_Threadin..." failed: Invalid opcode 0x16 @+44175870
MONO_WASM: CompileError: WebAssembly.Module(): Compiling function #182616:"System_Threading_Tasks_Parallel_System_Threadin..." failed: Invalid opcode 0x16 @+44175870
    at /home/helixbot/work/AA250932/w/A85C099C/e/performance/artifacts/bin/for-running/MicroBenchmarks/Job-QYPZCR/bin/net8.0/browser-wasm/AppBundle/_framework/dotnet.runtime.js:3:202985
    at async /home/helixbot/work/AA250932/w/A85C099C/e/performance/artifacts/bin/for-running/MicroBenchmarks/Job-QYPZCR/bin/net8.0/browser-wasm/AppBundle/_framework/dotnet.runtime.js:3:202288
console.info: WASM EXIT 1
Error in mono_download_assets: CompileError: WebAssembly.Module(): Compiling function #182616:"System_Threading_Tasks_Parallel_System_Threadin..." failed: Invalid opcode 0x16 @+44175870
exiting due to exception: CompileError: WebAssembly.Module(): Compiling function #182616:"System_Threading_Tasks_Parallel_System_Threadin..." failed: Invalid opcode 0x16 @+44175870,CompileError: WebAssembly.Module(): Compiling function #182616:"System_Threading_Tasks_Parallel_System_Threadin..." failed: Invalid opcode 0x16 @+44175870
    at /home/helixbot/work/AA250932/w/A85C099C/e/performance/artifacts/bin/for-running/MicroBenchmarks/Job-QYPZCR/bin/net8.0/browser-wasm/AppBundle/_framework/dotnet.runtime.js:3:202985
    at async /home/helixbot/work/AA250932/w/A85C099C/e/performance/artifacts/bin/for-running/MicroBenchmarks/Job-QYPZCR/bin/net8.0/browser-wasm/AppBundle/_framework/dotnet.runtime.js:3:202288

Built for 54d9fa8b . Note that this did not get hit on the subsequent perf run.

cc @radekdoulik @kg

ghost commented 1 year ago

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

Issue Details
From [build](https://dev.azure.com/dnceng/internal/_build/results?buildId=2261702) with `v8@11.6.189`: `LowLevelPerf.GenericGenericMethod`: ``` // Benchmark: LowLevelPerf.GenericGenericMethod: Job-QYPZCR(PowerPlanMode=00000000-0000-0000-0000-000000000000, Runtime=Wasm, Arguments=/p:EnableUnsafeBinaryFormatterSerialization=true, Toolchain=Wasm, IterationTime=250.0000 ms, MaxIterationCount=20, MinIterationCount=15, WarmupCount=1) // *** Execute *** // Launch: 1 / 1 // Execute: /home/helixbot/.jsvu/bin/v8-11.6.189 --experimental-wasm-eh --expose_wasm --module test-main.js -- --run Job-QYPZCR.dll --benchmarkName PerfLabTests.LowLevelPerf.GenericGenericMethod --job "PowerPlanMode=00000000-0000-0000-0000-000000000000, Runtime=Wasm, Arguments=/p:EnableUnsafeBinaryFormatterSerialization=true, Toolchain=Wasm, IterationTime=250.0000 ms, MaxIterationCount=20, MinIterationCount=15, WarmupCount=1" --benchmarkId 17 in /home/helixbot/work/AA250932/w/A85C099C/e/performance/artifacts/bin/for-running/MicroBenchmarks/Job-QYPZCR/bin/net8.0/browser-wasm/AppBundle Failed to set up high priority. Make sure you have the right permissions. Message: Permission denied Warning: unknown flag --experimental-wasm-eh. Try --help for options Incoming arguments: --run Job-QYPZCR.dll --benchmarkName PerfLabTests.LowLevelPerf.GenericGenericMethod --job PowerPlanMode=00000000-0000-0000-0000-000000000000, Runtime=Wasm, Arguments=/p:EnableUnsafeBinaryFormatterSerialization=true, Toolchain=Wasm, IterationTime=250.0000 ms, MaxIterationCount=20, MinIterationCount=15, WarmupCount=1 --benchmarkId 17 Application arguments: --run Job-QYPZCR.dll --benchmarkName PerfLabTests.LowLevelPerf.GenericGenericMethod --job PowerPlanMode=00000000-0000-0000-0000-000000000000, Runtime=Wasm, Arguments=/p:EnableUnsafeBinaryFormatterSerialization=true, Toolchain=Wasm, IterationTime=250.0000 ms, MaxIterationCount=20, MinIterationCount=15, WarmupCount=1 --benchmarkId 17 MONO_WASM: instantiate_wasm_module() failed CompileError: WebAssembly.Module(): Compiling function #212995:"aot_instances_System_Runtime_Intrinsics_Vector6..." failed: not enough arguments on the stack for if (need 1, got 0) @+51679745 MONO_WASM: CompileError: WebAssembly.Module(): Compiling function #212995:"aot_instances_System_Runtime_Intrinsics_Vector6..." failed: not enough arguments on the stack for if (need 1, got 0) @+51679745 at /home/helixbot/work/AA250932/w/A85C099C/e/performance/artifacts/bin/for-running/MicroBenchmarks/Job-QYPZCR/bin/net8.0/browser-wasm/AppBundle/_framework/dotnet.runtime.js:3:202985 at async /home/helixbot/work/AA250932/w/A85C099C/e/performance/artifacts/bin/for-running/MicroBenchmarks/Job-QYPZCR/bin/net8.0/browser-wasm/AppBundle/_framework/dotnet.runtime.js:3:202288 console.info: WASM EXIT 1 Error in mono_download_assets: CompileError: WebAssembly.Module(): Compiling function #212995:"aot_instances_System_Runtime_Intrinsics_Vector6..." failed: not enough arguments on the stack for if (need 1, got 0) @+51679745 exiting due to exception: CompileError: WebAssembly.Module(): Compiling function #212995:"aot_instances_System_Runtime_Intrinsics_Vector6..." failed: not enough arguments on the stack for if (need 1, got 0) @+51679745,CompileError: WebAssembly.Module(): Compiling function #212995:"aot_instances_System_Runtime_Intrinsics_Vector6..." failed: not enough arguments on the stack for if (need 1, got 0) @+51679745 at /home/helixbot/work/AA250932/w/A85C099C/e/performance/artifacts/bin/for-running/MicroBenchmarks/Job-QYPZCR/bin/net8.0/browser-wasm/AppBundle/_framework/dotnet.runtime.js:3:202985 at async /home/helixbot/work/AA250932/w/A85C099C/e/performance/artifacts/bin/for-running/MicroBenchmarks/Job-QYPZCR/bin/net8.0/browser-wasm/AppBundle/_framework/dotnet.runtime.js:3:202288 ``` Also, `Perf_EventListener.WriteEvent_IntParams`: ``` // ************************** // Benchmark: Perf_EventListener.WriteEvent_IntParams: Job-QYPZCR(PowerPlanMode=00000000-0000-0000-0000-000000000000, Runtime=Wasm, Arguments=/p:EnableUnsafeBinaryFormatterSerialization=true, Toolchain=Wasm, IterationTime=250.0000 ms, MaxIterationCount=20, MinIterationCount=15, WarmupCount=1) // *** Execute *** // Launch: 1 / 1 // Execute: /home/helixbot/.jsvu/bin/v8-11.6.189 --experimental-wasm-eh --expose_wasm --module test-main.js -- --run Job-QYPZCR.dll --benchmarkName System.Diagnostics.Tracing.Perf_EventListener.WriteEvent_IntParams --job "PowerPlanMode=00000000-0000-0000-0000-000000000000, Runtime=Wasm, Arguments=/p:EnableUnsafeBinaryFormatterSerialization=true, Toolchain=Wasm, IterationTime=250.0000 ms, MaxIterationCount=20, MinIterationCount=15, WarmupCount=1" --benchmarkId 49 in /home/helixbot/work/AA250932/w/A85C099C/e/performance/artifacts/bin/for-running/MicroBenchmarks/Job-QYPZCR/bin/net8.0/browser-wasm/AppBundle Failed to set up high priority. Make sure you have the right permissions. Message: Permission denied Warning: unknown flag --experimental-wasm-eh. Try --help for options Incoming arguments: --run Job-QYPZCR.dll --benchmarkName System.Diagnostics.Tracing.Perf_EventListener.WriteEvent_IntParams --job PowerPlanMode=00000000-0000-0000-0000-000000000000, Runtime=Wasm, Arguments=/p:EnableUnsafeBinaryFormatterSerialization=true, Toolchain=Wasm, IterationTime=250.0000 ms, MaxIterationCount=20, MinIterationCount=15, WarmupCount=1 --benchmarkId 49 Application arguments: --run Job-QYPZCR.dll --benchmarkName System.Diagnostics.Tracing.Perf_EventListener.WriteEvent_IntParams --job PowerPlanMode=00000000-0000-0000-0000-000000000000, Runtime=Wasm, Arguments=/p:EnableUnsafeBinaryFormatterSerialization=true, Toolchain=Wasm, IterationTime=250.0000 ms, MaxIterationCount=20, MinIterationCount=15, WarmupCount=1 --benchmarkId 49 MONO_WASM: instantiate_wasm_module() failed CompileError: WebAssembly.Module(): Compiling function #182616:"System_Threading_Tasks_Parallel_System_Threadin..." failed: Invalid opcode 0x16 @+44175870 MONO_WASM: CompileError: WebAssembly.Module(): Compiling function #182616:"System_Threading_Tasks_Parallel_System_Threadin..." failed: Invalid opcode 0x16 @+44175870 at /home/helixbot/work/AA250932/w/A85C099C/e/performance/artifacts/bin/for-running/MicroBenchmarks/Job-QYPZCR/bin/net8.0/browser-wasm/AppBundle/_framework/dotnet.runtime.js:3:202985 at async /home/helixbot/work/AA250932/w/A85C099C/e/performance/artifacts/bin/for-running/MicroBenchmarks/Job-QYPZCR/bin/net8.0/browser-wasm/AppBundle/_framework/dotnet.runtime.js:3:202288 console.info: WASM EXIT 1 Error in mono_download_assets: CompileError: WebAssembly.Module(): Compiling function #182616:"System_Threading_Tasks_Parallel_System_Threadin..." failed: Invalid opcode 0x16 @+44175870 exiting due to exception: CompileError: WebAssembly.Module(): Compiling function #182616:"System_Threading_Tasks_Parallel_System_Threadin..." failed: Invalid opcode 0x16 @+44175870,CompileError: WebAssembly.Module(): Compiling function #182616:"System_Threading_Tasks_Parallel_System_Threadin..." failed: Invalid opcode 0x16 @+44175870 at /home/helixbot/work/AA250932/w/A85C099C/e/performance/artifacts/bin/for-running/MicroBenchmarks/Job-QYPZCR/bin/net8.0/browser-wasm/AppBundle/_framework/dotnet.runtime.js:3:202985 at async /home/helixbot/work/AA250932/w/A85C099C/e/performance/artifacts/bin/for-running/MicroBenchmarks/Job-QYPZCR/bin/net8.0/browser-wasm/AppBundle/_framework/dotnet.runtime.js:3:202288 ``` Built for 54d9fa8b . Note that this did not get hit on the subsequent perf run. cc @radekdoulik @kg
Author: radical
Assignees: -
Labels: `arch-wasm`, `perf-pipeline`
Milestone: -
kg commented 1 year ago

MONO_WASM: instantiate_wasm_module() failed isn't jiterp, fyi

vargaz commented 1 year ago

Are the test binaries for the failed run available somewhere ?