CurtinFRC / 2024-Crescendo

Our code for FRC 2024: CRESCENDO, using Gradle, Wombat, and probably other stuff
https://4788-docs.vercel.app/
MIT License
14 stars 18 forks source link

Rare Edgecase with Behaviours System #15

Closed spacey-sooty closed 10 months ago

spacey-sooty commented 12 months ago

Describe the bug In a rare edgecase the tests for behaviours fail due to an exception where tick returns false instead of true.

Environment The only environment I have seen this occur on are Ubuntu based Linux distributions

To Reproduce This cannot be consistently reproduced but in order to attempt it run ./gradlew build on an Ubuntu based LInux distribution

Expected behavior This test should never fail

Additional context image

spacey-sooty commented 11 months ago

Could be a unit test issue similar to this

spacey-sooty commented 11 months ago

I've started to get this more regularly inclining me to think we should probably test this on a RoboRIO to make sure it's just a test issue not an actual bug in the behaviour system

spacey-sooty commented 11 months ago

Also it's not only the Race test which fails but the all test fails as well with this message:

[ RUN      ] ConcurrentBehaviourTest.All
Behaviour missed deadline. Reduce Period. Dt=0.026024 Dt(deadline)=0.02. Bhvr: <unnamed behaviour>
/home/spacey_sooty/Documents/frc/2024-Crescendo/wombat/src/test/cpp/test_behaviours.cpp:180: Failure
terminate called without an active exception
Value of: chain->Tick()
  Actual: false
Expected: true
spacey-sooty commented 10 months ago

I think this is caused by a bug in the race functions so we should look into that

spacey-sooty commented 10 months ago

This tests is broken entirely on someones computer