Closed
Description
enum E {
case x(Bool)
}
_ = "\(E.x(true))"
This swift code fails to run while destroying heap object.
This crash happens with only optimized stdlib. When using --debug-swift-stdlib
version stdlib, it works well.
Here is crash message and backtrace.
(The value 18446744073709551612
means -4
as signed int)
(wasminspect) run
Function exec failure Memory(AccessOutOfBounds(Some(18446744073709551612), 28573696))
(wasminspect) bt
0: _swift_release_dealloc
1: bool swift::RefCounts<swift::RefCountBitsT<(swift::RefCountInlinedness)1> >::doDecrementSlow<(swift::PerformDeinit)1>(swift::RefCountBitsT<(swift::RefCountInlinedness)1>, unsigned int)
2: swift_release
3: $ss15LazyMapSequenceVwxx
4: $ss14_CollectionBoxCfD
5: _swift_release_dealloc
6: bool swift::RefCounts<swift::RefCountBitsT<(swift::RefCountInlinedness)1> >::doDecrementSlow<(swift::PerformDeinit)1>(swift::RefCountBitsT<(swift::RefCountInlinedness)1>, unsigned int)
7: swift_release
8: $ss20_adHocPrint_unlocked___07isDebugC0yx_s6MirrorVq_zSbts16TextOutputStreamR_r0_lF
9: $ss15_print_unlockedyyx_q_zts16TextOutputStreamR_r0_lF
10: $ss26DefaultStringInterpolationV06appendC0yyxlF
11: main
12: __original_main
13: _start
(wasminspect)
https://gist.github.com/kateinoigakukun/819302b29a5f4af79a89cb172e0db9d0