kodi 18.2 fails to build

  • Done
  • quality assurance status badge
Details
5 participants
  • Amirouche
  • Josh Holland
  • Maxim Cournoyer
  • Marius Bakke
  • Ricardo Wurmus
Owner
unassigned
Submitted by
Josh Holland
Severity
normal
J
J
Josh Holland wrote on 15 Jul 2019 21:21
(name . bug-guix)(address . bug-guix@gnu.org)
87wogj3xzo.fsf@inv.alid.pw
Steps to reproduce:
$ guix build kodi

Expected result:
kodi builds successfully

Actual result:
test suite fails, with the below error message

------------8<--------------------

Start 438: TestMassEvent.General
438/521 Test #438: TestMassEvent.General ....................................................Child aborted***Exception: 0.82 sec
Note: Google Test filter = TestMassEvent.General
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from TestMassEvent
[ RUN ] TestMassEvent.General
[ OK ] TestMassEvent.General (105 ms)
[----------] 1 test from TestMassEvent (105 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (142 ms total)
[ PASSED ] 1 test.
kodi-test: ../nptl/pthread_mutex_lock.c:434: __pthread_mutex_lock_full: Assertion `robust || (oldval & FUTEX_OWNER_DIED) == 0' failed.

Start 439: TestMassEvent.Polling
439/521 Test #439: TestMassEvent.Polling ....................................................Child aborted***Exception: 0.79 sec
Note: Google Test filter = TestMassEvent.Polling
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from TestMassEvent
[ RUN ] TestMassEvent.Polling
[ OK ] TestMassEvent.Polling (133 ms)
[----------] 1 test from TestMassEvent (133 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (276 ms total)
[ PASSED ] 1 test.
Clean shutdown of TestGlobalPattern1
kodi-test: ../nptl/pthread_mutex_lock.c:434: __pthread_mutex_lock_full: Assertion `robust || (oldval & FUTEX_OWNER_DIED) == 0' failed.

----------8<----------------------

--
Josh Holland
J
J
Josh Holland wrote on 15 Jul 2019 23:38
Re: bug#36675: Acknowledgement (kodi 18.2 fails to build)
(address . 36675@debbugs.gnu.org)
878ssz0yhi.fsf@inv.alid.pw
I tried again just now, and:
successfully built /gnu/store/pmq2jv9j9snmyzbdngmklghn9bpzrxig-kodi-18.2.drv
/gnu/store/qzc0j7v4b4ylgqrk5n8h2dj5q5bp8qbf-kodi-18.2

It's definitely failed before a bunch of times when I've tried to do
`guix upgrade`, so not sure what to make of it really.

--
Josh Holland
A
A
Amirouche wrote on 16 Jul 2019 00:38
(no subject)
(address . 36675@debbugs.gnu.org)
b9cb2871053f51da471109834027ba98@hyper.dev
I just built it using 8 core cpu without any issues.

Maybe dmesg has useful information regarding the test failure?
J
J
Josh Holland wrote on 30 Jul 2019 11:57
Same build failure with kodi 18.3
(address . 36675@debbugs.gnu.org)
87ftmnsv46.fsf@inv.alid.pw
Hi,

I just had the same error with Kodi 18.3
(z1zswg7wfz4lb6zmyzsns2hpkbw5scir-kodi-18.3.drv), although only with the
TestMassEvent.General test; .Polling passed fine. This kind of makes
sense with it being some sort of race condition on the mutex(?).

----------8<--------------
438/521 Test #438: TestMassEvent.General ....................................................Child aborted***Exception: 1.62 sec
Note: Google Test filter = TestMassEvent.General
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from TestMassEvent
[ RUN ] TestMassEvent.General
[ OK ] TestMassEvent.General (107 ms)
[----------] 1 test from TestMassEvent (107 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (162 ms total)
[ PASSED ] 1 test.
Clean shutdown of TestGlobalPattern1
kodi-test: ../nptl/pthread_mutex_lock.c:434: __pthread_mutex_lock_full: Assertion `robust || (oldval & FUTEX_OWNER_DIED) == 0' failed.

Start 439: TestMassEvent.Polling
439/521 Test #439: TestMassEvent.Polling .................................................... Passed 0.23 sec
----------8<--------------

I had a look in dmesg as suggested by Amirouche, and this appears to be
the only relevant line:

----------8<--------------
[ 1540.045259] audit: type=1701 audit(1564480138.686:163): auid=4294967295 uid=977 gid=977 ses=4294967295 pid=11783 comm="DumbThread" exe="/tmp/guix-build-kodi-18.3.drv-0/build/kodi-test" sig=6 res=1
----------8<--------------


--
Josh Holland
J
J
Josh Holland wrote on 30 Jul 2019 12:20
(address . 36675@debbugs.gnu.org)
87ef27su17.fsf@inv.alid.pw
...and just to confirm that this is some annoyingly unreproducible race
condition, the very next try to build that same z1zswg derivation
completed fine.


--
Josh Holland
R
R
Ricardo Wurmus wrote on 30 Jul 2019 16:15
Re: bug#36675: Same build failure with kodi 18.3
(address . josh@inv.alid.pw)(address . 36675@debbugs.gnu.org)
87r2676231.fsf@elephly.net
Josh Holland <josh@inv.alid.pw> writes:

Toggle quote (4 lines)
> ...and just to confirm that this is some annoyingly unreproducible race
> condition, the very next try to build that same z1zswg derivation
> completed fine.

In this case I think it would be fine to disable this test and add a
comment that explains why.

--
Ricardo
J
J
Josh Holland wrote on 3 Dec 2019 14:52
[PATCH] gnu: kodi: Disable intermittently failing test.
(address . 36675@debbugs.gnu.org)(name . Josh Holland)(address . josh@inv.alid.pw)
20191203135214.1871840-1-josh@inv.alid.pw
As reported in https://issues.guix.gnu.org/issue/36675, occasionally the
TestMassEvent.General test in kodi crashes with a mutex error.

* gnu/packages/patches/kodi-skip-testmasseventgeneral.patch: New file.
* gnu/packages/kodi.scm (kodi)[source]: Use it.
* gnu/local.mk: (dist_patch_DATA): Add it.
---
I have tested building the kodi-wayland package with this patch, and
it successfully builds and the tests pass.

gnu/local.mk | 1 +
gnu/packages/kodi.scm | 3 +-
.../kodi-skip-testmasseventgeneral.patch | 59 +++++++++++++++++++
3 files changed, 62 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/patches/kodi-skip-testmasseventgeneral.patch

Toggle diff (91 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index e2d922373e..4fc690c785 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1036,6 +1036,7 @@ dist_patch_DATA = \
%D%/packages/patches/kodi-increase-test-timeout.patch \
%D%/packages/patches/kodi-set-libcurl-ssl-parameters.patch \
%D%/packages/patches/kodi-skip-test-449.patch \
+ %D%/packages/patches/kodi-skip-testmasseventgeneral.patch \
%D%/packages/patches/laby-make-install.patch \
%D%/packages/patches/lcalc-default-parameters-1.patch \
%D%/packages/patches/lcalc-default-parameters-2.patch \
diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm
index 59ea11f812..04d879bd17 100644
--- a/gnu/packages/kodi.scm
+++ b/gnu/packages/kodi.scm
@@ -281,7 +281,8 @@ alternatives. In compilers, this can reduce the cascade of secondary errors.")
"1m0295czxabdcqyqf5m94av9d88pzhnzjvyfs1q07xqq82h313p7"))
(patches (search-patches "kodi-skip-test-449.patch"
"kodi-increase-test-timeout.patch"
- "kodi-set-libcurl-ssl-parameters.patch"))
+ "kodi-set-libcurl-ssl-parameters.patch"
+ "kodi-skip-testmasseventgeneral.patch"))
(snippet
'(begin
(use-modules (guix build utils))
diff --git a/gnu/packages/patches/kodi-skip-testmasseventgeneral.patch b/gnu/packages/patches/kodi-skip-testmasseventgeneral.patch
new file mode 100644
index 0000000000..89fe60b598
--- /dev/null
+++ b/gnu/packages/patches/kodi-skip-testmasseventgeneral.patch
@@ -0,0 +1,59 @@
+This test has been intermittently failing since version 18.2 (see Guix
+bug 36675).
+
+438/521 Test #438: TestMassEvent.General ....................................................Child aborted***Exception: 0.82 sec
+Note: Google Test filter = TestMassEvent.General
+[==========] Running 1 test from 1 test case.
+[----------] Global test environment set-up.
+[----------] 1 test from TestMassEvent
+[ RUN ] TestMassEvent.General
+[ OK ] TestMassEvent.General (105 ms)
+[----------] 1 test from TestMassEvent (105 ms total)
+
+[----------] Global test environment tear-down
+[==========] 1 test from 1 test case ran. (142 ms total)
+[ PASSED ] 1 test.
+kodi-test: ../nptl/pthread_mutex_lock.c:434: __pthread_mutex_lock_full: Assertion `robust || (oldval & FUTEX_OWNER_DIED) == 0' failed.
+
+---
+ xbmc/threads/test/TestEvent.cpp | 19 +++++++++----------
+ 1 file changed, 9 insertions(+), 10 deletions(-)
+
+diff --git a/xbmc/threads/test/TestEvent.cpp b/xbmc/threads/test/TestEvent.cpp
+index 40e644c0ed..8fe329caa4 100644
+--- a/xbmc/threads/test/TestEvent.cpp
++++ b/xbmc/threads/test/TestEvent.cpp
+@@ -592,17 +592,17 @@ template <class W> void RunMassEventTest(std::vector<std::shared_ptr<W>>& m, boo
+ }
+
+
+-TEST(TestMassEvent, General)
+-{
+- g_event = new CEvent();
++// TEST(TestMassEvent, General)
++// {
++// g_event = new CEvent();
+
+- std::vector<std::shared_ptr<mass_waiter>> m(NUMTHREADS);
+- for(size_t i=0; i<NUMTHREADS; i++)
+- m[i].reset(new mass_waiter());
++// std::vector<std::shared_ptr<mass_waiter>> m(NUMTHREADS);
++// for(size_t i=0; i<NUMTHREADS; i++)
++// m[i].reset(new mass_waiter());
+
+- RunMassEventTest(m,true);
+- delete g_event;
+-}
++// RunMassEventTest(m,true);
++// delete g_event;
++// }
+
+ TEST(TestMassEvent, Polling)
+ {
+@@ -615,4 +615,3 @@ TEST(TestMassEvent, Polling)
+ RunMassEventTest(m,false);
+ delete g_event;
+ }
+-
+--
+2.24.0
--
2.24.0
M
M
Marius Bakke wrote on 21 Mar 2020 21:28
(name . Josh Holland)(address . josh@inv.alid.pw)
8736a15u78.fsf@devup.no
Hi Josh,

Josh Holland <josh@inv.alid.pw> writes:

Toggle quote (3 lines)
> As reported in https://issues.guix.gnu.org/issue/36675, occasionally the
> TestMassEvent.General test in kodi crashes with a mutex error.

This patch feel through the cracks, sorry about that. Can you rebase it
on the current master branch?

TIA, and apologies for the inconvenience.
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAl52eNsACgkQoqBt8qM6
VPp9gggAuTPydQ3ujqHC2otjsDyWFUvQRBqpWT9ciL6nrRia3OCT04aB4vLod3yF
f6Pcr7QGBMUG9RWyjVH6ldSTAfNx4RyLNowXlMYfc7dR7oVLbCmdehVro2IIw6XF
lOYceGxy61o3p3ER519Vr7WLlcVbQL38Jlzk8Ol4HWurXOKPG+W92iM8LwJtix63
wYOTQt5T+XYoWXgxZkIECRkvDhmpAeCHC3P5XrtzvcdnDF5AiKP69JiGPhV6f3g+
EwtOW15f38QnZb+6VoadPyQPFfC2WGpu3fxnPUeUbnQeAV5/8YYVvj1UKc89fC3D
Jlc2U4G90EwEMjw4XAJLFYMVREq1ZQ==
=3pTN
-----END PGP SIGNATURE-----

M
M
Maxim Cournoyer wrote on 11 Jan 2021 14:36
Re: bug#36675: kodi 18.2 fails to build
(name . Josh Holland)(address . josh@inv.alid.pw)(address . 36675-done@debbugs.gnu.org)
87h7nnoasl.fsf_-_@gmail.com
Hi Josh,

Josh Holland <josh@inv.alid.pw> writes:

Toggle quote (7 lines)
> I tried again just now, and:
> successfully built /gnu/store/pmq2jv9j9snmyzbdngmklghn9bpzrxig-kodi-18.2.drv
> /gnu/store/qzc0j7v4b4ylgqrk5n8h2dj5q5bp8qbf-kodi-18.2
>
> It's definitely failed before a bunch of times when I've tried to do
> `guix upgrade`, so not sure what to make of it really.

Kodi has since been updated to 18.8 (thanks to Timotej!), and there are
substitutes available for it, so I reckon it builds!

Thank you for the report.

Closing,

Maxim
Closed
?