GNU bug report logs - #43487
icecat store names in user profiles break bundled addons

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: guix; Reported by: Mark H Weaver <mhw@HIDDEN>; merged with #48169; dated Fri, 18 Sep 2020 06:51:02 UTC; Maintainer for guix is bug-guix@HIDDEN.
Merged 43487 48169. Request was from Mark H Weaver <mhw@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at 43487 <at> debbugs.gnu.org:


Received: (at 43487) by debbugs.gnu.org; 25 Sep 2020 18:46:21 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Sep 25 14:46:21 2020
Received: from localhost ([127.0.0.1]:45350 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kLsjd-0006cM-1R
	for submit <at> debbugs.gnu.org; Fri, 25 Sep 2020 14:46:21 -0400
Received: from hera.aquilenet.fr ([185.233.100.1]:54074)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <andreas@HIDDEN>) id 1kLsjZ-0006cB-AK
 for 43487 <at> debbugs.gnu.org; Fri, 25 Sep 2020 14:46:19 -0400
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id A3DDB233;
 Fri, 25 Sep 2020 20:46:15 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Received: from hera.aquilenet.fr ([127.0.0.1])
 by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id XB2WGHcDVB8E; Fri, 25 Sep 2020 20:46:14 +0200 (CEST)
Received: from jurong (unknown [IPv6:2001:910:103f::323])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 1D9CF243;
 Fri, 25 Sep 2020 20:46:13 +0200 (CEST)
Date: Fri, 25 Sep 2020 20:46:12 +0200
From: Andreas Enge <andreas@HIDDEN>
To: Mark H Weaver <mhw@HIDDEN>
Subject: Re: bug#43487: icecat store names in user profiles break bundled
 addons
Message-ID: <20200925184612.GA5828@jurong>
References: <87a6xn8tr6.fsf@HIDDEN> <20200921131648.GA15766@jurong>
 <87tuvrvww4.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <87tuvrvww4.fsf@HIDDEN>
X-Spam-Score: 0.7 (/)
X-Debbugs-Envelope-To: 43487
Cc: 43487 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.3 (/)

Hello Mark!

On Mon, Sep 21, 2020 at 01:53:36PM -0400, Mark H Weaver wrote:
> Agreed.  When I wrote of implementing an "automatic refresh", I meant
> something very different and much more limited than what "Refresh
> IceCat" in <about:support> does: I meant merely to refresh the embedded
> store names in the user profile to be valid again, without modifying any
> user customizations.
> 
> Additionally, if a bundled extension was not explicitly disabled by the
> user, but became nonfunctional due to this bug, I would like the
> yet-to-written new code to do what is needed to make it functional
> again.  Also, when IceCat is updated, any bundled extensions should be
> automatically updated as well.  However, any bundled extensions that the
> user explicitly disabled should stay disabled.
> 
> Does that make sense?

Definitely!

Andreas





Information forwarded to bug-guix@HIDDEN:
bug#43487; Package guix. Full text available.

Message received at 43487 <at> debbugs.gnu.org:


Received: (at 43487) by debbugs.gnu.org; 21 Sep 2020 17:55:11 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Sep 21 13:55:11 2020
Received: from localhost ([127.0.0.1]:56127 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kKQ1v-0003oZ-Bm
	for submit <at> debbugs.gnu.org; Mon, 21 Sep 2020 13:55:11 -0400
Received: from world.peace.net ([64.112.178.59]:36222)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <mhw@HIDDEN>) id 1kKQ1t-0003o0-Qs
 for 43487 <at> debbugs.gnu.org; Mon, 21 Sep 2020 13:55:10 -0400
Received: from mhw by world.peace.net with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92)
 (envelope-from <mhw@HIDDEN>)
 id 1kKQ1n-00030I-DB; Mon, 21 Sep 2020 13:55:03 -0400
From: Mark H Weaver <mhw@HIDDEN>
To: Andreas Enge <andreas@HIDDEN>
Subject: Re: bug#43487: icecat store names in user profiles break bundled
 addons
In-Reply-To: <20200921131648.GA15766@jurong>
References: <87a6xn8tr6.fsf@HIDDEN> <20200921131648.GA15766@jurong>
Date: Mon, 21 Sep 2020 13:53:36 -0400
Message-ID: <87tuvrvww4.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 43487
Cc: 43487 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hi Andreas,

Andreas Enge <andreas@HIDDEN> writes:

> On Fri, Sep 18, 2020 at 02:48:34AM -0400, Mark H Weaver wrote:
>> To temporarily fix these problems while retaining most of your user
>> data, one option is to press the "Refresh IceCat=E2=80=A6" button in
>> <about:support>.  Choosing this option will reset all your preferences
>> and addons to the IceCat defaults, but allows you to preserve the rest
>> of your data, including your bookmarks, browser history, cookies, saved
>> passwords, and your open tabs.
>
> thanks for this (very hidden) work-around. I confirm that it has worked
> very well for me.

I'm glad to hear it!

> And I would just like to mention a (not problematic)
> caveat: "reset your addons" also includes removing additional add-ons
> installed by the user.

Yes, thanks for clarifying that point.

>> A proper fix will likely involve modifying the relevant code in IceCat
>> to either avoid storing the full file names in extensions.json, or else
>> to detect them on startup and automatically "refresh" them as needed.
>
> So refreshing in the above sense should not be done without asking the
> user first.

Agreed.  When I wrote of implementing an "automatic refresh", I meant
something very different and much more limited than what "Refresh
IceCat" in <about:support> does: I meant merely to refresh the embedded
store names in the user profile to be valid again, without modifying any
user customizations.

Additionally, if a bundled extension was not explicitly disabled by the
user, but became nonfunctional due to this bug, I would like the
yet-to-written new code to do what is needed to make it functional
again.  Also, when IceCat is updated, any bundled extensions should be
automatically updated as well.  However, any bundled extensions that the
user explicitly disabled should stay disabled.

Does that make sense?

      Thanks!
        Mark




Information forwarded to bug-guix@HIDDEN:
bug#43487; Package guix. Full text available.

Message received at 43487 <at> debbugs.gnu.org:


Received: (at 43487) by debbugs.gnu.org; 21 Sep 2020 13:17:40 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Sep 21 09:17:40 2020
Received: from localhost ([127.0.0.1]:53877 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kKLhM-0002R0-7t
	for submit <at> debbugs.gnu.org; Mon, 21 Sep 2020 09:17:40 -0400
Received: from hera.aquilenet.fr ([185.233.100.1]:43146)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <andreas@HIDDEN>) id 1kKLhI-0002Oi-L8
 for 43487 <at> debbugs.gnu.org; Mon, 21 Sep 2020 09:17:38 -0400
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 20081DC0;
 Mon, 21 Sep 2020 15:17:35 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Received: from hera.aquilenet.fr ([127.0.0.1])
 by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id vPDAumYs9K_I; Mon, 21 Sep 2020 15:17:34 +0200 (CEST)
Received: from jurong (unknown [IPv6:2001:910:103f::727])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id BE0A77CB;
 Mon, 21 Sep 2020 15:17:31 +0200 (CEST)
Date: Mon, 21 Sep 2020 15:16:48 +0200
From: Andreas Enge <andreas@HIDDEN>
To: Mark H Weaver <mhw@HIDDEN>
Subject: Re: bug#43487: icecat store names in user profiles break bundled
 addons
Message-ID: <20200921131648.GA15766@jurong>
References: <87a6xn8tr6.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <87a6xn8tr6.fsf@HIDDEN>
X-Spam-Score: 0.7 (/)
X-Debbugs-Envelope-To: 43487
Cc: 43487 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.3 (/)

Hello Mark,

On Fri, Sep 18, 2020 at 02:48:34AM -0400, Mark H Weaver wrote:
> To temporarily fix these problems while retaining most of your user
> data, one option is to press the "Refresh IceCat…" button in
> <about:support>.  Choosing this option will reset all your preferences
> and addons to the IceCat defaults, but allows you to preserve the rest
> of your data, including your bookmarks, browser history, cookies, saved
> passwords, and your open tabs.

thanks for this (very hidden) work-around. I confirm that it has worked
very well for me. And I would just like to mention a (not problematic)
caveat: "reset your addons" also includes removing additional add-ons
installed by the user.

> A proper fix will likely involve modifying the relevant code in IceCat
> to either avoid storing the full file names in extensions.json, or else
> to detect them on startup and automatically "refresh" them as needed.

So refreshing in the above sense should not be done without asking the
user first.

Andreas





Information forwarded to bug-guix@HIDDEN:
bug#43487; Package guix. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 18 Sep 2020 06:50:09 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Sep 18 02:50:09 2020
Received: from localhost ([127.0.0.1]:40493 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kJADh-0004kn-2k
	for submit <at> debbugs.gnu.org; Fri, 18 Sep 2020 02:50:09 -0400
Received: from lists.gnu.org ([209.51.188.17]:58230)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <mhw@HIDDEN>) id 1kJADf-0004kf-Ak
 for submit <at> debbugs.gnu.org; Fri, 18 Sep 2020 02:50:07 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:54980)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <mhw@HIDDEN>) id 1kJADf-0001jl-1y
 for bug-guix@HIDDEN; Fri, 18 Sep 2020 02:50:07 -0400
Received: from world.peace.net ([64.112.178.59]:42996)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <mhw@HIDDEN>) id 1kJADd-0007Mo-3y
 for bug-guix@HIDDEN; Fri, 18 Sep 2020 02:50:06 -0400
Received: from mhw by world.peace.net with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92)
 (envelope-from <mhw@HIDDEN>)
 id 1kJADQ-0006nx-Lx; Fri, 18 Sep 2020 02:49:52 -0400
From: Mark H Weaver <mhw@HIDDEN>
To: bug-guix@HIDDEN
Subject: icecat store names in user profiles break bundled addons
Date: Fri, 18 Sep 2020 02:48:34 -0400
Message-ID: <87a6xn8tr6.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Received-SPF: pass client-ip=64.112.178.59; envelope-from=mhw@HIDDEN;
 helo=world.peace.net
X-detected-operating-system: by eggs.gnu.org: First seen = 2020/09/18 02:49:53
X-ACL-Warn: Detected OS   = Linux 2.2.x-3.x [generic] [fuzzy]
X-Spam_score_int: -18
X-Spam_score: -1.9
X-Spam_bar: -
X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.3 (-)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.3 (--)

The Guix build of IceCat-68 stores absolute file names of the form
/gnu/store/=E2=80=A6-icecat-68.=E2=80=A6/* within user profiles in ~/.mozil=
la/icecat/*.

For example, ~/.mozilla/icecat/*/extensions.json contains store
references of the forms:
/gnu/store/=E2=80=A6-icecat-68.=E2=80=A6/lib/icecat/browser/features/*.xpi =
and
/gnu/store/=E2=80=A6-icecat-68.=E2=80=A6/lib/icecat/browser/extensions/*.xp=
i.

One effect is that IceCat's bundled extensions become non-functional
after the referenced /gnu/store/=E2=80=A6-icecat-68.=E2=80=A6 store item is=
 deleted.
This affects both the "builtin" extensions included in upstream Firefox
(e.g. formautofill@=E2=80=A6 and screenshots@HIDDEN) as well as the
more visible bundled extensions such as LibreJS and HTTPS Everywhere.

One visual artifact is that the extension's buttons, that would normally
appear to the right of the URL bar, are missing their icons and are
therefore invisible, although if you hover over them they become
highlighted.

Creating a fresh profile will temporarily fix these problems, but only
until the next time "guix gc" deletes the 'icecat' store item
referenced.

To temporarily fix these problems while retaining most of your user
data, one option is to press the "Refresh IceCat=E2=80=A6" button in
<about:support>.  Choosing this option will reset all your preferences
and addons to the IceCat defaults, but allows you to preserve the rest
of your data, including your bookmarks, browser history, cookies, saved
passwords, and your open tabs.

A proper fix will likely involve modifying the relevant code in IceCat
to either avoid storing the full file names in extensions.json, or else
to detect them on startup and automatically "refresh" them as needed.

I looked at the Nix package for Firefox, hoping that they might have
addressed this issue, but I found only one modification that looked
promising, namely their 'env_var_for_system_dir.patch' which adds
support for a MOZ_SYSTEM_DIR environment variable and sets the variable
in their wrapper.  I tried adding that to IceCat in Guix, but alas, it
did not help with this issue.  I guess that its purpose is to enable
other Nix packages to provide Firefox extensions.

This bug report is primarily about IceCat-68, where I've observed the
failure modes described above many times, and worked around it by
periodically "Refreshing IceCat" from <about:support>.  However,
IceCat-78 is affected by this issue as well, at least in part.
IceCat-78 also stores references to /gnu/store/=E2=80=A6-icecat-78.=E2=80=
=A6/* within
the user's profile, including in extensions.json.  However, I haven't
yet verified that the same failure mode occurs with its bundled
extensions, because I've not yet allowed any of my icecat-78 store items
to be reclaimed.  It's possible that the addition of
"--allow-addon-sideload" in Guix's IceCat 78 package might allow the
bundled extensions to refresh themselves automatically.

       Mark




Acknowledgement sent to Mark H Weaver <mhw@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-guix@HIDDEN. Full text available.
Report forwarded to bug-guix@HIDDEN:
bug#43487; Package guix. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Mon, 3 May 2021 09:45:01 UTC

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