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.

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(-)

-- 
2.33.1


Reply via email to