forked from bytecodealliance/wasmtime
-
Notifications
You must be signed in to change notification settings - Fork 1
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
At the time of writing, Wasmtime represents tags as unsigned integers. Thus, tags are not guaranteed to have a instance-unique identity. This is unsound. Here is a small example program that fails on our wasmtime implementation, but passes on the reference interpreter.
(module $foo
(tag $foo (export "foo"))
)
(register "foo")
(module $bar
(type $ft (func))
(type $ct (cont $ft))
(tag $foo (import "foo" "foo"))
(tag $bar)
(func $do_foo
(suspend $foo))
(func $main (export "main")
(block $on_bar (result (ref $ct))
(resume $ct (tag $bar $on_bar) (cont.new $ct (ref.func $do_foo)))
(unreachable)
)
(unreachable))
(elem declare func $do_foo)
)
(register "bar")
(assert_suspension (invoke "main") "unhandled")Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working