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]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to