You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
It seems that the codegen verification pass rejects IR packages that contain multiple send to the same channel, even if those are mutually exclusive or serialized.
To Reproduce
The following DSLX code
proc Foo {
some_chan: chan<bool> out;
init {
token()
}
config(some_chan: chan<bool> out) {
(some_chan,)
}
next(state: token) {
let tok = send(state, some_chan, true);
let tok = send(tok, some_chan, false);
tok
}
}
Error: INTERNAL: Multiple sends associated with the same channel 'a__some_chan':
Send node with no known provenance: tok: token = send(__state, literal.4, channel=a__some_chan, id=11)
Send node with no known provenance: tok__1: token = send(tok, literal.6, channel=a__some_chan, id=12)
Expected behavior
The codegen verification pass should accept an IR package w/ mutually exclusive/serialized sends (or if WAI produce an actionable error message instead of an internal error).
Additional context
Switching the channel strictness to proven_mutually_exclusive or total_order doesn't seems to affect the codegen verification pass behavior.
The text was updated successfully, but these errors were encountered:
proppy
changed the title
codegen verification should not reject exclusive send operations to the same channel
codegen verification should not reject mutually exclusive send ops to the same channel
Jan 30, 2025
Describe the bug
It seems that the codegen verification pass rejects IR packages that contain multiple send to the same channel, even if those are mutually exclusive or serialized.
To Reproduce
The following DSLX code
Get converted and optimize to the following IR:
which fails to codegen with the following error:
Expected behavior
The codegen verification pass should accept an IR package w/ mutually exclusive/serialized sends (or if WAI produce an actionable error message instead of an internal error).
Additional context
Switching the channel strictness to
proven_mutually_exclusive
ortotal_order
doesn't seems to affect the codegen verification pass behavior.The text was updated successfully, but these errors were encountered: