Skip to content

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

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions