We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
testArrayChannelLinearizability[jvm]
The non-linearizable execution, according to the log file:
Non-linearizable execution: Thread 0: [[send1=kotlin.Unit], [receive1=3, send2=kotlin.Unit]] Thread 1: [[send2=COROUTINE_SUSPENDED], [close2=true, receive2=java.io.IOException: close2]] Thread 2: [[receive2=COROUTINE_SUSPENDED], [close1=false]] Op map: {send1=[kotlin.Unit], receive1=[3], send2=[kotlin.Unit], close2=[true], receive2=[java.io.IOException: close2], close1=[false]} Possible linearizable executions: Thread 0: [[send1=kotlin.Unit], [receive1=3]] Thread 1: [[send2=kotlin.Unit], [close2=true]] Thread 2: [[receive2=3], [close1=false]] Op map: {send1=[kotlin.Unit], receive1=[3], send2=[kotlin.Unit], close2=[true], receive2=[3], close1=[false]} Thread 0: [[send1=kotlin.Unit], [receive1=3]] Thread 1: [[send2=kotlin.Unit], [close2=false]] Thread 2: [[receive2=3], [close1=true]] Op map: {send1=[kotlin.Unit], receive1=[3], send2=[kotlin.Unit], close2=[false], receive2=[3], close1=[true]} Thread 0: [[send1=kotlin.Unit], [receive1=3]] Thread 1: [[send2=kotlin.Unit, receive2=3], [close2=true]] Thread 2: [[receive2=COROUTINE_SUSPENDED], [close1=false]] Op map: {send1=[kotlin.Unit], receive1=[3], send2=[kotlin.Unit], receive2=[3], close2=[true], close1=[false]} Thread 0: [[send1=kotlin.Unit], [receive1=3]] Thread 1: [[send2=kotlin.Unit, receive2=3], [close2=false]] Thread 2: [[receive2=COROUTINE_SUSPENDED], [close1=true]] Op map: {send1=[kotlin.Unit], receive1=[3], send2=[kotlin.Unit], receive2=[3], close2=[false], close1=[true]} Thread 0: [[send1=kotlin.Unit], [receive1=3]] Thread 1: [[send2=java.io.IOException: close1], [close2=false]] Thread 2: [[receive2=COROUTINE_SUSPENDED], [close1=true, receive2=java.io.IOException: close1]] Op map: {send1=[kotlin.Unit], receive1=[3], send2=[java.io.IOException: close1], close2=[false], close1=[true], receive2=[java.io.IOException: close1]} Thread 0: [[send1=kotlin.Unit], [receive1=3, send2=kotlin.Unit]] Thread 1: [[send2=COROUTINE_SUSPENDED], [close2=true]] Thread 2: [[receive2=3], [close1=false]] Op map: {send1=[kotlin.Unit], receive1=[3], send2=[kotlin.Unit], close2=[true], receive2=[3], close1=[false]} Thread 0: [[send1=kotlin.Unit], [receive1=3, send2=kotlin.Unit]] Thread 1: [[send2=COROUTINE_SUSPENDED], [close2=false]] Thread 2: [[receive2=3], [close1=true]] Op map: {send1=[kotlin.Unit], receive1=[3], send2=[kotlin.Unit], close2=[false], receive2=[3], close1=[true]} Thread 0: [[send1=kotlin.Unit], [receive1=3]] Thread 1: [[send2=COROUTINE_SUSPENDED], [close2=true]] Thread 2: [[receive2=3, send2=kotlin.Unit], [close1=false]] Op map: {send1=[kotlin.Unit], receive1=[3], close2=[true], receive2=[3], send2=[kotlin.Unit], close1=[false]} Thread 0: [[send1=kotlin.Unit], [receive1=3]] Thread 1: [[send2=COROUTINE_SUSPENDED], [close2=false]] Thread 2: [[receive2=3, send2=kotlin.Unit], [close1=true]] Op map: {send1=[kotlin.Unit], receive1=[3], close2=[false], receive2=[3], send2=[kotlin.Unit], close1=[true]} Thread 0: [[send1=kotlin.Unit], [receive1=COROUTINE_SUSPENDED]] Thread 1: [[send2=kotlin.Unit, receive1=3], [close2=true]] Thread 2: [[receive2=3], [close1=false]] Op map: {send1=[kotlin.Unit], send2=[kotlin.Unit], receive1=[3], close2=[true], receive2=[3], close1=[false]} Thread 0: [[send1=kotlin.Unit], [receive1=COROUTINE_SUSPENDED]] Thread 1: [[send2=kotlin.Unit, receive1=3], [close2=false]] Thread 2: [[receive2=3], [close1=true]] Op map: {send1=[kotlin.Unit], send2=[kotlin.Unit], receive1=[3], close2=[false], receive2=[3], close1=[true]} Thread 0: [[send1=kotlin.Unit], [receive1=COROUTINE_SUSPENDED]] Thread 1: [[send2=java.io.IOException: close1], [close2=false]] Thread 2: [[receive2=3], [close1=true, receive1=java.io.IOException: close1]] Op map: {send1=[kotlin.Unit], send2=[java.io.IOException: close1], close2=[false], receive2=[3], close1=[true], receive1=[java.io.IOException: close1]} Thread 0: [[send1=kotlin.Unit], [receive1=java.io.IOException: close1]] Thread 1: [[send2=java.io.IOException: close1], [close2=false]] Thread 2: [[receive2=3], [close1=true]] Op map: {send1=[kotlin.Unit], receive1=[java.io.IOException: close1], send2=[java.io.IOException: close1], close2=[false], receive2=[3], close1=[true]} Thread 0: [[send1=COROUTINE_SUSPENDED], [receive1=3, send1=kotlin.Unit]] Thread 1: [[send2=kotlin.Unit], [close2=true]] Thread 2: [[receive2=3], [close1=false]] Op map: {receive1=[3], send1=[kotlin.Unit], send2=[kotlin.Unit], close2=[true], receive2=[3], close1=[false]} Thread 0: [[send1=COROUTINE_SUSPENDED], [receive1=3, send1=kotlin.Unit]] Thread 1: [[send2=kotlin.Unit], [close2=false]] Thread 2: [[receive2=3], [close1=true]] Op map: {receive1=[3], send1=[kotlin.Unit], send2=[kotlin.Unit], close2=[false], receive2=[3], close1=[true]} Thread 0: [[send1=COROUTINE_SUSPENDED], [receive1=3]] Thread 1: [[send2=kotlin.Unit], [close2=true]] Thread 2: [[receive2=3, send1=kotlin.Unit], [close1=false]] Op map: {receive1=[3], send2=[kotlin.Unit], close2=[true], receive2=[3], send1=[kotlin.Unit], close1=[false]} Thread 0: [[send1=COROUTINE_SUSPENDED], [receive1=3]] Thread 1: [[send2=kotlin.Unit], [close2=false]] Thread 2: [[receive2=3, send1=kotlin.Unit], [close1=true]] Op map: {receive1=[3], send2=[kotlin.Unit], close2=[false], receive2=[3], send1=[kotlin.Unit], close1=[true]} Thread 0: [[send1=java.io.IOException: close2], [receive1=3]] Thread 1: [[send2=kotlin.Unit], [close2=true]] Thread 2: [[receive2=java.io.IOException: close2], [close1=false]] Op map: {send1=[java.io.IOException: close2], receive1=[3], send2=[kotlin.Unit], close2=[true], receive2=[java.io.IOException: close2], close1=[false]} Thread 0: [[send1=java.io.IOException: close2], [receive1=java.io.IOException: close2]] Thread 1: [[send2=kotlin.Unit], [close2=true]] Thread 2: [[receive2=3], [close1=false]] Op map: {send1=[java.io.IOException: close2], receive1=[java.io.IOException: close2], send2=[kotlin.Unit], close2=[true], receive2=[3], close1=[false]} Thread 0: [[send1=java.io.IOException: close1], [receive1=java.io.IOException: close1]] Thread 1: [[send2=kotlin.Unit], [close2=false]] Thread 2: [[receive2=3], [close1=true]] Op map: {send1=[java.io.IOException: close1], receive1=[java.io.IOException: close1], send2=[kotlin.Unit], close2=[false], receive2=[3], close1=[true]} Thread 0: [[send1=kotlin.Unit, receive2=3], [receive1=COROUTINE_SUSPENDED]] Thread 1: [[send2=kotlin.Unit, receive1=3], [close2=true]] Thread 2: [[receive2=COROUTINE_SUSPENDED], [close1=false]] Op map: {send1=[kotlin.Unit], receive2=[3], send2=[kotlin.Unit], receive1=[3], close2=[true], close1=[false]} Thread 0: [[send1=kotlin.Unit, receive2=3], [receive1=COROUTINE_SUSPENDED]] Thread 1: [[send2=kotlin.Unit, receive1=3], [close2=false]] Thread 2: [[receive2=COROUTINE_SUSPENDED], [close1=true]] Op map: {send1=[kotlin.Unit], receive2=[3], send2=[kotlin.Unit], receive1=[3], close2=[false], close1=[true]} Thread 0: [[send1=kotlin.Unit, receive2=3], [receive1=COROUTINE_SUSPENDED]] Thread 1: [[send2=java.io.IOException: close1], [close2=false]] Thread 2: [[receive2=COROUTINE_SUSPENDED], [close1=true, receive1=java.io.IOException: close1]] Op map: {send1=[kotlin.Unit], receive2=[3], send2=[java.io.IOException: close1], close2=[false], close1=[true], receive1=[java.io.IOException: close1]} Thread 0: [[send1=kotlin.Unit, receive2=3], [receive1=3]] Thread 1: [[send2=kotlin.Unit], [close2=true]] Thread 2: [[receive2=COROUTINE_SUSPENDED], [close1=false]] Op map: {send1=[kotlin.Unit], receive2=[3], receive1=[3], send2=[kotlin.Unit], close2=[true], close1=[false]} Thread 0: [[send1=kotlin.Unit, receive2=3], [receive1=3]] Thread 1: [[send2=kotlin.Unit], [close2=false]] Thread 2: [[receive2=COROUTINE_SUSPENDED], [close1=true]] Op map: {send1=[kotlin.Unit], receive2=[3], receive1=[3], send2=[kotlin.Unit], close2=[false], close1=[true]} Thread 0: [[send1=kotlin.Unit, receive2=3], [receive1=java.io.IOException: close1]] Thread 1: [[send2=java.io.IOException: close1], [close2=false]] Thread 2: [[receive2=COROUTINE_SUSPENDED], [close1=true]] Op map: {send1=[kotlin.Unit], receive2=[3], receive1=[java.io.IOException: close1], send2=[java.io.IOException: close1], close2=[false], close1=[true]} Thread 0: [[send1=java.io.IOException: close2], [receive1=java.io.IOException: close2]] Thread 1: [[send2=kotlin.Unit, receive2=3], [close2=true]] Thread 2: [[receive2=COROUTINE_SUSPENDED], [close1=false]] Op map: {send1=[java.io.IOException: close2], receive1=[java.io.IOException: close2], send2=[kotlin.Unit], receive2=[3], close2=[true], close1=[false]} Thread 0: [[send1=java.io.IOException: close1], [receive1=java.io.IOException: close1]] Thread 1: [[send2=kotlin.Unit, receive2=3], [close2=false]] Thread 2: [[receive2=COROUTINE_SUSPENDED], [close1=true]] Op map: {send1=[java.io.IOException: close1], receive1=[java.io.IOException: close1], send2=[kotlin.Unit], receive2=[3], close2=[false], close1=[true]} Thread 0: [[send1=java.io.IOException: close1], [receive1=java.io.IOException: close1]] Thread 1: [[send2=java.io.IOException: close1], [close2=false]] Thread 2: [[receive2=COROUTINE_SUSPENDED], [close1=true, receive2=java.io.IOException: close1]] Op map: {send1=[java.io.IOException: close1], receive1=[java.io.IOException: close1], send2=[java.io.IOException: close1], close2=[false], close1=[true], receive2=[java.io.IOException: close1]}
testConflatedChannelLinearizability[jvm]
Non-linearizable execution: Thread 0: [[close2=true, receive2=java.io.IOException: close2], [close1=false]] Thread 1: [[send1=java.io.IOException: close2], [send2=kotlin.Unit, receive1=2]] Thread 2: [[receive1=COROUTINE_SUSPENDED], [receive2=COROUTINE_SUSPENDED]] Op map: {close2=[true], receive2=[java.io.IOException: close2], close1=[false], send1=[java.io.IOException: close2], send2=[kotlin.Unit], receive1=[2]} Possible linearizable executions: Thread 0: [[close2=true], [close1=false]] Thread 1: [[send1=java.io.IOException: close2], [send2=java.io.IOException: close2]] Thread 2: [[receive1=java.io.IOException: close2], [receive2=java.io.IOException: close2]] Op map: {close2=[true], close1=[false], send1=[java.io.IOException: close2], send2=[java.io.IOException: close2], receive1=[java.io.IOException: close2], receive2=[java.io.IOException: close2]} Thread 0: [[close2=true], [close1=false]] Thread 1: [[send1=kotlin.Unit], [send2=java.io.IOException: close2]] Thread 2: [[receive1=2], [receive2=java.io.IOException: close2]] Op map: {close2=[true], close1=[false], send1=[kotlin.Unit], send2=[java.io.IOException: close2], receive1=[2], receive2=[java.io.IOException: close2]} Thread 0: [[close2=true], [close1=false]] Thread 1: [[send1=kotlin.Unit], [send2=kotlin.Unit]] Thread 2: [[receive1=2], [receive2=java.io.IOException: close2]] Op map: {close2=[true], close1=[false], send1=[kotlin.Unit], send2=[kotlin.Unit], receive1=[2], receive2=[java.io.IOException: close2]} Thread 0: [[close2=true, receive2=java.io.IOException: close2], [close1=false]] Thread 1: [[send1=kotlin.Unit], [send2=kotlin.Unit]] Thread 2: [[receive1=2], [receive2=COROUTINE_SUSPENDED]] Op map: {close2=[true], receive2=[java.io.IOException: close2], close1=[false], send1=[kotlin.Unit], send2=[kotlin.Unit], receive1=[2]} Thread 0: [[close2=true], [close1=false]] Thread 1: [[send1=kotlin.Unit], [send2=kotlin.Unit]] Thread 2: [[receive1=2], [receive2=2]] Op map: {close2=[true], close1=[false], send1=[kotlin.Unit], send2=[kotlin.Unit], receive1=[2], receive2=[2]} Thread 0: [[close2=true, receive2=java.io.IOException: close2], [close1=false]] Thread 1: [[send1=kotlin.Unit], [send2=java.io.IOException: close2]] Thread 2: [[receive1=2], [receive2=COROUTINE_SUSPENDED]] Op map: {close2=[true], receive2=[java.io.IOException: close2], close1=[false], send1=[kotlin.Unit], send2=[java.io.IOException: close2], receive1=[2]} Thread 0: [[close2=true], [close1=false]] Thread 1: [[send1=kotlin.Unit], [send2=kotlin.Unit, receive2=2]] Thread 2: [[receive1=2], [receive2=COROUTINE_SUSPENDED]] Op map: {close2=[true], close1=[false], send1=[kotlin.Unit], send2=[kotlin.Unit], receive2=[2], receive1=[2]} Thread 0: [[close2=true, receive1=java.io.IOException: close2], [close1=false]] Thread 1: [[send1=java.io.IOException: close2], [send2=java.io.IOException: close2]] Thread 2: [[receive1=COROUTINE_SUSPENDED], [receive2=java.io.IOException: close2]] Op map: {close2=[true], receive1=[java.io.IOException: close2], close1=[false], send1=[java.io.IOException: close2], send2=[java.io.IOException: close2], receive2=[java.io.IOException: close2]} Thread 0: [[close2=true], [close1=false]] Thread 1: [[send1=kotlin.Unit, receive1=2], [send2=java.io.IOException: close2]] Thread 2: [[receive1=COROUTINE_SUSPENDED], [receive2=java.io.IOException: close2]] Op map: {close2=[true], close1=[false], send1=[kotlin.Unit], receive1=[2], send2=[java.io.IOException: close2], receive2=[java.io.IOException: close2]} Thread 0: [[close2=true], [close1=false]] Thread 1: [[send1=kotlin.Unit, receive1=2], [send2=kotlin.Unit]] Thread 2: [[receive1=COROUTINE_SUSPENDED], [receive2=2]] Op map: {close2=[true], close1=[false], send1=[kotlin.Unit], receive1=[2], send2=[kotlin.Unit], receive2=[2]} Thread 0: [[close2=true, receive2=java.io.IOException: close2], [close1=false]] Thread 1: [[send1=kotlin.Unit, receive1=2], [send2=java.io.IOException: close2]] Thread 2: [[receive1=COROUTINE_SUSPENDED], [receive2=COROUTINE_SUSPENDED]] Op map: {close2=[true], receive2=[java.io.IOException: close2], close1=[false], send1=[kotlin.Unit], receive1=[2], send2=[java.io.IOException: close2]} Thread 0: [[close2=true], [close1=false]] Thread 1: [[send1=kotlin.Unit, receive1=2], [send2=kotlin.Unit, receive2=2]] Thread 2: [[receive1=COROUTINE_SUSPENDED], [receive2=COROUTINE_SUSPENDED]] Op map: {close2=[true], close1=[false], send1=[kotlin.Unit], receive1=[2], send2=[kotlin.Unit], receive2=[2]} Thread 0: [[close2=true, receive2=java.io.IOException: close2, receive1=java.io.IOException: close2], [close1=false]] Thread 1: [[send1=java.io.IOException: close2], [send2=java.io.IOException: close2]] Thread 2: [[receive1=COROUTINE_SUSPENDED], [receive2=COROUTINE_SUSPENDED]] Op map: {close2=[true], receive2=[java.io.IOException: close2], receive1=[java.io.IOException: close2], close1=[false], send1=[java.io.IOException: close2], send2=[java.io.IOException: close2]}
testUnlimitedChannelLinearizability[jvm]
Non-linearizable execution: Thread 0: [[send2=java.io.IOException: close2], [send1=kotlin.Unit, receive1=2]] Thread 1: [[close2=true, receive2=java.io.IOException: close2], [close1=false]] Thread 2: [[receive1=COROUTINE_SUSPENDED], [receive2=COROUTINE_SUSPENDED]] Op map: {send2=[java.io.IOException: close2], send1=[kotlin.Unit], receive1=[2], close2=[true], receive2=[java.io.IOException: close2], close1=[false]} Possible linearizable executions: Thread 0: [[send2=kotlin.Unit], [send1=kotlin.Unit]] Thread 1: [[close2=true], [close1=false]] Thread 2: [[receive1=1], [receive2=2]] Op map: {send2=[kotlin.Unit], send1=[kotlin.Unit], close2=[true], close1=[false], receive1=[1], receive2=[2]} Thread 0: [[send2=kotlin.Unit], [send1=java.io.IOException: close2]] Thread 1: [[close2=true], [close1=false]] Thread 2: [[receive1=1], [receive2=java.io.IOException: close2]] Op map: {send2=[kotlin.Unit], send1=[java.io.IOException: close2], close2=[true], close1=[false], receive1=[1], receive2=[java.io.IOException: close2]} Thread 0: [[send2=kotlin.Unit], [send1=kotlin.Unit, receive2=2]] Thread 1: [[close2=true], [close1=false]] Thread 2: [[receive1=1], [receive2=COROUTINE_SUSPENDED]] Op map: {send2=[kotlin.Unit], send1=[kotlin.Unit], receive2=[2], close2=[true], close1=[false], receive1=[1]} Thread 0: [[send2=kotlin.Unit], [send1=java.io.IOException: close2]] Thread 1: [[close2=true, receive2=java.io.IOException: close2], [close1=false]] Thread 2: [[receive1=1], [receive2=COROUTINE_SUSPENDED]] Op map: {send2=[kotlin.Unit], send1=[java.io.IOException: close2], close2=[true], receive2=[java.io.IOException: close2], close1=[false], receive1=[1]} Thread 0: [[send2=java.io.IOException: close2], [send1=java.io.IOException: close2]] Thread 1: [[close2=true], [close1=false]] Thread 2: [[receive1=java.io.IOException: close2], [receive2=java.io.IOException: close2]] Op map: {send2=[java.io.IOException: close2], send1=[java.io.IOException: close2], close2=[true], close1=[false], receive1=[java.io.IOException: close2], receive2=[java.io.IOException: close2]} Thread 0: [[send2=kotlin.Unit, receive1=1], [send1=kotlin.Unit]] Thread 1: [[close2=true], [close1=false]] Thread 2: [[receive1=COROUTINE_SUSPENDED], [receive2=2]] Op map: {send2=[kotlin.Unit], receive1=[1], send1=[kotlin.Unit], close2=[true], close1=[false], receive2=[2]} Thread 0: [[send2=kotlin.Unit, receive1=1], [send1=java.io.IOException: close2]] Thread 1: [[close2=true], [close1=false]] Thread 2: [[receive1=COROUTINE_SUSPENDED], [receive2=java.io.IOException: close2]] Op map: {send2=[kotlin.Unit], receive1=[1], send1=[java.io.IOException: close2], close2=[true], close1=[false], receive2=[java.io.IOException: close2]} Thread 0: [[send2=kotlin.Unit, receive1=1], [send1=kotlin.Unit, receive2=2]] Thread 1: [[close2=true], [close1=false]] Thread 2: [[receive1=COROUTINE_SUSPENDED], [receive2=COROUTINE_SUSPENDED]] Op map: {send2=[kotlin.Unit], receive1=[1], send1=[kotlin.Unit], receive2=[2], close2=[true], close1=[false]} Thread 0: [[send2=kotlin.Unit, receive1=1], [send1=java.io.IOException: close2]] Thread 1: [[close2=true, receive2=java.io.IOException: close2], [close1=false]] Thread 2: [[receive1=COROUTINE_SUSPENDED], [receive2=COROUTINE_SUSPENDED]] Op map: {send2=[kotlin.Unit], receive1=[1], send1=[java.io.IOException: close2], close2=[true], receive2=[java.io.IOException: close2], close1=[false]} Thread 0: [[send2=java.io.IOException: close2], [send1=java.io.IOException: close2]] Thread 1: [[close2=true, receive1=java.io.IOException: close2], [close1=false]] Thread 2: [[receive1=COROUTINE_SUSPENDED], [receive2=java.io.IOException: close2]] Op map: {send2=[java.io.IOException: close2], send1=[java.io.IOException: close2], close2=[true], receive1=[java.io.IOException: close2], close1=[false], receive2=[java.io.IOException: close2]} Thread 0: [[send2=java.io.IOException: close2], [send1=java.io.IOException: close2]] Thread 1: [[close2=true, receive2=java.io.IOException: close2, receive1=java.io.IOException: close2], [close1=false]] Thread 2: [[receive1=COROUTINE_SUSPENDED], [receive2=COROUTINE_SUSPENDED]] Op map: {send2=[java.io.IOException: close2], send1=[java.io.IOException: close2], close2=[true], receive2=[java.io.IOException: close2], receive1=[java.io.IOException: close2], close1=[false]}
The text was updated successfully, but these errors were encountered:
Duplicate of #1419
Sorry, something went wrong.
No branches or pull requests
testArrayChannelLinearizability[jvm]
The non-linearizable execution, according to the log file:
testConflatedChannelLinearizability[jvm]
testUnlimitedChannelLinearizability[jvm]
The text was updated successfully, but these errors were encountered: