Skip to content

Use CI image in Github container registry - #7

Open
pv wants to merge 2 commits into
bluez:mainfrom
pv:ci-image
Open

Use CI image in Github container registry#7
pv wants to merge 2 commits into
bluez:mainfrom
pv:ci-image

Conversation

@pv

@pv pv commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Use image from Github container registry, built via Github actions so that it is easier to manage, without needing dockerhub or any other additional secrets.

This image includes LLVM 23 prerelease from kernel.org.

NOTE: The image is currently built from my personal account, https://github.com/pv/bluez-ci-image/pkgs/container/bluez-ci-image but probably the repository should be copied in the organization and the image name changed accordingly, pv/bluez-ci-image -> bluez/ci-image or similar

@pv
pv marked this pull request as draft June 19, 2026 11:04
@pv

pv commented Jun 19, 2026

Copy link
Copy Markdown
Contributor Author

Looks like the blueztestbot/bluez-build:latest image on docker-hub cannot be reproduced by rebuilding from the https://github.com/BluezTestBot/docker-bluez-build/ repo Dockerfile, probably since the ubuntu 20.04 image has got some updates. With a rebuilt image, the qemu kernel testers fail locally with timeouts when run with valgrind.

Not sure why, but unless the reason can be found looks running testers with valgrind needs to be changed, probably ASAN will work instead.

pv added 2 commits June 21, 2026 18:15
On blueztestbot/bluez-build:latest (d5484a10bde6) from 2022-12-20,
testers ran with valgrind work, but they fail with timeouts when using
image rebuilt from https://github.com/BluezTestBot/docker-bluez-build
(89186b243e08) that should correspond to the source of the original
image.

As we cannot stay with unreproducible CI image, this should be fixed.

As the cause of the issue is unclear, switch to using ASan instead of
valgrind.

Example (with intentional crasher added in iso-tester)
------------------------------------------------------
Test: TestRunner_iso-tester - FAIL
Desc: Run iso-tester with test-runner
Output:
Sanitizer errors:
==33==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7bab5fd7f2e2 at pc 0x55d17f8a90d6 bp 0x7fff0e52b3c0 sp 0x7fff0e52b3b0
WRITE of size 1 at 0x7bab5fd7f2e2 thread T0
    #0 0x55d17f8a90d5 in test_connect_close tools/iso-tester.c:3714
    bluez#1 0x55d17f9737c9 in run_callback src/shared/tester.c:512
    bluez#2 0x7fab627fbb9a  (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x60b9a) (BuildId: 2426ee6f828a10bf4da963a4c474752c33742359)
    bluez#3 0x7fab627fd1d6  (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x621d6) (BuildId: 2426ee6f828a10bf4da963a4c474752c33742359)
    bluez#4 0x7fab627fd576 in g_main_loop_run (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x62576) (BuildId: 2426ee6f828a10bf4da963a4c474752c33742359)
    bluez#5 0x55d17f977c08 in mainloop_run src/shared/mainloop-glib.c:65
    bluez#6 0x55d17f97853a in mainloop_run_with_signal src/shared/mainloop-notify.c:196
    bluez#7 0x55d17f9766fb in tester_run src/shared/tester.c:1085
    #8 0x55d17f8a3951 in main tools/iso-tester.c:4402
    #9 0x7fab61f87600 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:59
    #10 0x7fab61f87717 in __libc_start_main_impl ../csu/libc-start.c:360
    #11 0x55d17f8a8ef4 in _start (/work/base/bluez/tools/iso-tester+0x16bef4) (BuildId: c55e00a4de821cd607408898c962c16c12e2322c)

Address 0x7bab5fd7f2e2 is located in stack of thread T0 at offset 34 in frame
    #0 0x55d17f8a8fcf in test_connect_close tools/iso-tester.c:3706

  This frame has 1 object(s):
    [32, 34) 'buf' (line 3710) <== Memory access at offset 34 overflows this variable
HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork
      (longjmp and C++ exceptions *are* supported)
SUMMARY: AddressSanitizer: stack-buffer-overflow tools/iso-tester.c:3714 in test_connect_close
No test result found
Use image from Github container registry, built via Github actions so
that it is easier to manage, without needing dockerhub or any other
additional secrets.

This image includes LLVM 23 prerelease from kernel.org.

NOTE: The image is currently built from my personal account,
https://github.com/pv/bluez-ci-image/pkgs/container/bluez-ci-image but
probably the repository should be copied in the organization and the
image name changed accordingly.
@pv

pv commented Jun 21, 2026

Copy link
Copy Markdown
Contributor Author

Replacing valgrind with ASAN works locally. Also updated the bluez-ci-image with the @hadess update to ubuntu 26.04.

@pv
pv marked this pull request as ready for review June 21, 2026 19:03
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.

1 participant