On Sun Aug 16, 2026 at 9:40 PM CEST, Adrian Freihofer via
lists.openembedded.org wrote:
> From: Adrian Freihofer <[email protected]>
>
> This series improves devtool ide-sdk's remote-debugging workflow, focusing
> on GDB's attach mode, and cleans up the corresponding selftests.
>
> - Attach-mode debugging
> The old ATTACH mode started gdbserver with "--attach :<port> $(pidof
> <binary>)" under a plain cppdbg "launch" request - the classic attach
> setup, which is fragile and hits several long-standing, unfixed
> cpptools bugs (e.g. microsoft/vscode-cpptools#4166).
> Switch to attaching over the extended-remote protocol instead, merging
> ATTACH into the same persistent "gdbserver --multi" server already used
> for MULTI mode.
>
> Until microsoft/vscode-cpptools#14684 is merged, this has one downside
> (one reason extended-remote attach wasn't used before): the user is
> prompted to pick the process to attach to instead of it being selected
> automatically. This is temporary, and the new setup is otherwise more
> robust.
>
> - Selftest cleanup
> - Progressively move the ide-sdk and deploy selftests from raw
> SSH/process-list probing over to the QEMU target command API
> - Replace fixed-delay/process-probe waits with proper readiness-marker
> waits
> - Add attach-mode debug workflow verification with an explicit,
> documented execution order to avoid Build-ID mismatches from
> once/deploy side effects.
> - Adds parallel test classes per toolchain/build-system (gcc/clang,
> cmake/meson).
>
> - Other fixes
> - devtool deploy-target: avoid spurious tar "timestamp in the future"
> warnings when the target clock lags the host.
> - devtool ide-sdk: fix meson IntelliSense for the gcc toolchain
> - cpp-example/ccp-example test fixture robustness fixes for compiler
> optimization and PID file handling.
> - devtool ide-sdk: default to all modified recipes when none is given
> explicitly.
>
Hi Adrian,
Thanks for your patches.
It looks like this is breaking the test_devtool_ide_sdk_code_cmake and
test_devtool_ide_sdk_code_meson tests:
2026-08-17 18:52:37,603 - oe-selftest - INFO -
devtool.DevtoolIdeSdkGccTests.test_devtool_ide_sdk_code_cmake
(subunit.RemotedTestCase)
2026-08-17 18:52:37,604 - oe-selftest - INFO - ... FAIL
...
2026-08-17 18:52:37,604 - oe-selftest - INFO - 12: 2/73 132/766 (599.78s) (0
failed) (devtool.DevtoolIdeSdkGccTests.test_devtool_ide_sdk_code_cmake)
2026-08-17 18:52:37,604 - oe-selftest - INFO -
testtools.testresult.real._StringException: Traceback (most recent call last):
File
"/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/layers/openembedded-core/meta/lib/oeqa/selftest/cases/devtool.py",
line 3752, in test_devtool_ide_sdk_code_cmake
self._verify_launch_json_debugging(tempdir, qemu, example_exe)
File
"/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/layers/openembedded-core/meta/lib/oeqa/selftest/cases/devtool.py",
line 3537, in _verify_launch_json_debugging
self._verify_launch_config(tempdir, config, tasks, qemu, example_exe,
File
"/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/layers/openembedded-core/meta/lib/oeqa/selftest/cases/devtool.py",
line 3695, in _verify_launch_config
self.assertTrue(
File "/usr/lib/python3.12/unittest/case.py", line 727, in assertTrue
raise self.failureException(msg)
AssertionError: False is not true : gdbserver did not report readiness on port
1234
...
2026-08-17 19:01:08,838 - oe-selftest - INFO -
devtool.DevtoolIdeSdkGccTests.test_devtool_ide_sdk_code_meson
(subunit.RemotedTestCase)
2026-08-17 19:01:08,838 - oe-selftest - INFO - ... FAIL
...
2026-08-17 19:01:08,840 - oe-selftest - INFO - 12: 3/73 263/766 (511.24s) (2
failed) (devtool.DevtoolIdeSdkGccTests.test_devtool_ide_sdk_code_meson)
2026-08-17 19:01:08,840 - oe-selftest - INFO -
testtools.testresult.real._StringException: Traceback (most recent call last):
File
"/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/layers/openembedded-core/meta/lib/oeqa/selftest/cases/devtool.py",
line 3809, in test_devtool_ide_sdk_code_meson
self._verify_launch_json_debugging(tempdir, qemu, example_exe)
File
"/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/layers/openembedded-core/meta/lib/oeqa/selftest/cases/devtool.py",
line 3537, in _verify_launch_json_debugging
self._verify_launch_config(tempdir, config, tasks, qemu, example_exe,
File
"/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/layers/openembedded-core/meta/lib/oeqa/selftest/cases/devtool.py",
line 3695, in _verify_launch_config
self.assertTrue(
File "/usr/lib/python3.12/unittest/case.py", line 727, in assertTrue
raise self.failureException(msg)
AssertionError: False is not true : gdbserver did not report readiness on port
1234
https://autobuilder.yoctoproject.org/valkyrie/#/builders/23/builds/4632
https://autobuilder.yoctoproject.org/valkyrie/#/builders/35/builds/4581
https://autobuilder.yoctoproject.org/valkyrie/#/builders/48/builds/4401
Can you have a look at the issue?
Thanks,
Mathieu
--
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#243650):
https://lists.openembedded.org/g/openembedded-core/message/243650
Mute This Topic: https://lists.openembedded.org/mt/120780727/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-