[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Greenisland & SDDM
From: |
Ludovic Courtès |
Subject: |
Greenisland & SDDM |
Date: |
Sun, 02 Apr 2017 23:20:31 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) |
Hi!
Marius Bakke <address@hidden> skribis:
> One "greenisland" test is segfaulting. This package is needed for the
> "sddm" display manager, so I don't think we should merge until that is
> sorted. I'm looking into it now, but struggling to produce useful
> debugging information.
I’ve looked a bit and this seems to be a case of double-free:
--8<---------------cut here---------------start------------->8---
$ valgrind
/tmp/guix-build-greenisland-0.9.0.1.drv-0/build/tests/auto/client/tst_client_registry
==16114== Memcheck, a memory error detector
==16114== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
==16114== Using Valgrind-3.12.0 and LibVEX; rerun with -h for copyright info
==16114== Command:
/tmp/guix-build-greenisland-0.9.0.1.drv-0/build/tests/auto/client/tst_client_registry
==16114==
QML debugging is enabled. Only use this in a safe environment.
********* Start testing of TestRegistry *********
Config: Using QtTest library 5.7.1, Qt 5.7.1 (x86_64-little_endian-lp64 shared
(dynamic) release build; by GCC 5.4.0)
PASS : TestRegistry::initTestCase()
==16114== Invalid read of size 4
==16114== at 0x9E71A94: pthread_mutex_lock (in
/gnu/store/rmjlycdgiq8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread-2.25.so)
==16114== by 0x5556E9F: wl_proxy_destroy (in
/gnu/store/syzisi3ib6q406nrxpb4723fhm2cmyml-wayland-1.13.0/lib/libwayland-client.so.0.3.0)
==16114== by 0x509A42F: wl_registry_destroy
(wayland-wayland-client-protocol.h:1065)
==16114== by 0x509A42F:
GreenIsland::Client::RegistryPrivate::~RegistryPrivate() (registry.cpp:121)
==16114== by 0x509A488:
GreenIsland::Client::RegistryPrivate::~RegistryPrivate() (registry.cpp:124)
==16114== by 0x7C1336B: QObject::~QObject() (in
/gnu/store/ihjf81is9xh4virnj9k5v87zv3z0idj8-qtbase-5.7.1/lib/libQt5Core.so.5.7.1)
==16114== by 0x404D30: ~Registry (registry.h:54)
==16114== by 0x404D30: testSetup (tst_registry.cpp:108)
==16114== by 0x404D30: TestRegistry::qt_static_metacall(QObject*,
QMetaObject::Call, int, void**) [clone .part.23] (tst_registry.moc:96)
==16114== by 0x7BED4F9: QMetaMethod::invoke(QObject*, Qt::ConnectionType,
QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument,
QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument,
QGenericArgument, QGenericArgument, QGenericArgument) const (in
/gnu/store/ihjf81is9xh4virnj9k5v87zv3z0idj8-qtbase-5.7.1/lib/libQt5Core.so.5.7.1)
==16114== by 0x4E4A213: ??? (in
/gnu/store/ihjf81is9xh4virnj9k5v87zv3z0idj8-qtbase-5.7.1/lib/libQt5Test.so.5.7.1)
==16114== by 0x4E4AB25: ??? (in
/gnu/store/ihjf81is9xh4virnj9k5v87zv3z0idj8-qtbase-5.7.1/lib/libQt5Test.so.5.7.1)
==16114== by 0x4E4B111: ??? (in
/gnu/store/ihjf81is9xh4virnj9k5v87zv3z0idj8-qtbase-5.7.1/lib/libQt5Test.so.5.7.1)
==16114== by 0x4E4B5E8: QTest::qExec(QObject*, int, char**) (in
/gnu/store/ihjf81is9xh4virnj9k5v87zv3z0idj8-qtbase-5.7.1/lib/libQt5Test.so.5.7.1)
==16114== by 0x403C60: main (tst_registry.cpp:306)
==16114== Address 0x1274e4c0 is 240 bytes inside a block of size 320 free'd
==16114== at 0x4C2BBD0: free (in
/gnu/store/qr7xykwfxav3drx9c2fxazggpl8j9py9-valgrind-3.12.0/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==16114== by 0x508F305:
GreenIsland::Client::ClientConnectionPrivate::~ClientConnectionPrivate()
(clientconnection.cpp:61)
==16114== by 0x508F318:
GreenIsland::Client::ClientConnectionPrivate::~ClientConnectionPrivate()
(clientconnection.cpp:63)
==16114== by 0x7C1336B: QObject::~QObject() (in
/gnu/store/ihjf81is9xh4virnj9k5v87zv3z0idj8-qtbase-5.7.1/lib/libQt5Core.so.5.7.1)
==16114== by 0x508FDA6: ~ClientConnection (clientconnection.h:43)
==16114== by 0x508FDA6:
GreenIsland::Client::ClientConnection::~ClientConnection()
(clientconnection.h:43)
==16114== by 0x7C0C887: QObject::event(QEvent*) (in
/gnu/store/ihjf81is9xh4virnj9k5v87zv3z0idj8-qtbase-5.7.1/lib/libQt5Core.so.5.7.1)
==16114== by 0x7BE2879: QCoreApplication::notify(QObject*, QEvent*) (in
/gnu/store/ihjf81is9xh4virnj9k5v87zv3z0idj8-qtbase-5.7.1/lib/libQt5Core.so.5.7.1)
==16114== by 0x7BE29D7: QCoreApplication::notifyInternal2(QObject*, QEvent*)
(in
/gnu/store/ihjf81is9xh4virnj9k5v87zv3z0idj8-qtbase-5.7.1/lib/libQt5Core.so.5.7.1)
==16114== by 0x7BE4FCA: QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) (in
/gnu/store/ihjf81is9xh4virnj9k5v87zv3z0idj8-qtbase-5.7.1/lib/libQt5Core.so.5.7.1)
==16114== by 0x7C32EE2: ??? (in
/gnu/store/ihjf81is9xh4virnj9k5v87zv3z0idj8-qtbase-5.7.1/lib/libQt5Core.so.5.7.1)
==16114== by 0x8CF30D6: g_main_context_dispatch (in
/gnu/store/0wps368gx0cn3ynrkbhzq5pxf75rng7y-glib-2.50.3/lib/libglib-2.0.so.0.5000.3)
==16114== by 0x8CF3307: g_main_context_iterate.isra.29 (in
/gnu/store/0wps368gx0cn3ynrkbhzq5pxf75rng7y-glib-2.50.3/lib/libglib-2.0.so.0.5000.3)
==16114== Block was alloc'd at
==16114== at 0x4C2C868: calloc (in
/gnu/store/qr7xykwfxav3drx9c2fxazggpl8j9py9-valgrind-3.12.0/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==16114== by 0x555755E: wl_display_connect_to_fd (in
/gnu/store/syzisi3ib6q406nrxpb4723fhm2cmyml-wayland-1.13.0/lib/libwayland-client.so.0.3.0)
==16114== by 0x5557741: wl_display_connect (in
/gnu/store/syzisi3ib6q406nrxpb4723fhm2cmyml-wayland-1.13.0/lib/libwayland-client.so.0.3.0)
==16114== by 0x508F6D3:
GreenIsland::Client::ClientConnectionPrivate::_q_initConnection()
(clientconnection.cpp:83)
==16114== by 0x7C0C850: QObject::event(QEvent*) (in
/gnu/store/ihjf81is9xh4virnj9k5v87zv3z0idj8-qtbase-5.7.1/lib/libQt5Core.so.5.7.1)
==16114== by 0x7BE2879: QCoreApplication::notify(QObject*, QEvent*) (in
/gnu/store/ihjf81is9xh4virnj9k5v87zv3z0idj8-qtbase-5.7.1/lib/libQt5Core.so.5.7.1)
==16114== by 0x7BE29D7: QCoreApplication::notifyInternal2(QObject*, QEvent*)
(in
/gnu/store/ihjf81is9xh4virnj9k5v87zv3z0idj8-qtbase-5.7.1/lib/libQt5Core.so.5.7.1)
==16114== by 0x7BE4FCA: QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) (in
/gnu/store/ihjf81is9xh4virnj9k5v87zv3z0idj8-qtbase-5.7.1/lib/libQt5Core.so.5.7.1)
==16114== by 0x7C32EE2: ??? (in
/gnu/store/ihjf81is9xh4virnj9k5v87zv3z0idj8-qtbase-5.7.1/lib/libQt5Core.so.5.7.1)
==16114== by 0x8CF30D6: g_main_context_dispatch (in
/gnu/store/0wps368gx0cn3ynrkbhzq5pxf75rng7y-glib-2.50.3/lib/libglib-2.0.so.0.5000.3)
==16114== by 0x8CF3307: g_main_context_iterate.isra.29 (in
/gnu/store/0wps368gx0cn3ynrkbhzq5pxf75rng7y-glib-2.50.3/lib/libglib-2.0.so.0.5000.3)
==16114== by 0x8CF33AB: g_main_context_iteration (in
/gnu/store/0wps368gx0cn3ynrkbhzq5pxf75rng7y-glib-2.50.3/lib/libglib-2.0.so.0.5000.3)
--8<---------------cut here---------------end--------------->8---
However, <https://github.com/greenisland/greenisland> says that it’s
UNMAINTANED (sic), so I wonder what should be done.
Since, SDDM can be built without Greenisland (and thus without Wayland
support I suppose), what about doing just that?
Thanks,
Ludo’.
diff --git a/gnu/packages/display-managers.scm
b/gnu/packages/display-managers.scm
index 307bc864e..d636fec8c 100644
--- a/gnu/packages/display-managers.scm
+++ b/gnu/packages/display-managers.scm
@@ -140,7 +140,7 @@ Qt-style API for Wayland clients.")
("qttools" ,qttools)))
(inputs
`(("glib" ,glib)
- ("greenisland" ,greenisland)
+ ;; ("greenisland" ,greenisland)
("libxcb" ,libxcb)
("libxkbcommon" ,libxkbcommon)
("linux-pam" ,linux-pam)