• Re: [gentoo-dev] [PATCH 0/1] ecm.eclass: set KDE_DEBUG=1 for ecm_src_te

    From James Beddek@21:1/5 to All on Wed Oct 20 22:42:05 2021
    On Wednesday, 20 October 2021 10:34:47 PM NZDT Alexey Sokolov wrote:
    20.10.2021 09:40, James Beddek пишет:
    As part of transitioning to using Clang as my system compiler, I have been running tests on most packages to determine if they still properly function. However, this has introduced a problem where some KDE package tests segfault.
    Unfortunately, this launches DrKonqi in the virtx display to display a backtrace.

    This results in the test phase hanging as DrKonqi is presumably waiting
    for user input.>
    See below for an instance of a test phase hanging as seen through `top -b
    -c -n 1 -u portage`:
    PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+
    COMMAND

    3441869 portage 30 10 2360 1560 1400 S 0.0 0.0 0:00.00 [kde-apps/ark-21.08.2] sandbox /usr/lib/portage/python3.9/ebuild.sh test 3441870 portage 30 10 12896 7688 3592 S 0.0 0.0 0:00.01 /bin/bash /usr/lib/portage/python3.9/ebuild.sh test 3441886 portage 30 10 13036 6296 2064 S 0.0 0.0 0:00.01 /bin/bash /usr/lib/portage/python3.9/ebuild.sh test 3441908 portage 30 10
    150436 59128 44836 S 0.0 0.1 0:00.03 /usr/bin/Xvfb :16 -screen 0 1280x1024x24 +extension RANDR 3441936 portage 30 10 55000 15512 13416 S 0.0 0.0 0:00.02 ctest -j 16 --test-load 999 3441938 portage
    30 10 487364 58044 46480 T 0.0 0.1 0:00.20 /var/tmp/portage/kde-apps/ark-21.08.2/work/ark-21.08.2_build/bin/addtoarc hivetest 3442262 portage 30 10 9176 2336 1600 S 0.0 0.0 0:00.00 dbus-launch --autolaunch 8d4328e526b647a5a2e029d1e0814ba6 --binary-syntax --close-stderr 3442279 portage 30 10 9460 4180 3408 S 0.0 0.0 0:00.00 /usr/bin/dbus-daemon --syslog-only --fork --print-pid 5 --print-address 7 --session 3444712 portage 30 10
    350068 94032 78820 S 0.0 0.1 0:00.15 /usr/lib64/libexec/drkonqi --platform xcb --display :16 --appname addtoarchivetest ___

    As far as I can tell, without sending SIGKILL to the test being traced (addtoarchivetest in this instance), the test phase never exits.

    KDE provides a variable, KDE_DEBUG [1], which when set disables the
    DrKonqi crash handler. Using this results in the tests segfaulting and
    the test phase simply failing, rather than hanging.
    Do crashes of other (non-ecm) tests trigger DrKonqi too? What's the
    reason to add this variable only to ecm.eclass?


    As far as I can tell only packages that use ecm.eclass trigger DrKonqi upon a test segfault. However, this may just be to me not experiencing crashes in other test suites. To the best of my knowledge it's purely the KDE/ecm packages.

    Cheers

    Most of the crashing tests are a result of kde-frameworks/kjs being built with Clang. I have opened a bug report about this on bugs.kde.org [2].

    Hopefully this is an acceptable solution. I have submitted a corresponding GitHub PR [3]. Cheers

    [1]: https://userbase.kde.org/KDE_System_Administration/Environment_Variables# KDE_DEBUG [2]: https://bugs.kde.org/show_bug.cgi?id=444003#c5
    [3]: https://github.com/gentoo/gentoo/pull/22643

    James Beddek (1):
    ecm.eclass: set KDE_DEBUG=1 for ecm_src_test

    eclass/ecm.eclass | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)


    -----BEGIN PGP SIGNATURE-----

    iQIzBAABCAAdFiEE6TiHvKPfjLbCYrJRC091Pag9upAFAmFv5G0ACgkQC091Pag9 upABEg/+NKNyyYYRNJ+sBowMOTHFdk0yPtVOqd/wPF+bL8tHiV4rB7rqW3fjGjgI FDS0fyZ4NhUtzdoHvhI8Tu7fz7ivQ0dMnOhvn3wx+gY5ZpWSyyH69ZSfogan/Ngi 2DWynXOX3lEDAXf8wuPnBhPSNiDgjSXJj82Ibi/KJWi+aAqyk6aIfXEESjQPrx5W v8BV3/e1B7xhCMKz4Ct3TGECVngIpGpyWB2ZJnp/oogEAiS4v2X5W3eacEtZHtaR MTB1Xt7DnJV6UeEMNMAeFVZALNyMpDYyyE9vVuoWMGkApUqlMy2oV0hqK6wNol8S yGxP6DzOJW35WZzfKoyTcNlNEXLwj2do+ccyYNQJphPp3WOtYE9RFF9OS9qqi2Tc lMWgfCfNxgoOSVd7zXFkjih8BpwSCNFg4eEnjHW7gmIlU16CqU/GZXO9F6L/Wi8f sOXYWA1matHy5u1nW7aUUHGHGL1dUU41KPMK1nD1X12ekjC1ai6F2BI/8kaEBU98 DMW+2+BlMAulGdzpY7Cgf1R2OqWfJkJH70+ytF/Z/SgLgxXoyQgETjKHeAQ/5AR1 l3ATUmaQdYqIA1pFcnUv7w8nhytJ1g09fwc7XmLgYoK6biERt68gOX1vyNn7xCxW FnWVQLv7oNqAWoOpw5f+LAP3D9GBVlQOYpyI3JGFCyDICdxjq9c=
    =1WnR
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Alexey Sokolov@21:1/5 to All on Wed Oct 20 11:40:02 2021
    20.10.2021 09:40, James Beddek пишет:
    As part of transitioning to using Clang as my system compiler, I have been running tests on most
    packages to determine if they still properly function. However, this has introduced a problem where
    some KDE package tests segfault.
    Unfortunately, this launches DrKonqi in the virtx display to display a backtrace.

    This results in the test phase hanging as DrKonqi is presumably waiting for user input.
    See below for an instance of a test phase hanging as seen through `top -b -c -n 1 -u portage`:

    PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
    3441869 portage 30 10 2360 1560 1400 S 0.0 0.0 0:00.00 [kde-apps/ark-21.08.2] sandbox /usr/lib/portage/python3.9/ebuild.sh test
    3441870 portage 30 10 12896 7688 3592 S 0.0 0.0 0:00.01 /bin/bash /usr/lib/portage/python3.9/ebuild.sh test
    3441886 portage 30 10 13036 6296 2064 S 0.0 0.0 0:00.01 /bin/bash /usr/lib/portage/python3.9/ebuild.sh test
    3441908 portage 30 10 150436 59128 44836 S 0.0 0.1 0:00.03 /usr/bin/Xvfb :16 -screen 0 1280x1024x24 +extension RANDR
    3441936 portage 30 10 55000 15512 13416 S 0.0 0.0 0:00.02 ctest -j 16 --test-load 999
    3441938 portage 30 10 487364 58044 46480 T 0.0 0.1 0:00.20 /var/tmp/portage/kde-apps/ark-21.08.2/work/ark-21.08.2_build/bin/addtoarchivetest
    3442262 portage 30 10 9176 2336 1600 S 0.0 0.0 0:00.00 dbus-launch --autolaunch 8d4328e526b647a5a2e029d1e0814ba6 --binary-syntax --close-stderr
    3442279 portage 30 10 9460 4180 3408 S 0.0 0.0 0:00.00 /usr/bin/dbus-daemon --syslog-only --fork --print-pid 5 --print-address 7 --session
    3444712 portage 30 10 350068 94032 78820 S 0.0 0.1 0:00.15 /usr/lib64/libexec/drkonqi --platform xcb --display :16 --appname addtoarchivetest
    ___

    As far as I can tell, without sending SIGKILL to the test being traced (addtoarchivetest in this instance), the test phase never exits.

    KDE provides a variable, KDE_DEBUG [1], which when set disables the DrKonqi crash handler.
    Using this results in the tests segfaulting and the test phase simply failing, rather than hanging.

    Do crashes of other (non-ecm) tests trigger DrKonqi too? What's the
    reason to add this variable only to ecm.eclass?


    Most of the crashing tests are a result of kde-frameworks/kjs being built with Clang.
    I have opened a bug report about this on bugs.kde.org [2].

    Hopefully this is an acceptable solution. I have submitted a corresponding GitHub PR [3].
    Cheers

    [1]: https://userbase.kde.org/KDE_System_Administration/Environment_Variables#KDE_DEBUG
    [2]: https://bugs.kde.org/show_bug.cgi?id=444003#c5
    [3]: https://github.com/gentoo/gentoo/pull/22643

    James Beddek (1):
    ecm.eclass: set KDE_DEBUG=1 for ecm_src_test

    eclass/ecm.eclass | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)



    --
    Best regards,
    Alexey "DarthGandalf" Sokolov

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)