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
However, have you tested this also with --instant_delivery false?
I suspect that you should get the behavior you expect if you do so, which might be enough for any tests/models you want to write.
Yes, in fact I did try to disable instant delivery, but strangely enough I got the same result:
_build/Concuerror/bin/concuerror --instant_delivery false -x code -x code_server -x error_handler -pa _build/concuerror+test/lib/optvar/ebin -f _build/concuerror+test/lib/optvar/test/concuerror_tests.beam -t monitor_test || { cat concuerror_report.txt; exit 1; }
Concuerror 0.21.0+build.2371.refaf91d78 started at 02 Aug 2023 00:13:08
* Info: Showing progress ('-h progress', for details)
* Info: Writing results in concuerror_report.txt
* Info: Only logging errors ('--log_all false')
* Info: Automatically instrumented module io_lib
* Info: Showing PIDs as "<symbolic name(/last registered name)>" ('-h symbolic_names').
* Info: "-pa" converted to "--pa"
* Warning: Not instrumenting module code
* Warning: Not instrumenting module code_server
* Warning: Not instrumenting module error_handler
* Info: Instrumented & loaded module concuerror_tests
* Tip: Check `--help attributes' for info on how to pass options via module attributes.
* Info: Automatically instrumented module erlang
* Tip: Running without a scheduling_bound corresponds to verification and may take a long time.
* Info: You can see pairs of racing instructions (in the report and '--graph') with '--show_races true'
Done at 02 Aug 2023 00:13:09 (Exit status: ok)
Summary: 0 errors, 2/2 interleavings explored
Describe the bug
It looks like Concuerror assumes that
DOWN
messages are delivered instantaneously.Consider the following testcase:
This assertion shouldn't hold, because BEAM doesn't guarantee that the second
DOWN
message will arrive immediately.To Reproduce
I'm using fairly standard CLI options:
Erlang version:
Also reproduces on the upstream OTP26 version.
Expected behavior
Concuerror explores both branches of the
receive
.Assertion fails with value
not_delivered
.Environment (please complete the following information):
Linux 5.15.0-76-generic #83-Ubuntu SMP Thu Jun 15 19:16:32 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Concuerror 0.21.0+build.2371.refaf91d78
Additional context
The text was updated successfully, but these errors were encountered: