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

Camera/CameraTest.VisualAt/ogre2 flaky test on Bionic/amd64 #170

Open
j-rivero opened this issue Oct 28, 2020 · 14 comments · Fixed by #446
Open

Camera/CameraTest.VisualAt/ogre2 flaky test on Bionic/amd64 #170

j-rivero opened this issue Oct 28, 2020 · 14 comments · Fixed by #446
Labels
🏰 citadel Ignition Citadel tests Broken or missing tests / testing infra

Comments

@j-rivero
Copy link
Contributor

I've seen the Camera/CameraTest.VisualAt/ogre2 failing in some builds for Bionic/amd64.
Changes listed in build 20seems to be the starting point of the failures.

54: [ RUN      ] Camera/CameraTest.VisualAt/ogre2
54: �[1;32m[Msg] �[0m�[1;32mLoading plugin [�[0m�[1;32mignition-rendering-ogre2�[0m�[1;32m]�[0m�[1;32m�[0m
54: /var/lib/jenkins/workspace/ignition_rendering-ci-ign-rendering3-bionic-amd64/ign-rendering/test/integration/camera.cc:243: Failure
54: Expected: (nullptr) != (vis), actual: (nullptr) vs 16-byte object <00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00>
54: [  FAILED  ] Camera/CameraTest.VisualAt/ogre2, where GetParam() = "ogre2" (224 ms)
@chapulina chapulina added tests Broken or missing tests / testing infra 🏰 citadel Ignition Citadel labels Nov 5, 2020
@chapulina
Copy link
Contributor

On #174, I'm adding more information to the test so we can understand better how it's failing.

@chapulina
Copy link
Contributor

But it hasn't failed in Dome yet:

Now that there are more builds, it's possible to see that the test is flaky on Dome too. And on Edifice:

https://build.osrfoundation.org/job/ignition_rendering-ci-main-bionic-amd64/lastStableBuild/testReport/(root)/Camera_CameraTest/VisualAt_ogre2/history/

#255 added a bit more debug information

@chapulina
Copy link
Contributor

chapulina commented Apr 20, 2021

I suspect this may be related to the issue that #221 is trying to fix, which seems to be caused by a difference in devices.

See a summary of the lastest builds:

Jenkins node Passes Failures
drogon 0 5
optimus 5 1
r2d2 4 0

The test seems to pass consistently on r2d2 and fail on drogon.

Note that the only failure on optimus happened on April 1st, and all successes happened before March 17th. I believe that optimus recently got an upgrade that may have changed its settings in a way that causes the test to fail.


https://github.com/osrf/buildfarmer/issues/181

@jacobperron
Copy link

Another instance of the test failure for Citadel (from July 16th): https://build.osrfoundation.org/job/ignition_rendering-ci-ign-rendering3-bionic-amd64/46

 58: [ RUN      ] Camera/CameraTest.VisualAt/ogre2
58: �[1;32m[Msg] �[0m�[1;32mLoading plugin [�[0m�[1;32mignition-rendering-ogre2�[0m�[1;32m]�[0m�[1;32m�[0m
58: /var/lib/jenkins/workspace/ignition_rendering-ci-ign-rendering3-bionic-amd64/ign-rendering/test/integration/camera.cc:251: Failure
58: Expected: (nullptr) != (vis), actual: (nullptr) vs 16-byte object <00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00>
58: X: 300
58: /var/lib/jenkins/workspace/ignition_rendering-ci-ign-rendering3-bionic-amd64/ign-rendering/test/integration/camera.cc:259: Failure
58: Expected equality of these values:
58:   nullptr
58:     Which is: (nullptr)
58:   vis
58:     Which is: 16-byte object <20-0D 64-50 23-56 00-00 00-CC 24-50 23-56 00-00>
58: Found [box] at X [400]
58: /var/lib/jenkins/workspace/ignition_rendering-ci-ign-rendering3-bionic-amd64/ign-rendering/test/integration/camera.cc:265: Failure
58: Expected: (nullptr) != (vis), actual: (nullptr) vs 16-byte object <00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00>
58: X: 600
58: /var/lib/jenkins/workspace/ignition_rendering-ci-ign-rendering3-bionic-amd64/ign-rendering/test/integration/camera.cc:265: Failure
58: Expected: (nullptr) != (vis), actual: (nullptr) vs 16-byte object <00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00>
58: X: 700
58: [  FAILED  ] Camera/CameraTest.VisualAt/ogre2, where GetParam() = "ogre2" (387 ms)

This was referenced Sep 24, 2021
@Blast545
Copy link
Contributor

Blast545 commented Oct 4, 2021

I took some time to gather metrics about how much this affects the ign-rendering builds across the ignition buildfarms. Taking into account only the builds with a test report available.

ignition_rendering-ci-ign-rendering3-bionic-amd64 has this error 14 out of 25 builds. 56.0% Flaky
ignition_rendering-ci-ign-rendering4-bionic-amd64 has this error 13 out of 23 builds. 56.5% Flaky
ignition_rendering-ci-ign-rendering5-bionic-amd64 has this error 10 out of 21 builds. 47.6% Flaky
ignition_rendering-ci-main-bionic-amd64 has this error 9 out of 34 builds. 26.5% Flaky

I think it would be a good idea to take a closer look into this one, it's a test that fails frequently.

@iche033
Copy link
Contributor

iche033 commented Oct 4, 2021

I'm testing this in #450. Setting the device pixel ratio to 1.0f seems to have fixed the issue on the CI machines:
https://github.com/ignitionrobotics/ign-rendering/blob/ign-rendering5/ogre2/src/Ogre2Camera.cc#L250

@chapulina chapulina linked a pull request Nov 9, 2021 that will close this issue
7 tasks
@Blast545
Copy link
Contributor

Blast545 commented Jun 8, 2022

This error is failing consistently on our buildfarm ign-rendering3 job, see:
https://build.osrfoundation.org/job/ignition_rendering-ci-ign-rendering3-focal-amd64/11/

Is it possible to backport this one? or should we disable the test on citadel and document it as a known issue? @chapulina

@iche033
Copy link
Contributor

iche033 commented Jun 8, 2022

if we want to backport, these are probably the relevant changes: https://github.com/gazebosim/gz-rendering/pull/446/files#diff-7d09d6004075a16fceed8b6665c62249a2f928e86838438073c983b1c2ad6ad7R107-R110

@Blast545
Copy link
Contributor

Blast545 commented Jun 9, 2022

I took some time to check/backport this one, the link you attached here is showing me this:

src/Utils_TEST.cc

 EXPECT_EQ(0u, rayResult.objectId);
  VisualPtr root = scene->RootVisual();

Am I correct? To me it looks like the important changes are happening in the ogre2/src/Ogre2SelectionBuffer.cc, and the changes there were not trivial for me to backport.

@iche033
Copy link
Contributor

iche033 commented Jun 9, 2022

oh it should be:

  // the scaling factor seems to cause issues with mouse picking.
  // see https://github.com/ignitionrobotics/ign-gazebo/issues/147
#if 0

gz-rendering/src/Utils.cc

Lines 108 to 110 in dc985f5

// the scaling factor seems to cause issues with mouse picking.
// see https://github.com/ignitionrobotics/ign-gazebo/issues/147
#if 0

basically forcing that function to return 1.0

@iche033
Copy link
Contributor

iche033 commented Nov 28, 2022

issue is back on CI machine for gz-rendering7: #758 (comment)

@iche033 iche033 reopened this Nov 28, 2022
@Blast545
Copy link
Contributor

FYI @Crola1702

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🏰 citadel Ignition Citadel tests Broken or missing tests / testing infra
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants