ocaml-multicore / multicoretests

PBT testsuite and libraries for testing multicore OCaml
https://ocaml-multicore.github.io/multicoretests/
BSD 2-Clause "Simplified" License
37 stars 16 forks source link

Assertion failures in runtime/domain.c on trunk #424

Closed jmid closed 8 months ago

jmid commented 9 months ago

In addition to the assertion error in #422, we have observed additional assertion failures in runtime/domain.c indicating a regression on trunk after fixing #404 (which had its fix included in 5.1.1).

Thanks to a swift response from Nick this has already been fixed in https://github.com/ocaml/ocaml/pull/12824

Seen in threadomain:

random seed: 32128527
generated error fail pass / total     time test name

[ ]    0    0    0    0 /  500     0.0s Mash up of threads and domains
[ ]    0    0    0    0 /  500     0.0s Mash up of threads and domains (generating)
[00] file runtime/domain.c; line 1655 ### Assertion failed: (uintnat)dom_st->young_ptr > (uintnat)dom_st->young_trigger
File "src/threadomain/dune", line 4, characters 7-18:
4 |  (name threadomain)
           ^^^^^^^^^^^
(cd _build/default/src/threadomain && ./threadomain.exe --verbose)
Command got signal ABRT.
[ ]  235    0    0  235 /  500    60.3s Mash up of threads and domains

In Lin Stack test with Thread:

random seed: 471291889
generated error fail pass / total     time test name

[ ]    0    0    0    0 / 1000     0.0s Lin Stack test with Domain
[ ]    0    0    0    0 / 1000     0.0s Lin Stack test with Domain (generating)
[✓]    1    0    1    0 / 1000     0.9s Lin Stack test with Domain

[00] file runtime/domain.c; line 1653 ### Assertion failed: (uintnat)dom_st->young_ptr > (uintnat)dom_st->memprof_young_trigger
File "src/stack/dune", line 4, characters 7-16:
4 |  (name lin_tests)
           ^^^^^^^^^
(cd _build/default/src/stack && ./lin_tests.exe --verbose)
Command got signal ABRT.
[ ]    0    0    0    0 /  250     0.0s Lin Stack test with Thread

In Lin Bytes test with Thread:

random seed: 225411800
generated error fail pass / total     time test name

[ ]    0    0    0    0 / 1000     0.0s Lin Bytes test with Domain
[ ]    0    0    0    0 / 1000     0.0s Lin Bytes test with Domain (generating)
[✓] 1000    0    0 1000 / 1000    19.5s Lin Bytes test with Domain

[00] file runtime/domain.c; line 1653 ### Assertion failed: (uintnat)dom_st->young_ptr > (uintnat)dom_st->memprof_young_trigger
File "src/bytes/dune", line 12, characters 7-16:
12 |  (name lin_tests)
            ^^^^^^^^^
(cd _build/default/src/bytes && ./lin_tests.exe --verbose)
Command got signal ABRT.
[ ]    0    0    0    0 / 1000     0.0s Lin Bytes test with Thread

In STM int64 ref test with Thread:

random seed: 340012701
generated error fail pass / total     time test name

[ ]    0    0    0    0 /  250     0.0s STM int ref test with Thread
[ ]    0    0    0    0 /  250     0.0s STM int ref test with Thread (generating)
[✓]  250    0    0  250 /  250     8.1s STM int ref test with Thread

[00] file runtime/domain.c; line 1653 ### Assertion failed: (uintnat)dom_st->young_ptr > (uintnat)dom_st->memprof_young_trigger
File "src/neg_tests/dune", line 35, characters 7-27:
35 |  (name stm_tests_thread_ref)
            ^^^^^^^^^^^^^^^^^^^^
(cd _build/default/src/neg_tests && ./stm_tests_thread_ref.exe --verbose)
Command got signal ABRT.
[ ]    0    0    0    0 / 2500     0.0s STM int64 ref test with Thread

and in Lin.Internal ref int test with Thread and Lin.Internal CList int test with Thread:

random seed: 85891769
generated error  fail  pass / total     time test name

[ ]     0     0     0     0 /  1000     0.0s Lin.Internal ref int test with Thread
[00] file runtime/domain.c; line 1655 ### Assertion failed: (uintnat)dom_st->young_ptr > (uintnat)dom_st->young_trigger
File "src/neg_tests/dune", line 113, characters 8-37:
113 |  (names lin_internal_tests_thread_ref lin_internal_tests_thread_conclist)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(cd _build/default/src/neg_tests && ./lin_internal_tests_thread_ref.exe --verbose)
Command got signal ABRT.
[ ]     0     0     0     0 /  1000     0.0s Lin.Internal ref int test with Thread (generating)
random seed: 36406295
generated error fail pass / total     time test name

[ ]    0    0    0    0 / 1000     0.0s Lin.Internal CList int test with Thread
[00] file runtime/domain.c; line 1655 ### Assertion failed: (uintnat)dom_st->young_ptr > (uintnat)dom_st->young_trigger
File "src/neg_tests/dune", line 113, characters 38-72:
113 |  (names lin_internal_tests_thread_ref lin_internal_tests_thread_conclist)
                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(cd _build/default/src/neg_tests && ./lin_internal_tests_thread_conclist.exe --verbose)
Command got signal ABRT.
jmid commented 8 months ago

Closing as the fix has been merged to trunk and is no longer triggered.