1 |
As part of transitioning to using Clang as my system compiler, I have been running tests on most |
2 |
packages to determine if they still properly function. However, this has introduced a problem where |
3 |
some KDE package tests segfault. |
4 |
Unfortunately, this launches DrKonqi in the virtx display to display a backtrace. |
5 |
|
6 |
This results in the test phase hanging as DrKonqi is presumably waiting for user input. |
7 |
See below for an instance of a test phase hanging as seen through `top -b -c -n 1 -u portage`: |
8 |
|
9 |
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND |
10 |
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 |
11 |
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 |
12 |
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 |
13 |
3441908 portage 30 10 150436 59128 44836 S 0.0 0.1 0:00.03 /usr/bin/Xvfb :16 -screen 0 1280x1024x24 +extension RANDR |
14 |
3441936 portage 30 10 55000 15512 13416 S 0.0 0.0 0:00.02 ctest -j 16 --test-load 999 |
15 |
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 |
16 |
3442262 portage 30 10 9176 2336 1600 S 0.0 0.0 0:00.00 dbus-launch --autolaunch 8d4328e526b647a5a2e029d1e0814ba6 --binary-syntax --close-stderr |
17 |
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 |
18 |
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 |
19 |
___ |
20 |
|
21 |
As far as I can tell, without sending SIGKILL to the test being traced (addtoarchivetest in this instance), the test phase never exits. |
22 |
|
23 |
KDE provides a variable, KDE_DEBUG [1], which when set disables the DrKonqi crash handler. |
24 |
Using this results in the tests segfaulting and the test phase simply failing, rather than hanging. |
25 |
|
26 |
Most of the crashing tests are a result of kde-frameworks/kjs being built with Clang. |
27 |
I have opened a bug report about this on bugs.kde.org [2]. |
28 |
|
29 |
Hopefully this is an acceptable solution. I have submitted a corresponding GitHub PR [3]. |
30 |
Cheers |
31 |
|
32 |
[1]: https://userbase.kde.org/KDE_System_Administration/Environment_Variables#KDE_DEBUG |
33 |
[2]: https://bugs.kde.org/show_bug.cgi?id=444003#c5 |
34 |
[3]: https://github.com/gentoo/gentoo/pull/22643 |
35 |
|
36 |
James Beddek (1): |
37 |
ecm.eclass: set KDE_DEBUG=1 for ecm_src_test |
38 |
|
39 |
eclass/ecm.eclass | 3 ++- |
40 |
1 file changed, 2 insertions(+), 1 deletion(-) |
41 |
|
42 |
-- |
43 |
2.33.1 |