dotnet / runtime

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

[wasm][DebuggerTestSuite] RangeError: Maximum call stack size exceeded #52102

Open pavelsavara opened 3 years ago

pavelsavara commented 3 years ago

Description

caused by breakpoint-> stackwalk-> describe variables->tostring->JIT

In DebuggerTests.SourceList.InspectBoxedLocals

Configuration

Windows https://github.com/pavelsavara/runtime/tree/pr_wasm_debugger_crash

build.cmd -bl -os Browser -subset mono+host -c Debug /p:WasmNativeStrip=false /p:WasmNativeDebugSymbols=true /p:WasmDebugLevel=5 /p:WasmBuildNative=true
cd src\mono\wasm\debugger
dotnet.cmd test DebuggerTestSuite /p:Configuration=Debug /p:WasmNativeStrip=false /p:WasmNativeDebugSymbols=true /p:WasmDebugLevel=5 /p:WasmBuildNative=true /p:TargetArchitecture=wasm /p:TargetOS=Browser --filter DebuggerTests.SourceList.InspectBoxedLocals

Stack trace

interp_handle_intrinsics
interp_transform_call
generate_code
generate
mono_interp_transform_method
do_transform_method
interp_exec_method
interp_runtime_invoke
mono_jit_runtime_invoke
do_runtime_invoke
mono_runtime_invoke_checked
netcore_resolve_with_dll_import_resolver
netcore_resolve_with_dll_import_resolver_nofail
netcore_lookup_native_library
lookup_pinvoke_call_impl
mono_lookup_pinvoke_call_internal
mono_marshal_get_native_wrapper
interp_transform_internal_calls
interp_transform_call
generate_code
generate
mono_interp_transform_method
do_transform_method
interp_exec_method
interp_runtime_invoke
mono_jit_runtime_invoke
do_runtime_invoke
mono_runtime_try_invoke
mono_runtime_class_init_full
mono_interp_transform_method
do_transform_method
interp_exec_method
interp_runtime_invoke
mono_jit_runtime_invoke
do_runtime_invoke
mono_runtime_try_invoke
mono_runtime_class_init_full
mono_interp_transform_method
do_transform_method
interp_exec_method
interp_runtime_invoke
mono_jit_runtime_invoke
do_runtime_invoke
mono_runtime_try_invoke
mono_runtime_class_init_full
mono_interp_transform_method
do_transform_method
interp_exec_method
interp_runtime_invoke
mono_jit_runtime_invoke
do_runtime_invoke
mono_runtime_try_invoke
mono_runtime_try_invoke_internal
invoke_to_string
get_to_string_description
describe_value
describe_value
describe_variable
describe_variables_on_frame
mono_walk_stack_full
mono_walk_stack_with_ctx
mono_wasm_get_local_vars
mono_wasm_get_variables
_mono_wasm_fire_bp
process_breakpoint_events
mono_de_process_breakpoint
mono_wasm_breakpoint_hit
ghost commented 3 years ago

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

Issue Details
### Description caused by breakpoint-> stackwalk-> describe variables->tostring->JIT In DebuggerTests.SourceList.InspectBoxedLocals - On windows, chrome, - debug build of mono ### Configuration Windows https://github.com/pavelsavara/runtime/tree/pr_wasm_debugger_crash ``` build.cmd -bl -os Browser -subset mono+host -c Debug /p:WasmNativeStrip=false /p:WasmNativeDebugSymbols=true /p:WasmDebugLevel=5 /p:WasmBuildNative=true cd src\mono\wasm\debugger dotnet.cmd test DebuggerTestSuite /p:Configuration=Debug /p:WasmNativeStrip=false /p:WasmNativeDebugSymbols=true /p:WasmDebugLevel=5 /p:WasmBuildNative=true /p:TargetArchitecture=wasm /p:TargetOS=Browser --filter DebuggerTests.SourceList.InspectBoxedLocals ``` ### Stack trace ``` interp_handle_intrinsics interp_transform_call generate_code generate mono_interp_transform_method do_transform_method interp_exec_method interp_runtime_invoke mono_jit_runtime_invoke do_runtime_invoke mono_runtime_invoke_checked netcore_resolve_with_dll_import_resolver netcore_resolve_with_dll_import_resolver_nofail netcore_lookup_native_library lookup_pinvoke_call_impl mono_lookup_pinvoke_call_internal mono_marshal_get_native_wrapper interp_transform_internal_calls interp_transform_call generate_code generate mono_interp_transform_method do_transform_method interp_exec_method interp_runtime_invoke mono_jit_runtime_invoke do_runtime_invoke mono_runtime_try_invoke mono_runtime_class_init_full mono_interp_transform_method do_transform_method interp_exec_method interp_runtime_invoke mono_jit_runtime_invoke do_runtime_invoke mono_runtime_try_invoke mono_runtime_class_init_full mono_interp_transform_method do_transform_method interp_exec_method interp_runtime_invoke mono_jit_runtime_invoke do_runtime_invoke mono_runtime_try_invoke mono_runtime_class_init_full mono_interp_transform_method do_transform_method interp_exec_method interp_runtime_invoke mono_jit_runtime_invoke do_runtime_invoke mono_runtime_try_invoke mono_runtime_try_invoke_internal invoke_to_string get_to_string_description describe_value describe_value describe_variable describe_variables_on_frame mono_walk_stack_full mono_walk_stack_with_ctx mono_wasm_get_local_vars mono_wasm_get_variables _mono_wasm_fire_bp process_breakpoint_events mono_de_process_breakpoint mono_wasm_breakpoint_hit ```
Author: pavelsavara
Assignees: -
Labels: `area-Codegen-Interpreter-mono`, `untriaged`
Milestone: -
ghost commented 3 years ago

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

Issue Details
### Description caused by breakpoint-> stackwalk-> describe variables->tostring->JIT In DebuggerTests.SourceList.InspectBoxedLocals - On windows, chrome, - debug build of mono - /p:WasmNativeStrip=false /p:WasmNativeDebugSymbols=true /p:WasmDebugLevel=5 /p:WasmBuildNative=true ### Configuration Windows https://github.com/pavelsavara/runtime/tree/pr_wasm_debugger_crash ``` build.cmd -bl -os Browser -subset mono+host -c Debug /p:WasmNativeStrip=false /p:WasmNativeDebugSymbols=true /p:WasmDebugLevel=5 /p:WasmBuildNative=true cd src\mono\wasm\debugger dotnet.cmd test DebuggerTestSuite /p:Configuration=Debug /p:WasmNativeStrip=false /p:WasmNativeDebugSymbols=true /p:WasmDebugLevel=5 /p:WasmBuildNative=true /p:TargetArchitecture=wasm /p:TargetOS=Browser --filter DebuggerTests.SourceList.InspectBoxedLocals ``` ### Stack trace ``` interp_handle_intrinsics interp_transform_call generate_code generate mono_interp_transform_method do_transform_method interp_exec_method interp_runtime_invoke mono_jit_runtime_invoke do_runtime_invoke mono_runtime_invoke_checked netcore_resolve_with_dll_import_resolver netcore_resolve_with_dll_import_resolver_nofail netcore_lookup_native_library lookup_pinvoke_call_impl mono_lookup_pinvoke_call_internal mono_marshal_get_native_wrapper interp_transform_internal_calls interp_transform_call generate_code generate mono_interp_transform_method do_transform_method interp_exec_method interp_runtime_invoke mono_jit_runtime_invoke do_runtime_invoke mono_runtime_try_invoke mono_runtime_class_init_full mono_interp_transform_method do_transform_method interp_exec_method interp_runtime_invoke mono_jit_runtime_invoke do_runtime_invoke mono_runtime_try_invoke mono_runtime_class_init_full mono_interp_transform_method do_transform_method interp_exec_method interp_runtime_invoke mono_jit_runtime_invoke do_runtime_invoke mono_runtime_try_invoke mono_runtime_class_init_full mono_interp_transform_method do_transform_method interp_exec_method interp_runtime_invoke mono_jit_runtime_invoke do_runtime_invoke mono_runtime_try_invoke mono_runtime_try_invoke_internal invoke_to_string get_to_string_description describe_value describe_value describe_variable describe_variables_on_frame mono_walk_stack_full mono_walk_stack_with_ctx mono_wasm_get_local_vars mono_wasm_get_variables _mono_wasm_fire_bp process_breakpoint_events mono_de_process_breakpoint mono_wasm_breakpoint_hit ```
Author: pavelsavara
Assignees: -
Labels: `arch-wasm`, `area-Codegen-Interpreter-mono`, `untriaged`
Milestone: 6.0.0
ghost commented 3 years ago

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

Issue Details
### Description caused by breakpoint-> stackwalk-> describe variables->tostring->JIT In DebuggerTests.SourceList.InspectBoxedLocals - On windows, chrome, - debug build of mono - /p:WasmNativeStrip=false /p:WasmNativeDebugSymbols=true /p:WasmDebugLevel=5 /p:WasmBuildNative=true ### Configuration Windows https://github.com/pavelsavara/runtime/tree/pr_wasm_debugger_crash ``` build.cmd -bl -os Browser -subset mono+host -c Debug /p:WasmNativeStrip=false /p:WasmNativeDebugSymbols=true /p:WasmDebugLevel=5 /p:WasmBuildNative=true cd src\mono\wasm\debugger dotnet.cmd test DebuggerTestSuite /p:Configuration=Debug /p:WasmNativeStrip=false /p:WasmNativeDebugSymbols=true /p:WasmDebugLevel=5 /p:WasmBuildNative=true /p:TargetArchitecture=wasm /p:TargetOS=Browser --filter DebuggerTests.SourceList.InspectBoxedLocals ``` ### Stack trace ``` interp_handle_intrinsics interp_transform_call generate_code generate mono_interp_transform_method do_transform_method interp_exec_method interp_runtime_invoke mono_jit_runtime_invoke do_runtime_invoke mono_runtime_invoke_checked netcore_resolve_with_dll_import_resolver netcore_resolve_with_dll_import_resolver_nofail netcore_lookup_native_library lookup_pinvoke_call_impl mono_lookup_pinvoke_call_internal mono_marshal_get_native_wrapper interp_transform_internal_calls interp_transform_call generate_code generate mono_interp_transform_method do_transform_method interp_exec_method interp_runtime_invoke mono_jit_runtime_invoke do_runtime_invoke mono_runtime_try_invoke mono_runtime_class_init_full mono_interp_transform_method do_transform_method interp_exec_method interp_runtime_invoke mono_jit_runtime_invoke do_runtime_invoke mono_runtime_try_invoke mono_runtime_class_init_full mono_interp_transform_method do_transform_method interp_exec_method interp_runtime_invoke mono_jit_runtime_invoke do_runtime_invoke mono_runtime_try_invoke mono_runtime_class_init_full mono_interp_transform_method do_transform_method interp_exec_method interp_runtime_invoke mono_jit_runtime_invoke do_runtime_invoke mono_runtime_try_invoke mono_runtime_try_invoke_internal invoke_to_string get_to_string_description describe_value describe_value describe_variable describe_variables_on_frame mono_walk_stack_full mono_walk_stack_with_ctx mono_wasm_get_local_vars mono_wasm_get_variables _mono_wasm_fire_bp process_breakpoint_events mono_de_process_breakpoint mono_wasm_breakpoint_hit ```
Author: pavelsavara
Assignees: -
Labels: `arch-wasm`, `area-Codegen-Interpreter-mono`, `area-Debugger-mono`, `untriaged`
Milestone: 6.0.0
radical commented 2 years ago

@lewing do we need to run debugger tests with relinking?