Skip to content
New issue

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

ECS stress test fails non-deterministically #1363

Closed
RiscadoA opened this issue Nov 13, 2024 · 0 comments · Fixed by #1367
Closed

ECS stress test fails non-deterministically #1363

RiscadoA opened this issue Nov 13, 2024 · 0 comments · Fixed by #1367
Assignees
Milestone

Comments

@RiscadoA
Copy link
Member

RiscadoA commented Nov 13, 2024

Description

For an unknown reason, in some runs (not very rarely) the macOS action fails while executing the stress test.
It's unclear whether this also happens in the other operating system actions.

It's very weird that it doesn't always happen, as the stress test seed is fixed - all runs should perform the same exact actions.

One possible explanation could be the ECS having UB in some very specific scenario, like accessing uninitialized memory, and working only when that memory has 'well-behaved' values, like 0, or something.

Probably the first step to solve this would be to improve the error logging on this so that we get more information on what's going on.

The error we get is:

[18:31:55.199] [registry.cpp:46 at] [thread0x2048f4f40] critical: Assertion mTables.contains(id) failed
[18:31:55.200] [registry.cpp:46 at] [thread0x2048f4f40] critical: No such sparse relation table
Stack trace (most recent call first):
[doctest] doctest version is "2.4.11"
#0 0x0000000101443277 at /Users/runner/work/cubos/cubos/build/core/libcubos-core.dylib
[doctest] run with "--help" for options
===============================================================================
../../../core/tests/ecs/stress.cpp:32:
TEST CASE:  ecs::* stress test

../../../core/tests/ecs/stress.cpp:32: FATAL ERROR: test case CRASHED: SIGABRT - Abort (abnormal termination) signal

===============================================================================
[doctest] test cases:    18 |    17 passed | 1 failed | 43 skipped
[doctest] assertions: 69703 | 69703 passed | 0 failed |
[doctest] Status: FAILURE!
#1 0x0000000101460d2b at /Users/runner/work/cubos/cubos/build/core/libcubos-core.dylib
#2 0x00000001008dfe17 at /Users/runner/work/cubos/cubos/build/cubos-core-tests
#3 0x0000000100943e13 at /Users/runner/work/cubos/cubos/build/cubos-core-tests
#4 0x00000001007820ef at /Users/runner/work/cubos/cubos/build/cubos-core-tests
#5 0x000000010078419f at /Users/runner/work/cubos/cubos/build/cubos-core-tests
#6 0x000000019c713153 at /usr/lib/dyld
/Users/runner/work/_temp/154d423e-9441-494d-99eb-fe19361ac68c.sh: line 1:  9170 Abort trap: 6           ./cubos-core-tests

Reproduce

Unable to reproduce deterministically as of now.

@RiscadoA RiscadoA added this to the 0.5 milestone Nov 13, 2024
@RiscadoA RiscadoA self-assigned this Nov 16, 2024
@RiscadoA RiscadoA linked a pull request Nov 17, 2024 that will close this issue
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant