Skip to content

[wasm][coreclr] EH throw in filter enters infinite loop #123793

@radekdoulik

Description

@radekdoulik

Reproducible with JIT/Methodical/Methodical_d1/throwinfilter_d.dll test.

Log output

TID 0001: in Thread::SetLastThrownObject: obj = 0x81115c
TID 0001: ..SfiInit (pass 1): Exception stack walking starting at IP=0x439e3cc, SP=0x4feac4, method Test_throwinfilter::main
TID 0001: StackTraceInfo::AppendElement IP = 0x439e3cc, SP = 0x4feac4, Test_throwinfilter::main
TID 0001: ..Initialized EH enumeration, 2 clauses found
TID 0001: ..EHEnumNext: [0x11c..0x15c), handler=0x439e47c
TID 0001: .. filter clause, filter=0x439e448
TID 0001: ..Calling filter funclet at 0x439e448
In filter
TID 0001: ....SfiInit (pass 1): Exception stack walking starting at IP=0x439e46c, SP=0x4fb974, method Test_throwinfilter::main
TID 0001: StackTraceInfo::AppendElement IP = 0x439e46c, SP = 0x4fb974, Test_throwinfilter::main
TID 0001: ....Initialized EH enumeration, 2 clauses found
TID 0001: ....EHEnumNext: [0x11c..0x15c), handler=0x439e47c
TID 0001: .... filter clause, filter=0x439e448
TID 0001: ....EHEnumNext: [0x11c..0x164), handler=0x439e4a8
TID 0001: .... typed clause, target type=0x73f608 (System.Exception)
TID 0001: ....SfiNext: reached native frame at IP=0x429, SP=0x4fb98c, isPropagatingToNativeCode=0
TID 0001: ....SfiNext: current frame is filter funclet
TID 0001: ....SfiInit (pass 2): Exception stack walking starting at IP=0x439e46c, SP=0x4fb974, method Test_throwinfilter::main
TID 0001: ....Initialized EH enumeration, 2 clauses found
TID 0001: ....EHEnumNext: [0x11c..0x15c), handler=0x439e47c
TID 0001: .... filter clause, filter=0x439e448
TID 0001: ....EHEnumNext: [0x11c..0x164), handler=0x439e4a8
TID 0001: .... typed clause, target type not calculated
TID 0001: ....SfiNext: reached native frame at IP=0x429, SP=0x4fb98c, isPropagatingToNativeCode=0
TID 0001: ....SfiNext: current frame is filter funclet
TID 0001: Popping ExInfos below SP=0
TID 0001: Resuming propagation of managed exception through native frames at IP=0, SP=0
TID 0001: ******* MANAGED EXCEPTION THROWN: Object thrown: 0x81115c MT 0x44ee850T
TID 0001: Exception HRESULT = 0x80070216 Message String 0x0x811f44 (db will display) InnerException 0 MT 0T
TID 0001: in Thread::SetLastThrownObject: obj = 0x81115c

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions