Skip to content

CI: use Ubuntu 22.04#1714

Merged
pwrobeldev merged 4 commits into
masterfrom
pwrobeldev/ci-use-ubuntu-22-04-instead-of-removed-20-04
May 5, 2025
Merged

CI: use Ubuntu 22.04#1714
pwrobeldev merged 4 commits into
masterfrom
pwrobeldev/ci-use-ubuntu-22-04-instead-of-removed-20-04

Conversation

@pwrobeldev

@pwrobeldev pwrobeldev commented Apr 17, 2025

Copy link
Copy Markdown
Contributor

The CI workflows were running jobs using Ubuntu 20.04.
The mentioned version has been unsupported since 2025-04-15.

Therefore, the workflow files are adjusted to use Ubuntu 22.04.
Moreover, Swift SDK's version is raised from 5.4.3 to 5.7.3, because
the older version is not available for Ubuntu 22.04.

g++ version has been upgraded from 8 to 9, because Ubuntu 22.04
does not support the old package.

@pwrobeldev pwrobeldev force-pushed the pwrobeldev/ci-use-ubuntu-22-04-instead-of-removed-20-04 branch from 03b6f57 to b5c4aee Compare April 17, 2025 07:30
@pwrobeldev pwrobeldev requested a review from Hsilgos April 17, 2025 07:31
@pwrobeldev

Copy link
Copy Markdown
Contributor Author

The official communication regarding removal of support for Ubuntu 20.04 from GitHub team can be found here:

@pwrobeldev

Copy link
Copy Markdown
Contributor Author

The minimum supported version of Swift SDK for Ubuntu 22.04 can be found here:

Search for "Older releases".

Hsilgos
Hsilgos previously approved these changes Apr 17, 2025
@pwrobeldev pwrobeldev force-pushed the pwrobeldev/ci-use-ubuntu-22-04-instead-of-removed-20-04 branch 4 times, most recently from 341769c to 25b0ec4 Compare April 30, 2025 11:06
@pwrobeldev

Copy link
Copy Markdown
Contributor Author

The problem exists only for Linux. I was trying to reproduce it on macOS, but without success.

The leak reported by valgrind for Linux seems to be false-positive (XCTest ticket linked below). The function responsible for the problem is from XCTest framework:

==4153== 32 bytes in 1 blocks are definitely lost in loss record 1,119 of 3,232
==4153==    at 0x4849013: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==4153==    by 0x6995F9C: swift::RefCounts<swift::RefCountBitsT<(swift::RefCountInlinedness)1> >::formWeakReference() (in /usr/lib/swift/linux/libswiftCore.so)
==4153==    by 0x695B127: swift_weakAssign (in /usr/lib/swift/linux/libswiftCore.so)
==4153==    by 0x58710CD: $s6XCTest9XCTWaiterC4wait3for7timeout12enforceOrder4file4lineAC6ResultOSayAA0A11ExpectationCG_SdSbs12StaticStringVSitF (in /usr/lib/swift/linux/libXCTest.so)
==4153==    by 0x58713E8: $s6XCTest9XCTWaiterC4wait3for7timeout12enforceOrder4file4lineAC6ResultOSayAA0A11ExpectationCG_SdSbs12StaticStringVSitFZ (in /usr/lib/swift/linux/libXCTest.so)
==4153==    by 0x585F9F6: $s6XCTest21awaitUsingExpectationyyyyYaKcKF (in /usr/lib/swift/linux/libXCTest.so)
==4153==    by 0x585EE10: $s6XCTest0A4CaseC10invokeTestyyF (in /usr/lib/swift/linux/libXCTest.so)
==4153==    by 0x585EC61: $s6XCTest0A4CaseC7performyyAA0A3RunCF (in /usr/lib/swift/linux/libXCTest.so)
==4153==    by 0x586306F: $s6XCTestAAC3runyyF (in /usr/lib/swift/linux/libXCTest.so)
==4153==    by 0x586156E: $s6XCTest0A5SuiteC7performyyAA0A3RunCF (in /usr/lib/swift/linux/libXCTest.so)
==4153==    by 0x586306F: $s6XCTestAAC3runyyF (in /usr/lib/swift/linux/libXCTest.so)
==4153==    by 0x586156E: $s6XCTest0A5SuiteC7performyyAA0A3RunCF (in /usr/lib/swift/linux/libXCTest.so)
==4153== 
{
   <insert_a_suppression_name_here>
   Memcheck:Leak
   match-leak-kinds: definite
   fun:_Znwm
   fun:_ZN5swift9RefCountsINS_13RefCountBitsTILNS_19RefCountInlinednessE1EEEE17formWeakReferenceEv
   fun:swift_weakAssign
   fun:$s6XCTest9XCTWaiterC4wait3for7timeout12enforceOrder4file4lineAC6ResultOSayAA0A11ExpectationCG_SdSbs12StaticStringVSitF
   fun:$s6XCTest9XCTWaiterC4wait3for7timeout12enforceOrder4file4lineAC6ResultOSayAA0A11ExpectationCG_SdSbs12StaticStringVSitFZ
   fun:$s6XCTest21awaitUsingExpectationyyyyYaKcKF
   fun:$s6XCTest0A4CaseC10invokeTestyyF
   fun:$s6XCTest0A4CaseC7performyyAA0A3RunCF
   fun:$s6XCTestAAC3runyyF
   fun:$s6XCTest0A5SuiteC7performyyAA0A3RunCF
   fun:$s6XCTestAAC3runyyF
   fun:$s6XCTest0A5SuiteC7performyyAA0A3RunCF
}

The same exact problem was reported to XCTest project, but for address sanitizer.

Please see the following comment:

From the discussion:

Looks like this is a side table being leaked. I’d guess this is a false positive due to the lead sanitizer not recognizing whatever weird bit stuffing we’re doing with the pointer to the side table.

Hsilgos
Hsilgos previously approved these changes Apr 30, 2025
The CI workflows were running jobs using Ubuntu 20.04.
The mentioned version has been unsupported since 2025-04-15.

Therefore, the workflow files are adjusted to use Ubuntu 22.04.
Moreover, Swift SDK's version is raised from 5.4.3 to 5.7.3, because
the older version is not available for Ubuntu 22.04.

Signed-off-by: Patryk Wrobel <183546751+pwrobeldev@users.noreply.github.com>
Ubuntu 20.04 removed package of g++ 8. Therefore,
version 9 is used.

Signed-off-by: Patryk Wrobel <183546751+pwrobeldev@users.noreply.github.com>
Signed-off-by: Patryk Wrobel <183546751+pwrobeldev@users.noreply.github.com>
@pwrobeldev pwrobeldev force-pushed the pwrobeldev/ci-use-ubuntu-22-04-instead-of-removed-20-04 branch from 44594af to 1bfae6c Compare April 30, 2025 12:03
Signed-off-by: Patryk Wrobel <183546751+pwrobeldev@users.noreply.github.com>
@pwrobeldev pwrobeldev requested a review from Hsilgos May 5, 2025 05:37
@pwrobeldev pwrobeldev merged commit a750627 into master May 5, 2025
19 checks passed
@pwrobeldev pwrobeldev deleted the pwrobeldev/ci-use-ubuntu-22-04-instead-of-removed-20-04 branch May 5, 2025 08:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants