GNU bug report logs - #61911
error: mate-polkit: unbound variable

Previous Next

Package: guix;

Reported by: Maxime Devos <maximedevos <at> telenet.be>

Date: Thu, 2 Mar 2023 10:04:01 UTC

Severity: important

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 61911 in the body.
You can then email your comments to 61911 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#61911; Package guix. (Thu, 02 Mar 2023 10:04:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Maxime Devos <maximedevos <at> telenet.be>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Thu, 02 Mar 2023 10:04:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Maxime Devos <maximedevos <at> telenet.be>
To: bug-guix <bug-guix <at> gnu.org>
Subject: error: mate-polkit: unbound variable
Date: Thu, 2 Mar 2023 11:03:45 +0100
[Message part 1 (text/plain, inline)]
Unlike https://issues.guix.gnu.org/42601, this happens _outside_ 
./pre-inst-env:

$ LC_ALL=C guix build mate-polkit
Backtrace:
In ice-9/boot-9.scm:
   222:29 19 (map1 (((gnu packages guile)) ((gnu packages image)) # ?))
   222:29 18 (map1 (((gnu packages image)) ((gnu packages #)) ((?)) ?))
   222:29 17 (map1 (((gnu packages kde-frameworks)) ((gnu # #)) (#) ?))
   222:29 16 (map1 (((gnu packages linux)) ((gnu packages #)) ((?)) ?))
   222:29 15 (map1 (((gnu packages pkg-config)) ((gnu packages #)) ?))
   222:29 14 (map1 (((gnu packages python)) ((gnu packages qt)) (#) ?))
   222:29 13 (map1 (((gnu packages qt)) ((gnu packages xdisorg)) # #))
   222:29 12 (map1 (((gnu packages xdisorg)) ((gnu packages xfce)) #))
   222:17 11 (map1 (((gnu packages xfce)) ((gnu packages xorg))))
  3327:17 10 (resolve-interface (gnu packages xfce) #:select _ #:hide ?)
In ice-9/threads.scm:
    390:8  9 (_ _)
In ice-9/boot-9.scm:
  3253:13  8 (_)
In ice-9/threads.scm:
    390:8  7 (_ _)
In ice-9/boot-9.scm:
  3544:20  6 (_)
   2836:4  5 (save-module-excursion #<procedure 7fdaa6fff630 at ice-?>)
  3564:26  4 (_)
In unknown file:
           3 (primitive-load-path "gnu/packages/xfce" #<procedure 7f?>)
In gnu/packages/xfce.scm:
  1156:19  2 (_)
In ice-9/boot-9.scm:
  1685:16  1 (raise-exception _ #:continuable? _)
  1685:16  0 (raise-exception _ #:continuable? _)

ice-9/boot-9.scm:1685:16: In procedure raise-exception:
error: mate-polkit: unbound variable

$ guix describe
  guix af95f2d
    bewaarplaats-URL: https://git.savannah.gnu.org/git/guix.git
    tak: master
    commit: af95f2d8f98eb2c8c64954bb2fd0b70838899174
  nonguix 110f914
    bewaarplaats-URL: https://gitlab.com/nonguix/nonguix
    tak: master
    commit: 110f914f81d0d2c67a45f9b2f87a5dc7ec54dfd0

The backtrace only mentions Guix modules, so the bug doesn't appear to 
be in the extra channel should be irrelevant.

gnu/packages/xfce.scm: 1156:19:

[... mate-screenscraver ...]
    (build-system glib-or-gtk-build-system)
    (arguments
     `(#:configure-flags
       ;; FIXME: There is a permissions problem with screen locking
       ;; which effectively locks you out completely. Enable locking
       ;; once this has been fixed.
       (list "--enable-locking" "--with-kbd-layout-indicator"
             "--with-xf86gamma-ext" "--enable-pam"
             "--disable-schemas-compile" "--without-console-kit");L1156
       #:phases
       (modify-phases %standard-phases
         (add-after 'unpack 'autoconf
           (lambda* (#:key outputs #:allow-other-keys)
             (let* ((out (assoc-ref outputs "out"))
                    (dbus-dir (string-append out 
"/share/dbus-1/services")))
             (setenv "SHELL" (which "sh"))
             (setenv "CONFIG_SHELL" (which "sh"))
             (substitute* "configure"
               (("dbus-1") ""))))))))

Something is screwy with the line number information too, as 
mate-screensaver doesn't mention mate-polkit.

Greetings,
Maxime.
[OpenPGP_0x49E3EE22191725EE.asc (application/pgp-keys, attachment)]
[OpenPGP_signature (application/pgp-signature, attachment)]

Information forwarded to bug-guix <at> gnu.org:
bug#61911; Package guix. (Thu, 02 Mar 2023 14:37:02 GMT) Full text and rfc822 format available.

Message #8 received at 61911 <at> debbugs.gnu.org (full text, mbox):

From: Josselin Poiret <dev <at> jpoiret.xyz>
To: Maxime Devos <maximedevos <at> telenet.be>, 61911 <at> debbugs.gnu.org
Cc: Julien Lepiller <julien <at> lepiller.eu>
Subject: Re: bug#61911: error: mate-polkit: unbound variable
Date: Thu, 02 Mar 2023 15:36:08 +0100
[Message part 1 (text/plain, inline)]
Hi Maxime,

Maxime Devos <maximedevos <at> telenet.be> writes:

> In unknown file:
>             3 (primitive-load-path "gnu/packages/xfce" #<procedure 7f?>)
> In gnu/packages/xfce.scm:
>    1156:19  2 (_)
> In ice-9/boot-9.scm:
>    1685:16  1 (raise-exception _ #:continuable? _)
>    1685:16  0 (raise-exception _ #:continuable? _)
>
> ice-9/boot-9.scm:1685:16: In procedure raise-exception:
> error: mate-polkit: unbound variable

This is the same kind of issue as [1]: both xfce and mate require each
other (the second through mate -> freedesktop -> kde-frameworks ->
kde-plasma -> display-managers -> xfce), and depending on the order in
which they're loaded, mate-polkit-for-xfce might get defined before
mate-polkit is.  The solution I suggested there was to define the
variant in the same file as the original package, but here I'm not sure
if this is the right call.

In general, I'd much rather try to get rid of those pesky module cycles,
as they cause general headaches for guix pull.  I remember Julien
using (guix modules) to do some analysis at the Guix days, maybe we
could get some pointers on how to handle this specific situation?

WDYT?

[1] https://issues.guix.gnu.org/61885
   (mid: F29B8BFE-A175-4128-8093-4A810681E235 <at> winter.cafe)

-- 
Josselin Poiret
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#61911; Package guix. (Thu, 02 Mar 2023 15:12:03 GMT) Full text and rfc822 format available.

Message #11 received at 61911 <at> debbugs.gnu.org (full text, mbox):

From: Maxime Devos <maximedevos <at> telenet.be>
To: Josselin Poiret <dev <at> jpoiret.xyz>, 61911 <at> debbugs.gnu.org,
 61885 <at> debbugs.gnu.org
Cc: Julien Lepiller <julien <at> lepiller.eu>
Subject: Re: bug#61911: error: mate-polkit: unbound variable
Date: Thu, 2 Mar 2023 16:11:05 +0100
[Message part 1 (text/plain, inline)]

Op 02-03-2023 om 15:36 schreef Josselin Poiret:
> Hi Maxime,
> 
> Maxime Devos <maximedevos <at> telenet.be> writes:
> 
>> In unknown file:
>>              3 (primitive-load-path "gnu/packages/xfce" #<procedure 7f?>)
>> In gnu/packages/xfce.scm:
>>     1156:19  2 (_)
>> In ice-9/boot-9.scm:
>>     1685:16  1 (raise-exception _ #:continuable? _)
>>     1685:16  0 (raise-exception _ #:continuable? _)
>>
>> ice-9/boot-9.scm:1685:16: In procedure raise-exception:
>> error: mate-polkit: unbound variable
> 
> This is the same kind of issue as [1]: both xfce and mate require each
> other (the second through mate -> freedesktop -> kde-frameworks ->
> kde-plasma -> display-managers -> xfce), and depending on the order in
> which they're loaded, mate-polkit-for-xfce might get defined before
> mate-polkit is.  The solution I suggested there was to define the
> variant in the same file as the original package, but here I'm not sure
> if this is the right call.
> 
> In general, I'd much rather try to get rid of those pesky module cycles,
> as they cause general headaches for guix pull.  I remember Julien
> using (guix modules) to do some analysis at the Guix days, maybe we
> could get some pointers on how to handle this specific situation?
> 
> WDYT?
> 
> [1] https://issues.guix.gnu.org/61885
>     (mid: F29B8BFE-A175-4128-8093-4A810681E235 <at> winter.cafe)

I haven't gone to Guix days so I can't comment on that, but I'd like to 
note that there are some simple patches for breaking up lots of package 
cycles at <https://issues.guix.gnu.org/54539#62> (*).  In particular, 
#:use-module -> #:autoload appears promising (^).

Basically, you can consider a module reference to be 'strong' if its of 
the form (define stuff (package (inherit reference)) ...), and 'weak' if 
its just a package input (or more generally, something thunked). 
'Strong' cycles are problematic, but 'weak' cycles should be resolvable 
by delaying loading the required modules until needed.

I don't know if these patches would solve this particular 'mate-polkit' 
issue -- if the 'mate -> freedesktop -> ... -> xfce' cycle is 'weak', 
something like those patches should work, but if it isn't, those patches 
would be insufficient.

(*) Beware of https://issues.guix.gnu.org/54539#63 though; looks like I 
made some mistakes in hurd.scm and image.scm.

Greetings,
Maxime.
[OpenPGP_0x49E3EE22191725EE.asc (application/pgp-keys, attachment)]
[OpenPGP_signature (application/pgp-signature, attachment)]

Severity set to 'important' from 'normal' Request was from Ludovic Courtès <ludo <at> gnu.org> to control <at> debbugs.gnu.org. (Mon, 06 Mar 2023 22:52:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-guix <at> gnu.org:
bug#61911; Package guix. (Mon, 06 Mar 2023 23:06:02 GMT) Full text and rfc822 format available.

Message #16 received at 61911 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Josselin Poiret <dev <at> jpoiret.xyz>
Cc: Julien Lepiller <julien <at> lepiller.eu>, Maxime Devos <maximedevos <at> telenet.be>,
 61911 <at> debbugs.gnu.org
Subject: Re: bug#61911: error: mate-polkit: unbound variable
Date: Tue, 07 Mar 2023 00:05:39 +0100
Hi Josselin & Maxime,

Josselin Poiret <dev <at> jpoiret.xyz> skribis:

> Maxime Devos <maximedevos <at> telenet.be> writes:
>
>> In unknown file:
>>             3 (primitive-load-path "gnu/packages/xfce" #<procedure 7f?>)
>> In gnu/packages/xfce.scm:
>>    1156:19  2 (_)
>> In ice-9/boot-9.scm:
>>    1685:16  1 (raise-exception _ #:continuable? _)
>>    1685:16  0 (raise-exception _ #:continuable? _)
>>
>> ice-9/boot-9.scm:1685:16: In procedure raise-exception:
>> error: mate-polkit: unbound variable
>
> This is the same kind of issue as [1]: both xfce and mate require each
> other (the second through mate -> freedesktop -> kde-frameworks ->
> kde-plasma -> display-managers -> xfce), and depending on the order in
> which they're loaded, mate-polkit-for-xfce might get defined before
> mate-polkit is.  The solution I suggested there was to define the
> variant in the same file as the original package, but here I'm not sure
> if this is the right call.

It is the right call.  The (unwritten?) rule is to always define
variants in the same module as the original module, to avoid top-level
circular references.

I pushed it as 0d963875278d585eb86bc87127efa20a8d627595 as I think it
should be considered a rather serious issue.

Thanks,
Ludo’.




bug closed, send any further explanations to 61911 <at> debbugs.gnu.org and Maxime Devos <maximedevos <at> telenet.be> Request was from Ludovic Courtès <ludo <at> gnu.org> to control <at> debbugs.gnu.org. (Mon, 06 Mar 2023 23:07:01 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 04 Apr 2023 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 12 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.