| Message ID | 20251231114718.4031606-1-adrian.freihofer@siemens.com |
|---|---|
| Headers | show |
| Series | IDE SDK Improvements | expand |
Hi Adrian,
I think I hit a different error on the Autobuilder with your series:
2026-01-12 21:40:10,012 - oe-selftest - INFO - FAIL: devtool.DevtoolIdeSdkTests.test_devtool_ide_sdk_code_cmake (subunit.RemotedTestCase)
2026-01-12 21:40:10,012 - oe-selftest - INFO - ----------------------------------------------------------------------
2026-01-12 21:40:10,012 - 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 3238, in test_devtool_ide_sdk_code_cmake
self._verify_launch_json_debugging(tempdir, qemu, recipe_name, example_exe)
File "/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/layers/openembedded-core/meta/lib/oeqa/selftest/cases/devtool.py", line 3107, 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 3204, in _verify_launch_config
r = runCmd(gdb_batch_cmd, output_log=self._cmd_logger)
File "/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/layers/openembedded-core/meta/lib/oeqa/utils/commands.py", line 214, in runCmd
raise AssertionError("Command '%s' returned non-zero exit status %d:\n%s" % (command, result.status, exc_output))
AssertionError: Command '/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-241514/tmp/work/aarch64-linux/gdb-cross-aarch64/16.3/recipe-sysroot-native/usr/bin/aarch64-poky-linux/aarch64-poky-linux-gdb --batch -ex 'set sysroot /srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-241514/tmp/work/cortexa57-poky-linux/cmake-example/1.0/image' -ex 'python import sys;sys.path.insert(0, '"'"'/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-241514/tmp/work/cortexa57-poky-linux/cmake-example/1.0/recipe-sysroot/usr/share/gcc-15.2.0/python'"'"');from libstdcxx.v6.printers import register_libstdcxx_printers;register_libstdcxx_printers(None)' -ex 'set substitute-path /usr/include /srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-241514/tmp/work/cortexa57-poky-linux/cmake-example/1.0/recipe-sysroot/usr/include' -ex 'set substitute-path /usr/src/debug/cmake-example/1.0 /tmp/devtoolqa5x_myf_r' -ex 'set substitute-path /usr/src/debug /srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-241514/tmp/work/qemuarm64-poky-linux/oe-selftest-image/1.0/rootfs-dbg/usr/src/debug' -ex 'set solib-search-path /srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-241514/tmp/work/qemuarm64-poky-linux/oe-selftest-image/1.0/rootfs-dbg/lib/.debug:/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-241514/tmp/work/qemuarm64-poky-linux/oe-selftest-image/1.0/rootfs-dbg/usr/lib/.debug:/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-241514/tmp/work/qemuarm64-poky-linux/oe-selftest-image/1.0/rootfs-dbg/usr/lib/debug:/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-241514/tmp/work/qemuarm64-poky-linux/oe-selftest-image/1.0/rootfs-dbg/lib:/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-241514/tmp/work/qemuarm64-poky-linux/oe-selftest-image/1.0/rootfs-dbg/usr/lib:/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-241514/tmp/work/qemuarm64-poky-linux/oe-selftest-image/1.0/rootfs/lib:/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-241514/tmp/work/qemuarm64-poky-linux/oe-selftest-image/1.0/rootfs/usr/lib' -ex 'file /srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-241514/tmp/work/cortexa57-poky-linux/cmake-example/1.0/image/usr/bin/cmake-example' -ex 'target remote 192.168.7.2:1234' -ex 'break main' -ex 'continue' -ex 'break CppExample::print_json()' -ex 'continue' -ex 'print CppExample::test_string.compare("cpp-example-lib Magic: 123456789")' -ex 'print CppExample::test_string.compare("cpp-example-lib Magic: 123456789aaa")' -ex 'list cpp-example-lib.hpp:14,14' -ex 'list cpp-example.cpp:55,55' -ex 'break cpp-example.cpp:55' -ex 'continue' -ex 'print numbers' -ex 'continue'' returned non-zero exit status 1:
_start () at ../sysdeps/aarch64/dl-start.S:23
23 ENTRY (_start)
Breakpoint 1 at 0xaaaaaaaa1400: file /usr/src/debug/cmake-example/1.0/cpp-example.cpp, line 15.
Breakpoint 1, main (argc=1, argv=0xfffffffffd08) at /usr/src/debug/cmake-example/1.0/cpp-example.cpp:15
15 {
Breakpoint 2 at 0xfffff7f91d70: file /usr/src/debug/cmake-example/1.0/cpp-example-lib.cpp, line 28.
Breakpoint 2, CppExample::print_json (this=0xfffffffffac8) at /usr/src/debug/cmake-example/1.0/cpp-example-lib.cpp:28
28 jobj = json_object_new_object();
$1 = 0
$2 = -3
14 inline static const std::string test_string = "cpp-example-lib Magic: 123456789";
55 std::vector<int> numbers = {1, 2, 3};
No compiled code for line 55 in file "cpp-example.cpp".
Make breakpoint pending on future shared library load? (y or [n]) [answered N; input not from terminal]
[Inferior 1 (process 333) exited normally]
A syntax error in expression, near the end of `numbers'.
The program is not being run.
It's also on an Arm host as Mathieu also noticed previously.
Can you have a look?
https://autobuilder.yoctoproject.org/valkyrie/#/builders/23/builds/3145
https://autobuilder.yoctoproject.org/valkyrie/api/v2/logs/4913998/raw_inline
Thanks,
Antonin
Hi Antonin My proposal for proceeding here is to drop one patch from my series: [OE-core] [PATCH v2 13/14] oe-selftest: devtool: add test for gdb pretty-printing This one get killed by patches which are currently on master-next too. This makes it almost impossible to fix at the moment. When things will settle down, I will test and send this one again. It is just one more test step which would be nice to have but not essential. It also fails only on a ARM host, which I cannot reproduce. All in all just too many floating parts for getting this to final state right now. Could we please proceed with 13 out of 14 patches from my series as a next step? Mathieu already hat such a branch for a while. Thank you. Adrian On Tue, 2026-01-13 at 09:17 +0100, Antonin Godard via lists.openembedded.org wrote: > Hi Adrian, > > I think I hit a different error on the Autobuilder with your series: > > 2026-01-12 21:40:10,012 - oe-selftest - INFO - FAIL: > devtool.DevtoolIdeSdkTests.test_devtool_ide_sdk_code_cmake > (subunit.RemotedTestCase) > 2026-01-12 21:40:10,012 - oe-selftest - INFO - ---------------------- > ------------------------------------------------ > 2026-01-12 21:40:10,012 - 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 3238, in > test_devtool_ide_sdk_code_cmake > self._verify_launch_json_debugging(tempdir, qemu, recipe_name, > example_exe) > File "/srv/pokybuild/yocto-worker/oe-selftest- > armhost/build/layers/openembedded- > core/meta/lib/oeqa/selftest/cases/devtool.py", line 3107, 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 3204, in > _verify_launch_config > r = runCmd(gdb_batch_cmd, output_log=self._cmd_logger) > File "/srv/pokybuild/yocto-worker/oe-selftest- > armhost/build/layers/openembedded- > core/meta/lib/oeqa/utils/commands.py", line 214, in runCmd > raise AssertionError("Command '%s' returned non-zero exit status > %d:\n%s" % (command, result.status, exc_output)) > AssertionError: Command '/srv/pokybuild/yocto-worker/oe-selftest- > armhost/build/build-st-241514/tmp/work/aarch64-linux/gdb-cross- > aarch64/16.3/recipe-sysroot-native/usr/bin/aarch64-poky- > linux/aarch64-poky-linux-gdb --batch -ex 'set sysroot > /srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st- > 241514/tmp/work/cortexa57-poky-linux/cmake-example/1.0/image' -ex > 'python import sys;sys.path.insert(0, '"'"'/srv/pokybuild/yocto- > worker/oe-selftest-armhost/build/build-st-241514/tmp/work/cortexa57- > poky-linux/cmake-example/1.0/recipe-sysroot/usr/share/gcc- > 15.2.0/python'"'"');from libstdcxx.v6.printers import > register_libstdcxx_printers;register_libstdcxx_printers(None)' -ex > 'set substitute-path /usr/include /srv/pokybuild/yocto-worker/oe- > selftest-armhost/build/build-st-241514/tmp/work/cortexa57-poky- > linux/cmake-example/1.0/recipe-sysroot/usr/include' -ex 'set > substitute-path /usr/src/debug/cmake-example/1.0 > /tmp/devtoolqa5x_myf_r' -ex 'set substitute-path /usr/src/debug > /srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st- > 241514/tmp/work/qemuarm64-poky-linux/oe-selftest-image/1.0/rootfs- > dbg/usr/src/debug' -ex 'set solib-search-path /srv/pokybuild/yocto- > worker/oe-selftest-armhost/build/build-st-241514/tmp/work/qemuarm64- > poky-linux/oe-selftest-image/1.0/rootfs- > dbg/lib/.debug:/srv/pokybuild/yocto-worker/oe-selftest- > armhost/build/build-st-241514/tmp/work/qemuarm64-poky-linux/oe- > selftest-image/1.0/rootfs-dbg/usr/lib/.debug:/srv/pokybuild/yocto- > worker/oe-selftest-armhost/build/build-st-241514/tmp/work/qemuarm64- > poky-linux/oe-selftest-image/1.0/rootfs- > dbg/usr/lib/debug:/srv/pokybuild/yocto-worker/oe-selftest- > armhost/build/build-st-241514/tmp/work/qemuarm64-poky-linux/oe- > selftest-image/1.0/rootfs-dbg/lib:/srv/pokybuild/yocto-worker/oe- > selftest-armhost/build/build-st-241514/tmp/work/qemuarm64-poky- > linux/oe-selftest-image/1.0/rootfs-dbg/usr/lib:/srv/pokybuild/yocto- > worker/oe-selftest-armhost/build/build-st-241514/tmp/work/qemuarm64- > poky-linux/oe-selftest-image/1.0/rootfs/lib:/srv/pokybuild/yocto- > worker/oe-selftest-armhost/build/build-st-241514/tmp/work/qemuarm64- > poky-linux/oe-selftest-image/1.0/rootfs/usr/lib' -ex 'file > /srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st- > 241514/tmp/work/cortexa57-poky-linux/cmake- > example/1.0/image/usr/bin/cmake-example' -ex 'target remote > 192.168.7.2:1234' -ex 'break main' -ex 'continue' -ex 'break > CppExample::print_json()' -ex 'continue' -ex 'print > CppExample::test_string.compare("cpp-example-lib Magic: 123456789")' > -ex 'print CppExample::test_string.compare("cpp-example-lib Magic: > 123456789aaa")' -ex 'list cpp-example-lib.hpp:14,14' -ex 'list cpp- > example.cpp:55,55' -ex 'break cpp-example.cpp:55' -ex 'continue' -ex > 'print numbers' -ex 'continue'' returned non-zero exit status 1: > _start () at ../sysdeps/aarch64/dl-start.S:23 > 23 ENTRY (_start) > Breakpoint 1 at 0xaaaaaaaa1400: file /usr/src/debug/cmake- > example/1.0/cpp-example.cpp, line 15. > > Breakpoint 1, main (argc=1, argv=0xfffffffffd08) at > /usr/src/debug/cmake-example/1.0/cpp-example.cpp:15 > 15 { > Breakpoint 2 at 0xfffff7f91d70: file /usr/src/debug/cmake- > example/1.0/cpp-example-lib.cpp, line 28. > > Breakpoint 2, CppExample::print_json (this=0xfffffffffac8) at > /usr/src/debug/cmake-example/1.0/cpp-example-lib.cpp:28 > 28 jobj = json_object_new_object(); > $1 = 0 > $2 = -3 > 14 inline static const std::string test_string = "cpp- > example-lib Magic: 123456789"; > 55 std::vector<int> numbers = {1, 2, 3}; > No compiled code for line 55 in file "cpp-example.cpp". > Make breakpoint pending on future shared library load? (y or [n]) > [answered N; input not from terminal] > [Inferior 1 (process 333) exited normally] > A syntax error in expression, near the end of `numbers'. > The program is not being run. > > It's also on an Arm host as Mathieu also noticed previously. > > Can you have a look? > > https://autobuilder.yoctoproject.org/valkyrie/#/builders/23/builds/3145 > https://autobuilder.yoctoproject.org/valkyrie/api/v2/logs/4913998/raw_inline > > Thanks, > Antonin > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#229231): > https://lists.openembedded.org/g/openembedded-core/message/229231 > Mute This Topic: https://lists.openembedded.org/mt/117010483/4454582 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: > https://lists.openembedded.org/g/openembedded-core/unsub [ > adrian.freihofer@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=-
Hi, On Wed Jan 14, 2026 at 7:37 PM CET, adrian.freihofer wrote: > Hi Antonin > > My proposal for proceeding here is to drop one patch from my series: > [OE-core] [PATCH v2 13/14] > oe-selftest: devtool: add test for gdb pretty-printing > > This one get killed by patches which are currently on master-next too. > This makes it almost impossible to fix at the moment. > When things will settle down, I will test and send this one again. > > It is just one more test step which would be nice to have but not > essential. > It also fails only on a ARM host, which I cannot reproduce. > > All in all just too many floating parts for getting this to final state > right now. > > Could we please proceed with 13 out of 14 patches from my series as a > next step? Mathieu already hat such a branch for a while. Sorry for messing up with what Mathieu had on his branch, probably a miss on my side as I've picked up his work. I picked your patches again, and while some oe-selftest runs did succeed, I hit this error, which seem related to your series: https://autobuilder.yoctoproject.org/valkyrie/api/v2/logs/4983396/raw_inline From this build: https://autobuilder.yoctoproject.org/valkyrie/#/builders/35/builds/3035 It was run with the following commits: https://git.yoctoproject.org/poky-ci-archive/log/?h=oecore/autobuilder.yoctoproject.org/valkyrie/a-full-3073 I don't recall hitting the issue before having your series in my branch, so to be sure I ran another build with only your series applied on master, and I still have the issue: https://autobuilder.yoctoproject.org/valkyrie/api/v2/logs/5038061/raw_inline Can you have a look? Antonin
On Tue, 2026-01-20 at 12:59 +0100, Antonin Godard wrote: > Hi, > > On Wed Jan 14, 2026 at 7:37 PM CET, adrian.freihofer wrote: > > Hi Antonin > > > > My proposal for proceeding here is to drop one patch from my > > series: > > [OE-core] [PATCH v2 13/14] > > oe-selftest: devtool: add test for gdb pretty-printing > > > > This one get killed by patches which are currently on master-next > > too. > > This makes it almost impossible to fix at the moment. > > When things will settle down, I will test and send this one again. > > > > It is just one more test step which would be nice to have but not > > essential. > > It also fails only on a ARM host, which I cannot reproduce. > > > > All in all just too many floating parts for getting this to final > > state > > right now. > > > > Could we please proceed with 13 out of 14 patches from my series as > > a > > next step? Mathieu already hat such a branch for a while. > > Sorry for messing up with what Mathieu had on his branch, probably a > miss on my > side as I've picked up his work. The situation was very confusing. > > I picked your patches again, and while some oe-selftest runs did > succeed, I hit > this error, which seem related to your series: > > https://autobuilder.yoctoproject.org/valkyrie/api/v2/logs/4983396/raw_inline > > From this build: > https://autobuilder.yoctoproject.org/valkyrie/#/builders/35/builds/3035 > > It was run with the following commits: > https://git.yoctoproject.org/poky-ci-archive/log/?h=oecore/autobuilder.yoctoproject.org/valkyrie/a-full-3073 > > I don't recall hitting the issue before having your series in my > branch, so to > be sure I ran another build with only your series applied on master, > and I still > have the issue: > https://autobuilder.yoctoproject.org/valkyrie/api/v2/logs/5038061/raw_inline > > Can you have a look? Yes, it seams that my patches can trigger this race issue. I sent a v3 with a fix. Thank you for the extra effort. It's very helpful. Adrian > > Antonin
From: Adrian Freihofer <adrian.freihofer@siemens.com> Changes in comparison to v1: - Try to fix https://autobuilder.yoctoproject.org/valkyrie/#/builders/23/builds/3070 The tests does remote debugging in Qemu. It sets a breakpoint on a line which is optimized out by the compiler. That's now fixed by setting the breakpoint on the next line, which is always there. So far this is understood and fixed. But what is not yet fully understood is: Why does it pass on x86 hosts but not on arm hosts? - Improve remote debugging - Added GDB pretty-printing for C++ STL types (e.g., std::vector) to improve visibility during debugging. - Evaluated DEBUG_PREFIX_MAP for accurate source mapping in debug sessions. - Introduced gdbserver attach mode for more flexible remote debugging. - Moved the code that starts GDB sessions on the remote target from wrapper scripts into VSCode JSON files. This simplifies customization and improves transparency. - Improve test coverage for ide-sdk features - Test the complete VSCode remote debugging workflow by reading VSCode JSON files. - Added example code using std::vector and tests for pretty-printing. - Extended the CMake and Meson examples with a service and added test coverage for the new GDB attach mode. - Added debug logging in DevtoolIdeSdkTests to aid troubleshooting. - Fixes - Located and integrated bitbake-setup init-build-env for consistent environments. - Misc - Added a compile step in ide-sdk tests to ensure builds are up to date. This is required when bitbake supports running do_install without dependent tasks. Adrian Freihofer (14): devtool: ide-sdk find bitbake-setup init-build-env oe-selftest: devtool: DevtoolIdeSdkTests debug logging cpp-example: run as a service oe-selftest: devtool: check example services are running devtool: ide-sdk: add gdbserver attach mode support devtool: ide-sdk: move code to ide_none devtool: ide-sdk: make install_and_deploy script pass target arg devtool: ide-sdk: vscode replace scripts oe-selftest: devtool ide-sdk cover vscode remote debugging devtool: ide-sdk: evaluate DEBUG_PREFIX_MAP cpp-example: Add std::vector example devtool: ide-sdk: Support GDB pretty-printing for C++ STL types oe-selftest: devtool: add test for gdb pretty-printing oe-selftest: devtool: add compile step in ide-sdk tests .../recipes-test/cpp/cpp-example.inc | 52 +- .../recipes-test/cpp/files/CMakeLists.txt | 14 +- .../recipes-test/cpp/files/config.h.in | 10 + .../cpp/files/cpp-example-lib.cpp | 29 + .../cpp/files/cpp-example-lib.hpp | 3 + .../recipes-test/cpp/files/cpp-example.conf | 3 + .../recipes-test/cpp/files/cpp-example.cpp | 46 +- .../recipes-test/cpp/files/cpp-example.init | 84 +++ .../cpp/files/cpp-example.service | 12 + .../recipes-test/cpp/files/meson.build | 18 +- .../cpp/files/test-cpp-example.cpp | 2 + .../recipes-test/cpp/meson-example.bb | 2 + meta/lib/oeqa/selftest/cases/devtool.py | 539 +++++++++++++++--- scripts/lib/devtool/ide_plugins/__init__.py | 231 ++++---- scripts/lib/devtool/ide_plugins/ide_code.py | 159 ++++-- scripts/lib/devtool/ide_plugins/ide_none.py | 140 ++++- scripts/lib/devtool/ide_sdk.py | 285 ++++++++- scripts/lib/devtool/standard.py | 7 +- 18 files changed, 1369 insertions(+), 267 deletions(-) create mode 100644 meta-selftest/recipes-test/cpp/files/config.h.in create mode 100644 meta-selftest/recipes-test/cpp/files/cpp-example.conf create mode 100644 meta-selftest/recipes-test/cpp/files/cpp-example.init create mode 100644 meta-selftest/recipes-test/cpp/files/cpp-example.service