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

Combination of #685 and #694 #681

Merged
merged 2 commits into from
Jul 29, 2022
Merged

Conversation

mjcarroll
Copy link
Contributor

Signed-off-by: Michael Carroll [email protected]

@mjcarroll mjcarroll changed the title Update dependencies and add to RPath for debs [CI WIP] Update dependencies and add to RPath for debs Jul 20, 2022
@mjcarroll mjcarroll mentioned this pull request Jul 21, 2022
7 tasks
@codecov
Copy link

codecov bot commented Jul 21, 2022

Codecov Report

Merging #681 (d87751e) into matias-ogre2.3 (3beb99c) will increase coverage by 16.50%.
The diff coverage is n/a.

❗ Current head d87751e differs from pull request most recent head c3b5daf. Consider uploading reports for the commit c3b5daf to get more accurate results

@@                 Coverage Diff                 @@
##           matias-ogre2.3     #681       +/-   ##
===================================================
+ Coverage           53.18%   69.69%   +16.50%     
===================================================
  Files                 214      214               
  Lines               21550    21550               
===================================================
+ Hits                11462    15019     +3557     
+ Misses              10088     6531     -3557     
Impacted Files Coverage Δ
ogre2/src/Ogre2GzHlmsPbsPrivate.hh 100.00% <ø> (ø)
ogre2/src/Ogre2GzHlmsTerraPrivate.hh 100.00% <ø> (ø)
ogre2/src/Ogre2GzHlmsUnlitPrivate.hh 100.00% <ø> (ø)
src/WireBox.cc 0.00% <0.00%> (-100.00%) ⬇️
ogre2/src/Ogre2WireBox.cc 0.00% <0.00%> (-85.08%) ⬇️
include/gz/rendering/base/BaseJointVisual.hh 0.00% <0.00%> (-81.97%) ⬇️
src/RenderingIface.cc 7.01% <0.00%> (-64.92%) ⬇️
include/gz/rendering/base/BaseWireBox.hh 0.00% <0.00%> (-62.50%) ⬇️
ogre2/src/Ogre2JointVisual.cc 0.00% <0.00%> (-50.00%) ⬇️
include/gz/rendering/base/BaseArrowVisual.hh 61.76% <0.00%> (-38.24%) ⬇️
... and 61 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 3beb99c...c3b5daf. Read the comment docs.

@chapulina chapulina added the 🌱 garden Ignition Garden label Jul 21, 2022
@scpeters
Copy link
Member

@osrf-jenkins run tests please

@scpeters
Copy link
Member

homebrew build doesn't seem to find ogre2:

Build Status https://build.osrfoundation.org/job/ignition_rendering-ci-pr_any-homebrew-amd64/2592/

-- Looking for OGRE using the name: OGRE2
--   ! component HlmsPbs: not found!
--   ! component HlmsUnlit: not found!
--   ! component Overlay: not found!
--   ! component PlanarReflections: not found!
--   ! OGRE2 not found
-- Looking for OGRE using the name: OGRE-Next
--   ! OGRE-Next not found
-- Looking for GzOGRE2 - not found

-- PlanarReflections component was not found. Try looking without it:
-- Looking for OGRE using the name: OGRE2
--   ! component HlmsPbs: not found!
--   ! component HlmsUnlit: not found!
--   ! component Overlay: not found!
--   ! OGRE2 not found
-- Looking for OGRE using the name: OGRE-Next
--   ! OGRE-Next not found
-- Looking for GzOGRE2 - not found
...
CMake Warning at /usr/local/share/cmake/gz-cmake3/cmake3/GzConfigureBuild.cmake:69 (message):
   CONFIGURATION WARNINGS:
   -- Skipping component [ogre2]: Missing dependency [GzOGRE2] (Components: HlmsPbs, HlmsUnlit, Overlay).
      ^~~~~ Set SKIP_ogre2=true in cmake to suppress this warning.

@chapulina chapulina added the enhancement New feature or request label Jul 25, 2022
@scpeters
Copy link
Member

the Ubuntu actions CI seems to find Ogre 2.3 properly but the jenkins Ubuntu build didn't:

https://build.osrfoundation.org/job/ignition_rendering-ci-pr_any-ubuntu_auto-amd64/2524/

-- Looking for OGRE using the name: OGRE2
--   ! component HlmsPbs: not found!
--   ! component HlmsUnlit: not found!
--   + component Overlay: found
--   ! component PlanarReflections: not found!
--   ! OGRE2 not found
-- Looking for OGRE using the name: OGRE-Next
--   ! OGRE-Next not found
-- Looking for GzOGRE2 - not found

-- PlanarReflections component was not found. Try looking without it:
-- Looking for OGRE using the name: OGRE2
--   ! component HlmsPbs: not found!
--   ! component HlmsUnlit: not found!
--   + component Overlay: found
--   ! OGRE2 not found
-- Looking for OGRE using the name: OGRE-Next
--   ! OGRE-Next not found
-- Looking for GzOGRE2 - not found

...

CMake Warning at /usr/share/cmake/gz-cmake3/cmake3/GzConfigureBuild.cmake:69 (message):
   CONFIGURATION WARNINGS:
   -- Skipping component [ogre2]: Missing dependency [GzOGRE2] (Components: HlmsPbs, HlmsUnlit, Overlay).
      ^~~~~ Set SKIP_ogre2=true in cmake to suppress this warning.

@scpeters
Copy link
Member

the Ubuntu actions CI seems to find Ogre 2.3 properly but the jenkins Ubuntu build didn't:

https://build.osrfoundation.org/job/ignition_rendering-ci-pr_any-ubuntu_auto-amd64/2524/

-- Looking for OGRE using the name: OGRE2
--   ! component HlmsPbs: not found!
--   ! component HlmsUnlit: not found!
--   + component Overlay: found
--   ! component PlanarReflections: not found!
--   ! OGRE2 not found
-- Looking for OGRE using the name: OGRE-Next
--   ! OGRE-Next not found
-- Looking for GzOGRE2 - not found

-- PlanarReflections component was not found. Try looking without it:
-- Looking for OGRE using the name: OGRE2
--   ! component HlmsPbs: not found!
--   ! component HlmsUnlit: not found!
--   + component Overlay: found
--   ! OGRE2 not found
-- Looking for OGRE using the name: OGRE-Next
--   ! OGRE-Next not found
-- Looking for GzOGRE2 - not found

...

CMake Warning at /usr/share/cmake/gz-cmake3/cmake3/GzConfigureBuild.cmake:69 (message):
   CONFIGURATION WARNINGS:
   -- Skipping component [ogre2]: Missing dependency [GzOGRE2] (Components: HlmsPbs, HlmsUnlit, Overlay).
      ^~~~~ Set SKIP_ogre2=true in cmake to suppress this warning.

never mind, this is expected because Jenkins isn't using the .github/ci/dependencies.yaml file to build gz-cmake from source

@scpeters
Copy link
Member

@osrf-jenkins run tests please

1 similar comment
@mjcarroll
Copy link
Contributor Author

@osrf-jenkins run tests please

@mjcarroll
Copy link
Contributor Author

@osrf-jenkins retest this please

@mjcarroll
Copy link
Contributor Author

mjcarroll commented Jul 26, 2022

@osrf-jenkins retest this please

Edit: I rolled new cmake nightlies.

@mjcarroll mjcarroll marked this pull request as ready for review July 26, 2022 15:32
@mjcarroll mjcarroll requested a review from iche033 as a code owner July 26, 2022 15:32
Copy link
Contributor

@ahcorde ahcorde left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there are some new warnings on Windows but CI is happy

@scpeters
Copy link
Member

let's try enabling the tests for ogre2 by removing the APPLE-specific logic here:

https://github.com/gazebosim/gz-rendering/blob/ci_matching_branch/ogre23/test/test_config.hh.in#L12-L17

@mjcarroll
Copy link
Contributor Author

let's try enabling the tests for ogre2 by removing the APPLE-specific logic here:

I also dropped optix, which is unsupported everywhere afaict:

98b65fe

test/test_config.hh.in Outdated Show resolved Hide resolved
test/test_config.hh.in Outdated Show resolved Hide resolved
Copy link
Member

@scpeters scpeters left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there are homebrew test failures, but those should be addressed by #553, either fixing or disabling the tests

@mjcarroll mjcarroll force-pushed the ci_matching_branch/ogre23 branch from 6a65c42 to 7a6931c Compare July 26, 2022 17:45
@mjcarroll
Copy link
Contributor Author

there are homebrew test failures, but those should be addressed by #553, either fixing or disabling the tests

I think that #553 already addressed these, rerunning CI.

@scpeters
Copy link
Member

there are homebrew test failures, but those should be addressed by #553, either fixing or disabling the tests

I think that #553 already addressed these, rerunning CI.

I still see a bunch of test failures with the following error:

75: [ RUN      ] ClickToScene/UtilTest.ClickToScene/ogre2
75: �[1;32m[Msg] �[0m�[1;32mLoading plugin [�[0m�[1;32mgz-rendering-ogre2�[0m�[1;32m]�[0m�[1;32m�[0m
75: unknown file: Failure
75: C++ exception with description "OGRE EXCEPTION(3:RenderingAPIException): Fragment Program 100000000PixelShader_ps failed to compile. See compile log above for details. in GLSLShader::compile at /tmp/ogre2.3-20220725-29639-6uzcl/ogre-next-2.3.1/RenderSystems/GL3Plus/src/GLSL/OgreGLSLShader.cpp (line 364)" thrown in the test body.
75: [  FAILED  ] ClickToScene/UtilTest.ClickToScene/ogre2, where GetParam() = "ogre2" (219 ms)

Build Status https://build.osrfoundation.org/job/ignition_rendering-ci-pr_any-homebrew-amd64/2618/

@scpeters
Copy link
Member

there are homebrew test failures, but those should be addressed by #553, either fixing or disabling the tests

I think that #553 already addressed these, rerunning CI.

I still see a bunch of test failures with the following error:

75: [ RUN      ] ClickToScene/UtilTest.ClickToScene/ogre2
75: �[1;32m[Msg] �[0m�[1;32mLoading plugin [�[0m�[1;32mgz-rendering-ogre2�[0m�[1;32m]�[0m�[1;32m�[0m
75: unknown file: Failure
75: C++ exception with description "OGRE EXCEPTION(3:RenderingAPIException): Fragment Program 100000000PixelShader_ps failed to compile. See compile log above for details. in GLSLShader::compile at /tmp/ogre2.3-20220725-29639-6uzcl/ogre-next-2.3.1/RenderSystems/GL3Plus/src/GLSL/OgreGLSLShader.cpp (line 364)" thrown in the test body.
75: [  FAILED  ] ClickToScene/UtilTest.ClickToScene/ogre2, where GetParam() = "ogre2" (219 ms)

Build Status https://build.osrfoundation.org/job/ignition_rendering-ci-pr_any-homebrew-amd64/2618/

I managed to grab an ogre2.log from one of the failing tests and have attached it here
ogre2.log

cc @iche033

@scpeters
Copy link
Member

an excerpt:

11:32:28: All done
11:32:28: Added resource location '/usr/local/Cellar/ignition-rendering7/HEAD/share/gz/gz-rendering7/media/materials/textures/' of type 'FileSystem' to resource group 'General'
11:32:28: Can't assign material scene::Material(65522) because this Material does not exist. Have you forgotten to define it in a .material script?
11:32:28: GLSL compile log: 100000000PixelShader_ps
ERROR: 0:810: No matching function for call to texelFetch(usampler2D, int)
ERROR: 0:817: No matching function for call to texelFetch(usampler2D, int)
ERROR: 0:820: Use of undeclared identifier 'idx'
ERROR: 0:823: Use of undeclared identifier 'idx'
ERROR: 0:825: Use of undeclared identifier 'idx'
ERROR: 0:826: Use of undeclared identifier 'idx'
ERROR: 0:829: Use of undeclared identifier 'posAndType'
ERROR: 0:830: Use of undeclared identifier 'lightDir'
ERROR: 0:832: Use of undeclared identifier 'fDistance'

@darksylinc
Copy link
Contributor

darksylinc commented Jul 26, 2022

OK I thought it was something else but this error is a big "WHAT?".

ERROR: 0:810: No matching function for call to texelFetch(usampler2D, int)

That error is key. It tells me that the OpenGL implementation doesn't provide GL_ARB_texture_buffer_range; and our codepath to handle such case was written for macOS.

However that sounds incredibly strange because any ancient OpenGL implementation would have GL_ARB_texture_buffer_range.

Is anyone able to run glxinfo on the CI machine so we can see its output? It sounds like there is something incredibly wrong with the OpenGL installation.

Perhaps is this running inside VMWare?

@mjcarroll
Copy link
Contributor Author

Is anyone able to run glxinfo on the CI machine so we can see its output? It sounds like there is something incredibly wrong with the OpenGL installation.

This isn't CI, but a local machine that I can reproduce on: https://gist.github.com/mjcarroll/fa27af5c4d6dfe8f226af48f8930bc3a

Perhaps is this running inside VMWare?

Negative, this is on the hardware

@mjcarroll
Copy link
Contributor Author

Note that these tests have not been on in quite some time. Interestingly, even the examples (such as ogre2_demo) that were previously working no longer are.

ogre2_demo log: https://gist.github.com/mjcarroll/604cadb2355127a64519ccad16180e0d

@scpeters
Copy link
Member

Note that these tests have not been on in quite some time. Interestingly, even the examples (such as ogre2_demo) that were previously working no longer are.

ogre2_demo log: https://gist.github.com/mjcarroll/604cadb2355127a64519ccad16180e0d

yes, until b183065 in this branch, all tests were run with ogre1.9 on macOS. Now they are running with ogre2.3

@darksylinc
Copy link
Contributor

OpenGL version string: 2.1 INTEL-18.8.4 (from the link you provided).

That doesn't meet the minimum requirement of OpenGL 3.3+

However Intel(R) UHD Graphics 630 is definitely capable of much more on an Ubuntu machine. Something's way off in that system's installation.

@scpeters
Copy link
Member

OpenGL version string: 2.1 INTEL-18.8.4 (from the link you provided).

That doesn't meet the minimum requirement of OpenGL 3.3+

However Intel(R) UHD Graphics 630 is definitely capable of much more on an Ubuntu machine. Something's way off in that system's installation.

it may be an issue with Xquartz, which is being used by our CI machines:

@darksylinc
Copy link
Contributor

darksylinc commented Jul 26, 2022

OK I just pushed a fix on Ogre 2.3 to fix this particular issue.

However from what I can see this would've happened with OgreNext 2.2 too.

The real problem is that the machine being used has ancient drivers, or wrong ones (it's weird because the UHD 630 is recent enough to never have such an old driver).

Perhaps sudo apt install --reinstall xserver-xorg-video-intel ?

AH! If this is Ubuntu 18.04; perhaps the driver that is bundled with default Ubuntu is too old as Ubuntu 18.04 came a few months after UHD 630

You may need HWE:

sudo apt-get install --install-recommends linux-generic-hwe-18.04 xserver-xorg-hwe-18.04

Which contains newer drivers.

If that doesn't do it, then a PPA like Kisak's may do the trick (which contains VERY recent drivers).

Update:
I posted this before seeing #681 (comment)

@iche033
Copy link
Contributor

iche033 commented Jul 27, 2022

just catching up on the test failures. Looks like they are on homebrew on macOS. In that case, we should try running the tests with metal backend instead of opengl 3+. For example, this was done in the examples:

Setting the param:
https://github.com/gazebosim/gz-rendering/blob/ign-rendering6/examples/ogre2_demo/Main.cc#L335
and launching the engine with that param:
https://github.com/gazebosim/gz-rendering/blob/ign-rendering6/examples/ogre2_demo/Main.cc#L281

This was also done in the PR for turning on metal in gazebo on macOS:
https://github.com/gazebosim/gz-sim/pull/1225/files#diff-3b9e08ba3682f95edbc665c4d231a78b9246cf1a1ce9da6fc6aa7dcc2596a444R2530-R2535

As we have increased our number of potential configurations, we needed a bit of a refactor to be able to test all of the configurations.

This changes the tests to no longer use gtest's parameterization, but rather use ctest's

Signed-off-by: Michael Carroll <[email protected]>
* Port remaining tests to common framework

Signed-off-by: Michael Carroll <[email protected]>
@mjcarroll mjcarroll force-pushed the ci_matching_branch/ogre23 branch from 0225827 to c3b5daf Compare July 29, 2022 04:38
@mjcarroll mjcarroll changed the title [CI WIP] Update dependencies and add to RPath for debs Combination of #685 and #694 Jul 29, 2022
@mjcarroll mjcarroll merged commit 37da046 into matias-ogre2.3 Jul 29, 2022
@mjcarroll mjcarroll deleted the ci_matching_branch/ogre23 branch July 29, 2022 04:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request 🌱 garden Ignition Garden
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

6 participants