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

Add Ubuntu Jammy CI #374

Merged
merged 2 commits into from
Mar 30, 2022
Merged

Add Ubuntu Jammy CI #374

merged 2 commits into from
Mar 30, 2022

Conversation

scpeters
Copy link
Member

🎉 New feature

Part of gazebo-tooling/release-tools#566

Summary

Enable CI for Ubuntu 22.04 (Jammy)

Test it

Watch result of new Github Actions Workflow for Jammy

Checklist

  • Signed all commits for DCO
  • Added tests
  • Added example and/or tutorial
  • Updated documentation (as needed)
  • Updated migration guide (as needed)
  • codecheck passed (See contributing)
  • All tests passed (See test coverage)
  • While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.

Signed-off-by: Steve Peters <[email protected]>
@codecov
Copy link

codecov bot commented Mar 22, 2022

Codecov Report

Merging #374 (52fd916) into ign-gui6 (ec910ed) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           ign-gui6     #374   +/-   ##
=========================================
  Coverage     65.59%   65.59%           
=========================================
  Files            39       39           
  Lines          5139     5139           
=========================================
  Hits           3371     3371           
  Misses         1768     1768           

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 ec910ed...52fd916. Read the comment docs.

@chapulina
Copy link
Contributor

hummm

...
Errors from xkbcomp are not fatal to the X server
  The XKEYBOARD keymap compiler (xkbcomp) reports:
  > Internal error:   Could not resolve keysym XF86BrightnessAuto
  > Internal error:   Could not resolve keysym XF86DisplayOff
  > Internal error:   Could not resolve keysym XF86Info
  > Internal error:   Could not resolve keysym XF86AspectRatio
  > Internal error:   Could not resolve keysym XF86DVD
  > Internal error:   Could not resolve keysym XF86Audio
  > Internal error:   Could not resolve keysym XF86ChannelUp
  > Internal error:   Could not resolve keysym XF86ChannelDown
  > Internal error:   Could not resolve keysym XF86Break
  > Internal error:   Could not resolve keysym XF86VideoPhone
  > Internal error:   Could not resolve keysym XF86ZoomReset
  > Internal error:   Could not resolve keysym XF86Editor
  > Internal error:   Could not resolve keysym XF86GraphicsEditor
...

@scpeters
Copy link
Member Author

hummm

...
Errors from xkbcomp are not fatal to the X server
  The XKEYBOARD keymap compiler (xkbcomp) reports:
  > Internal error:   Could not resolve keysym XF86BrightnessAuto
  > Internal error:   Could not resolve keysym XF86DisplayOff
  > Internal error:   Could not resolve keysym XF86Info
  > Internal error:   Could not resolve keysym XF86AspectRatio
  > Internal error:   Could not resolve keysym XF86DVD
  > Internal error:   Could not resolve keysym XF86Audio
  > Internal error:   Could not resolve keysym XF86ChannelUp
  > Internal error:   Could not resolve keysym XF86ChannelDown
  > Internal error:   Could not resolve keysym XF86Break
  > Internal error:   Could not resolve keysym XF86VideoPhone
  > Internal error:   Could not resolve keysym XF86ZoomReset
  > Internal error:   Could not resolve keysym XF86Editor
  > Internal error:   Could not resolve keysym XF86GraphicsEditor
...

it might be worth trying to reproduce this locally to debug

@chapulina
Copy link
Contributor

My first thought was that this may be caused by xvfb. We may be able to reproduce locally in a container with NVIDIA drivers disabled.

@chapulina
Copy link
Contributor

it might be worth trying to reproduce this locally to debug

After searching around a bit, it sounds like these specific warnings may be harmless:

That's not an error, it just happens

We do have lots of test failures though:

2022-03-22T01:38:19.8839893Z 	  7 - UNIT_Helpers_TEST (SEGFAULT)
2022-03-22T01:38:19.8840175Z 	 13 - UNIT_MainWindow_TEST (Failed)
2022-03-22T01:38:19.8840506Z 	 33 - UNIT_WorldStats_TEST (Subprocess aborted)
2022-03-22T01:38:19.8840839Z 	 43 - INTEGRATION_minimal_scene (SEGFAULT)
2022-03-22T01:38:19.8841167Z 	 47 - INTEGRATION_transport_scene_manager (SEGFAULT)

@scpeters
Copy link
Member Author

I collected the following backtrace using a virtual machine with Jammy:

$ bin/UNIT_Helpers_TEST 
Running main() from /home/scpeters/Desktop/ign-gui/test/gtest/src/gtest_main.cc
[==========] Running 7 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 7 tests from HelpersTest
[ RUN      ] HelpersTest.humanReadable
[       OK ] HelpersTest.humanReadable (0 ms)
[ RUN      ] HelpersTest.unitFromKey
[       OK ] HelpersTest.unitFromKey (0 ms)
[ RUN      ] HelpersTest.rangeFromKey
[       OK ] HelpersTest.rangeFromKey (0 ms)
[ RUN      ] HelpersTest.stringTypeFromKey
[       OK ] HelpersTest.stringTypeFromKey (0 ms)
[ RUN      ] HelpersTest.findFirstByProperty
Segmentation fault (core dumped)
$ gdb bin/UNIT_Helpers_TEST 
GNU gdb (Ubuntu 12.0.90-0ubuntu1) 12.0.90
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from bin/UNIT_Helpers_TEST...
(gdb) r
Starting program: /home/scpeters/Desktop/ign-gui/build/bin/UNIT_Helpers_TEST 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Running main() from /home/scpeters/Desktop/ign-gui/test/gtest/src/gtest_main.cc
[==========] Running 7 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 7 tests from HelpersTest
[ RUN      ] HelpersTest.humanReadable
[       OK ] HelpersTest.humanReadable (0 ms)
[ RUN      ] HelpersTest.unitFromKey
[       OK ] HelpersTest.unitFromKey (0 ms)
[ RUN      ] HelpersTest.rangeFromKey
[       OK ] HelpersTest.rangeFromKey (0 ms)
[ RUN      ] HelpersTest.stringTypeFromKey
[       OK ] HelpersTest.stringTypeFromKey (0 ms)
[ RUN      ] HelpersTest.findFirstByProperty

Program received signal SIGSEGV, Segmentation fault.
__strrchr_sse2 () at ../sysdeps/x86_64/multiarch/../strrchr.S:32
32	../sysdeps/x86_64/multiarch/../strrchr.S: No such file or directory.
(gdb) bt
#0  __strrchr_sse2 () at ../sysdeps/x86_64/multiarch/../strrchr.S:32
#1  0x00007ffff7c50736 in QCoreApplicationPrivate::appName() const ()
   from /lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007ffff7c57d0f in QCoreApplicationPrivate::init() ()
   from /lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007ffff56f6b60 in QGuiApplicationPrivate::init() ()
   from /lib/x86_64-linux-gnu/libQt5Gui.so.5
#4  0x00007ffff6fd3ccd in QApplicationPrivate::init() ()
   from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#5  0x00007ffff7f4ad29 in ignition::gui::Application::Application (
    this=this@entry=0x7fffffffdcb0, _argc=@0x7fffffffdc54: 1, _argv=<optimized out>, 
    _type=_type@entry=ignition::gui::WindowType::kMainWindow)
    at /home/scpeters/Desktop/ign-gui/src/Application.cc:88
#6  0x000055555556f889 in HelpersTest_findFirstByProperty_Test::TestBody (
    this=<optimized out>) at /home/scpeters/Desktop/ign-gui/src/Helpers_TEST.cc:125
#7  0x00005555555ae50f in testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void> (location=0x5555555b1886 "the test body", method=<optimized out>, 
    object=0x55555566ef10) at /home/scpeters/Desktop/ign-gui/test/gtest/src/gtest.cc:2447
#8  testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void> (
    object=object@entry=0x55555566ef10, method=<optimized out>, 
    location=location@entry=0x5555555b1886 "the test body")
    at /home/scpeters/Desktop/ign-gui/test/gtest/src/gtest.cc:2483
#9  0x00005555555a3ed9 in testing::Test::Run (this=0x55555566ef10)
--Type <RET> for more, q to quit, c to continue without paging--c
    at /home/scpeters/Desktop/ign-gui/test/gtest/src/gtest.cc:2521
#10 testing::Test::Run (this=0x55555566ef10) at /home/scpeters/Desktop/ign-gui/test/gtest/src/gtest.cc:2512
#11 0x00005555555a4108 in testing::TestInfo::Run (this=0x5555556a2ed0) at /home/scpeters/Desktop/ign-gui/test/gtest/src/gtest.cc:2697
#12 0x00005555555a42c5 in testing::TestInfo::Run (this=<optimized out>) at /home/scpeters/Desktop/ign-gui/test/gtest/src/gtest.cc:2672
#13 testing::TestCase::Run (this=0x5555556a2bb0) at /home/scpeters/Desktop/ign-gui/test/gtest/src/gtest.cc:2815
#14 0x00005555555a49cd in testing::TestCase::Run (this=<optimized out>) at /home/scpeters/Desktop/ign-gui/test/gtest/src/gtest.cc:2801
#15 testing::internal::UnitTestImpl::RunAllTests (this=0x5555555e8da0) at /home/scpeters/Desktop/ign-gui/test/gtest/src/gtest.cc:5181
#16 0x00005555555aead7 in testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> (location=0x5555555b2be8 "auxiliary test code (environments or event listeners)", method=<optimized out>, object=0x5555555e8da0) at /home/scpeters/Desktop/ign-gui/test/gtest/src/gtest.cc:2447
#17 testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> (object=0x5555555e8da0, method=<optimized out>, location=location@entry=0x5555555b2be8 "auxiliary test code (environments or event listeners)") at /home/scpeters/Desktop/ign-gui/test/gtest/src/gtest.cc:2483
#18 0x00005555555a4b45 in testing::UnitTest::Run (this=0x5555555ca8a0 <testing::UnitTest::GetInstance()::instance>) at /home/scpeters/Desktop/ign-gui/test/gtest/src/gtest.cc:4790
#19 0x0000555555569f94 in RUN_ALL_TESTS () at /home/scpeters/Desktop/ign-gui/test/gtest/include/gtest/gtest.h:2341
#20 main (argc=<optimized out>, argv=0x7fffffffe0e8) at /home/scpeters/Desktop/ign-gui/test/gtest/src/gtest_main.cc:36
(gdb)

Signed-off-by: Louise Poubel <[email protected]>
@chapulina
Copy link
Contributor

I think tests are fixed as of 52fd916, at least it worked for me locally

@chapulina
Copy link
Contributor

Ok, we're down to these test failures on Jammy, on different runs:

  	 33 - UNIT_WorldStats_TEST (Subprocess aborted)
  	 45 - INTEGRATION_scene3d (SEGFAULT)
  	 47 - INTEGRATION_transport_scene_manager (SEGFAULT)
2022-03-30T19:44:34.0513718Z 	 45 - INTEGRATION_scene3d (Subprocess aborted)
2022-03-30T19:44:34.0514151Z 	 47 - INTEGRATION_transport_scene_manager (SEGFAULT)

They all pass for me on a Jammy container. I think we don't need to block on this for this PR. Bionic and Focal also have flaky tests due to

@chapulina chapulina merged commit 9b0cd1f into ign-gui6 Mar 30, 2022
@chapulina chapulina deleted the jammy_ci branch March 30, 2022 20:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🏯 fortress Ignition Fortress
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants