IceCat segfault

OpenSubmitted by raingloom.
Details
6 participants
  • Alex ter Weele
  • Ludovic Courtès
  • Mark H Weaver
  • Mike Gerwitz
  • raingloom
  • Ricardo Wurmus
Owner
unassigned
Severity
normal
R
R
raingloom wrote on 25 Sep 2020 15:26
(name . Guix Bugs)(address . bug-guix@gnu.org)
20200925152609.104d0e10@riseup.net
Haven't had time to look deeper into it yet. It worked in my profilefrom sept 11, it broke after pulling and upgrading yesterday.Idk what my commit is because I'm using a private branch.
M
M
Mark H Weaver wrote on 25 Sep 2020 18:11
87r1qp96py.fsf@netris.org
Hi,
raingloom <raingloom@riseup.net> writes:
Toggle quote (4 lines)> Haven't had time to look deeper into it yet. It worked in my profile> from sept 11, it broke after pulling and upgrading yesterday.> Idk what my commit is because I'm using a private branch.
On Sept 22, I pushed a major update of IceCat from 68.12.0 to 78.3.0:
commit c7011ff850420fdbe1319b3d218bd362f2f9d618 Author: Mark H Weaver <mhw@netris.org> Date: Sun Sep 6 21:47:33 2020 -0400
gnu: icecat: Update to 78.3.0-guix0-preview1 [security-fixes]. Includes fixes for CVE-2020-15673, CVE-2020-15676, CVE-2020-15677, and CVE-2020-15678.
[...]
More details would be helpful. For example, it's not clear from yourreport whether it segfaults immediately on startup or sometime later,whether a window appears, etc. Also, are you using Guix on top of aforeign distro, or natively? Wayland or X?
It would also be useful to know how IceCat 78 behaves on your systemwith a fresh profile. Try it by running "icecat -p", creating a newprofile from the profile manager window, and then starting icecat withthat new profile selected. If that works, it would then be useful totry adding back any extensions that were installed in the profile thatcrashed, and see if that makes a difference.
Thanks, Mark
R
R
raingloom wrote on 26 Sep 2020 04:34
(name . Mark H Weaver)(address . mhw@netris.org)(address . 43610@debbugs.gnu.org)
20200926043425.7724956d@riseup.net
On Fri, 25 Sep 2020 12:11:10 -0400Mark H Weaver <mhw@netris.org> wrote:
Toggle quote (35 lines)> Hi,> > raingloom <raingloom@riseup.net> writes:> > Haven't had time to look deeper into it yet. It worked in my profile> > from sept 11, it broke after pulling and upgrading yesterday.> > Idk what my commit is because I'm using a private branch. > > On Sept 22, I pushed a major update of IceCat from 68.12.0 to 78.3.0:> > commit c7011ff850420fdbe1319b3d218bd362f2f9d618> Author: Mark H Weaver <mhw@netris.org>> Date: Sun Sep 6 21:47:33 2020 -0400> > gnu: icecat: Update to 78.3.0-guix0-preview1 [security-fixes].> > Includes fixes for CVE-2020-15673, CVE-2020-15676, CVE-2020-15677,> and CVE-2020-15678.> > [...]> > More details would be helpful. For example, it's not clear from your> report whether it segfaults immediately on startup or sometime later,> whether a window appears, etc. Also, are you using Guix on top of a> foreign distro, or natively? Wayland or X?> > It would also be useful to know how IceCat 78 behaves on your system> with a fresh profile. Try it by running "icecat -p", creating a new> profile from the profile manager window, and then starting icecat with> that new profile selected. If that works, it would then be useful to> try adding back any extensions that were installed in the profile that> crashed, and see if that makes a difference.> > Thanks,> Mark
It crashed immediately without any visible activity.It does start up properly with a fresh profile. I'll try to bisect theaddons list later.
Tbh this would be a good time to have a debug output for IceCat on hand.
M
M
Mark H Weaver wrote on 26 Sep 2020 20:05
(name . raingloom)(address . raingloom@riseup.net)(address . 43610@debbugs.gnu.org)
87blhs8lb7.fsf@netris.org
Hi,
raingloom <raingloom@riseup.net> writes:
Toggle quote (2 lines)> It crashed immediately without any visible activity.
Okay.
Toggle quote (3 lines)> It does start up properly with a fresh profile. I'll try to bisect the> addons list later.
In the meantime, to start IceCat 78 with your existing profile but withaddons temporarily disabled, try running:
icecat -safe-mode
That should allow you to recover your existing bookmarks, history,cookies, saved passwords, tabs, etc. Then you can try adding back yourpreferred addons incrementally to find out which one is causing theproblem.
Toggle quote (2 lines)> Tbh this would be a good time to have a debug output for IceCat on hand.
While I acknowledge that it might occasionally be useful in edge caseslike this, it would also dramatically increase the memory requirementsat build time. For what it's worth, in the ~6 years that I've beenmaintaining the IceCat package in Guix, I don't recall being asked for adebug output before now.
I'm particularly sensitive to the memory requirements at build time,because I choose not to trust the build farm and therefore to build myentire Guix system with GNOME from source code on a relatively oldThinkpad X200 with only 4 GB of RAM. I've been doing this for manyyears, and I'd like to enable other Guix users to do so if they wish.
My impression is that IceCat debug outputs would primarily useful topeople who are actively developing IceCat, in which case it makes moresense to build it manually to allow incremental rebuilds after modifyingthe source code.
If it turns out that there's more interest in IceCat debug outputs thanI've anticipated (others: please speak up if you need this!), I'm notnecessarily opposed to adding them, but someone with a more powerfulmachine would need to take over maintenance of our IceCat package,because I would be unable to locally test the official build.
What do you think? Do other people need IceCat 'debug' outputs?
Thanks, Mark
R
R
raingloom wrote on 27 Sep 2020 07:49
(name . Mark H Weaver)(address . mhw@netris.org)(address . 43610@debbugs.gnu.org)
20200927074937.3b23c327@riseup.net
On Sat, 26 Sep 2020 14:05:53 -0400Mark H Weaver <mhw@netris.org> wrote:
Toggle quote (20 lines)> Hi,> > raingloom <raingloom@riseup.net> writes:> > It crashed immediately without any visible activity. > > Okay.> > > It does start up properly with a fresh profile. I'll try to bisect> > the addons list later. > > In the meantime, to start IceCat 78 with your existing profile but> with addons temporarily disabled, try running:> > icecat -safe-mode> > That should allow you to recover your existing bookmarks, history,> cookies, saved passwords, tabs, etc. Then you can try adding back> your preferred addons incrementally to find out which one is causing> the problem.
It still crashes with the -safe-mode flag. Luckily I keep most thingsoutside modern browsers, so it's not a huge loss. (For obvious reasonsI do not consider them reliable.)
Toggle quote (32 lines)> > Tbh this would be a good time to have a debug output for IceCat on> > hand. > > While I acknowledge that it might occasionally be useful in edge cases> like this, it would also dramatically increase the memory requirements> at build time. For what it's worth, in the ~6 years that I've been> maintaining the IceCat package in Guix, I don't recall being asked> for a debug output before now.> > I'm particularly sensitive to the memory requirements at build time,> because I choose not to trust the build farm and therefore to build my> entire Guix system with GNOME from source code on a relatively old> Thinkpad X200 with only 4 GB of RAM. I've been doing this for many> years, and I'd like to enable other Guix users to do so if they wish.> > My impression is that IceCat debug outputs would primarily useful to> people who are actively developing IceCat, in which case it makes more> sense to build it manually to allow incremental rebuilds after> modifying the source code.> > If it turns out that there's more interest in IceCat debug outputs> than I've anticipated (others: please speak up if you need this!),> I'm not necessarily opposed to adding them, but someone with a more> powerful machine would need to take over maintenance of our IceCat> package, because I would be unable to locally test the official build.> > What do you think? Do other people need IceCat 'debug' outputs?> > Thanks,> Mark

Huh, I was not aware that it increased build time memory requirements.I assumed it just gets sent to the void in the 'strip phase, just likeit is in other packages.Maybe feature flags could help with this in the future. Since(hopefully) nothing depends on IceCat, the build farm could just buildit with debug symbols, and those who want to build it locally canbuild it without them. But that's off topic for this thread.Local builds are definitely cool. As a fellow 4 gigger/thinkpadder Iappreciate anything that lets me build things locally without 16+ gigsof swap. (you might think that's an exaggeration, but then you haven'ttried to build Idris 2 with Idris 1.)
M
M
Mark H Weaver wrote on 27 Sep 2020 22:36
(name . raingloom)(address . raingloom@riseup.net)(address . 43610@debbugs.gnu.org)
87v9fz6jnk.fsf@netris.org
Hi,
raingloom <raingloom@riseup.net> writes:
Toggle quote (17 lines)> On Sat, 26 Sep 2020 14:05:53 -0400> Mark H Weaver <mhw@netris.org> wrote:>>> In the meantime, to start IceCat 78 with your existing profile but>> with addons temporarily disabled, try running:>> >> icecat -safe-mode>> >> That should allow you to recover your existing bookmarks, history,>> cookies, saved passwords, tabs, etc. Then you can try adding back>> your preferred addons incrementally to find out which one is causing>> the problem.>> It still crashes with the -safe-mode flag. Luckily I keep most things> outside modern browsers, so it's not a huge loss. (For obvious reasons> I do not consider them reliable.)
If you'd like to try another experiment, it would be interesting to knowif you're able to recover most of your old profile by running "icecat-safe-mode -p", selecting your old profile, and clicking on the "RefreshIceCat" button that is presented. That will reset all preferences tothe IceCat defaults, but might enable you to recover the things I listedabove.
Toggle quote (11 lines)>> > Tbh this would be a good time to have a debug output for IceCat on>> > hand. >> >> While I acknowledge that it might occasionally be useful in edge cases>> like this, it would also dramatically increase the memory requirements>> at build time. [...]>> Huh, I was not aware that it increased build time memory requirements.> I assumed it just gets sent to the void in the 'strip phase, just like> it is in other packages.
We currently pass "--disable-debug" and "--disable-debug-symbols" toIceCat's configure script, which causes it to pass compiler flags thatdisable generation of debug symbols during the build.
Toggle quote (5 lines)> As a fellow 4 gigger/thinkpadder I> appreciate anything that lets me build things locally without 16+ gigs> of swap. (you might think that's an exaggeration, but then you haven't> tried to build Idris 2 with Idris 1.)
I've actually tried (and failed) to build Idris 1 locally, so I cansympathize :-/
Mark
M
M
Mike Gerwitz wrote on 1 Oct 2020 03:56
(name . Mark H Weaver)(address . mhw@netris.org)
875z7uvhe3.fsf@gnu.org
On Sat, Sep 26, 2020 at 14:05:53 -0400, Mark H Weaver wrote:
Toggle quote (6 lines)> I'm particularly sensitive to the memory requirements at build time,> because I choose not to trust the build farm and therefore to build my> entire Guix system with GNOME from source code on a relatively old> Thinkpad X200 with only 4 GB of RAM. I've been doing this for many> years, and I'd like to enable other Guix users to do so if they wish.
As someone with the same system as you, I have appreciated this foras long as I've used Guix. Thank you.
Toggle quote (5 lines)> My impression is that IceCat debug outputs would primarily useful to> people who are actively developing IceCat, in which case it makes more> sense to build it manually to allow incremental rebuilds after modifying> the source code.
I agree---I think it's best not to burden all users (that choose to orhave to build) in this case.
-- Mike Gerwitz
R
R
raingloom wrote on 2 Oct 2020 00:57
(name . Mark H Weaver)(address . mhw@netris.org)(address . 43610@debbugs.gnu.org)
20201002005739.4b7185eb@riseup.net
On Sun, 27 Sep 2020 16:36:52 -0400Mark H Weaver <mhw@netris.org> wrote:
Toggle quote (28 lines)> Hi,> > raingloom <raingloom@riseup.net> writes:> > > On Sat, 26 Sep 2020 14:05:53 -0400> > Mark H Weaver <mhw@netris.org> wrote:> > > >> In the meantime, to start IceCat 78 with your existing profile but> >> with addons temporarily disabled, try running:> >> > >> icecat -safe-mode> >> > >> That should allow you to recover your existing bookmarks, history,> >> cookies, saved passwords, tabs, etc. Then you can try adding back> >> your preferred addons incrementally to find out which one is> >> causing the problem. > >> > It still crashes with the -safe-mode flag. Luckily I keep most> > things outside modern browsers, so it's not a huge loss. (For> > obvious reasons I do not consider them reliable.) > > If you'd like to try another experiment, it would be interesting to> know if you're able to recover most of your old profile by running> "icecat -safe-mode -p", selecting your old profile, and clicking on> the "Refresh IceCat" button that is presented. That will reset all> preferences to the IceCat defaults, but might enable you to recover> the things I listed above.
What I tried was running the old IceCat and disabling every singleaddon. It did not fix anything.Gonna see if my about:config modifications are messing something up.
I hate these "modern" (transl.: google approved) browsers so frickingmuch...
R
R
raingloom wrote on 2 Oct 2020 01:28
(address . 43610@debbugs.gnu.org)
20201002012849.42ae8392@riseup.net
On Fri, 2 Oct 2020 00:57:39 +0200raingloom <raingloom@riseup.net> wrote:
Toggle quote (38 lines)> On Sun, 27 Sep 2020 16:36:52 -0400> Mark H Weaver <mhw@netris.org> wrote:> > > Hi,> > > > raingloom <raingloom@riseup.net> writes:> > > > > On Sat, 26 Sep 2020 14:05:53 -0400> > > Mark H Weaver <mhw@netris.org> wrote:> > > > > >> In the meantime, to start IceCat 78 with your existing profile> > >> but with addons temporarily disabled, try running:> > >> > > >> icecat -safe-mode> > >> > > >> That should allow you to recover your existing bookmarks,> > >> history, cookies, saved passwords, tabs, etc. Then you can try> > >> adding back your preferred addons incrementally to find out> > >> which one is causing the problem. > > >> > > It still crashes with the -safe-mode flag. Luckily I keep most> > > things outside modern browsers, so it's not a huge loss. (For> > > obvious reasons I do not consider them reliable.) > > > > If you'd like to try another experiment, it would be interesting to> > know if you're able to recover most of your old profile by running> > "icecat -safe-mode -p", selecting your old profile, and clicking on> > the "Refresh IceCat" button that is presented. That will reset all> > preferences to the IceCat defaults, but might enable you to recover> > the things I listed above. > > What I tried was running the old IceCat and disabling every single> addon. It did not fix anything.> Gonna see if my about:config modifications are messing something up.> > I hate these "modern" (transl.: google approved) browsers so fricking> much...
Well, what ended up working was deleting a bunch of file from theprofile directory. No idea which deletion made it work and at thispoint I just wanna crawl back to Netsurf.Can't say I'd recommend this workaround to regular users, but if youcan guess what those files are, you should be safe.
Files and directories I deleted: (taken from ~/.local/share/Trash/files)
```{513646f8-fb87-4135-a41e-4cf1d1ccccf2}{74145f27-f039-47ce-a470-a662b129930a}{9063c2e9-e07c-4c2c-9646-cfe7ca8d0498}AlternateServices.2.txtAlternateServices.txtblocklist.xmlbroadcast-listeners.json{c2c003ee-bd69-42a2-b0e9-6f34222cb046}{c607c8df-14a7-4f28-894f-29e8722976af}cert_override.txtcompatibility.2.inicompatibility.inicontainers.jsondatareporting{de89ec3b-0f2a-45af-aeec-931d16988f72}{e4a8a97b-f2ed-450b-b12d-ee082ba24781}enumerate_devices.txtgmphandlers.jsonhttps-everywhere@eff.orgpkcs11.txtprefs.jsSecurityPreloadState.txtsessionCheckpoints.jsonsessionstore.jsonlz4shinigamieyes@shinigamieyesSiteSecurityServiceState.txtstagedstorage.sqlitestorage-sync.sqliteTelemetry.ShutdownTime.txttimes.jsonTRRBlacklist.txtwappalyzer@crunchlabz.comweave```
R
R
Ricardo Wurmus wrote on 9 Oct 2020 09:42
(address . 43610@debbugs.gnu.org)
87d01rzvzn.fsf@elephly.net
I have the same problem. Icecat segfaults right away without any windowappearing. “-safe-mode” does not make a difference, but with “-p” I’mpresented with the profile manager. I haven’t tried creating a newprofile yet, nor have I tried deleting files from my existing profile.
I’m using Gnome on Guix System. To be sure that it isn’t caused by aknown bug in how we packaged Gnome Shell, I unset LD_LIBRARY_PATH beforerunning icecat, but with no effect.
I see a segfault with the latest icecat-78.3.1-guix0-preview1 and withthe older 78.3.0-guix0-preview1. No segfault with68.12.0-guix0-preview1.
-- Ricardo
R
R
Ricardo Wurmus wrote on 30 Nov 2020 21:06
(address . 43610@debbugs.gnu.org)
87ft4q8v9q.fsf@elephly.net
Ricardo Wurmus <rekado@elephly.net> writes:
Toggle quote (13 lines)> I have the same problem. Icecat segfaults right away without any window> appearing. “-safe-mode” does not make a difference, but with “-p” I’m> presented with the profile manager. I haven’t tried creating a new> profile yet, nor have I tried deleting files from my existing profile.>> I’m using Gnome on Guix System. To be sure that it isn’t caused by a> known bug in how we packaged Gnome Shell, I unset LD_LIBRARY_PATH before> running icecat, but with no effect.>> I see a segfault with the latest icecat-78.3.1-guix0-preview1 and with> the older 78.3.0-guix0-preview1. No segfault with> 68.12.0-guix0-preview1.
Starting the new Icecat with “icecat --migration” and telling it toimport the existing Icecat profile did the trick for me. I did notdelete anything from my existing profile.
It would certainly be nice if Icecat didn’t segfault when loading datathat it can in principle migrate, but that’s not actually a Guix bug Ithink.
-- Ricardo
R
R
Ricardo Wurmus wrote on 30 Nov 2020 21:12
(address . 43610@debbugs.gnu.org)
87czzu8uyn.fsf@elephly.net
Ricardo Wurmus <rekado@elephly.net> writes:
Toggle quote (19 lines)> Ricardo Wurmus <rekado@elephly.net> writes:>>> I have the same problem. Icecat segfaults right away without any window>> appearing. “-safe-mode” does not make a difference, but with “-p” I’m>> presented with the profile manager. I haven’t tried creating a new>> profile yet, nor have I tried deleting files from my existing profile.>>>> I’m using Gnome on Guix System. To be sure that it isn’t caused by a>> known bug in how we packaged Gnome Shell, I unset LD_LIBRARY_PATH before>> running icecat, but with no effect.>>>> I see a segfault with the latest icecat-78.3.1-guix0-preview1 and with>> the older 78.3.0-guix0-preview1. No segfault with>> 68.12.0-guix0-preview1.>> Starting the new Icecat with “icecat --migration” and telling it to> import the existing Icecat profile did the trick for me. I did not> delete anything from my existing profile.
This is not a complete fix, though. Icecat goes straight back tosegfaulting when restarted. When I start it with “icecat --migration”and import the profile (every time I start it) I can get past thesegfault. So, whatever it does there does not seem to be permanent.
-- Ricardo
A
A
Alex ter Weele wrote on 13 Dec 2020 19:19
(name . raingloom)(address . raingloom@riseup.net)(address . 43610@debbugs.gnu.org)
87czzda7rb.fsf@librem.i-did-not-set--mail-host-address--so-tickle-me
raingloom <raingloom@riseup.net> writes:
Toggle quote (9 lines)> On Fri, 2 Oct 2020 00:57:39 +0200> raingloom <raingloom@riseup.net> wrote:>> Well, what ended up working was deleting a bunch of file from the> profile directory. No idea which deletion made it work and at this> point I just wanna crawl back to Netsurf.> Can't say I'd recommend this workaround to regular users, but if you> can guess what those files are, you should be safe.
Thanks to raingloom, we know that deleting some parts of the profile canwork around the segfault. I set out to find the minimal part of myprofile that I could delete while still working around thesegfault.
All I had to delete was the line
user_pref("network.captive-portal-service.enabled", true);
from ~/.mozilla/icecat/$my-profile/prefs.js.
Methodology: I put my whole profile into a git repo, then deleted it fileby file with
for i in * ; dorm $igit commit -am "Remove $i"done
then I used git bisect to find which file(s) had to be deleted beforeicecat wouldn't segfault.
Once I had a set of files whose deletion avoided the segfault, Iminimized that set by "un"deleting them by git reverting the commitsthat deleted them. Eventually I undeleted all the files in the setexcept prefs.js.
I then bisected on the lines in prefs.js, this time manually. I foundthat the deletion of just the network.captive-portal-service.enabledpref is sufficient to avoid the segfault.
I tested this with icecat 78.4.0-guix0-preview1.
$ guix describe Generation 318 Nov 12 2020 07:36:51 (current) ... guix 07914de repository URL: https://git.savannah.gnu.org/git/guix.git branch: master commit: 07914def98ca0d148e3522466227304e45286786
L
L
Ludovic Courtès wrote on 15 Dec 2020 12:24
(name . Alex ter Weele)(address . alex.ter.weele@gmail.com)
87zh2fmhwa.fsf@gnu.org
Hi Alex,
Alex ter Weele <alex.ter.weele@gmail.com> skribis:
Toggle quote (6 lines)> All I had to delete was the line>> user_pref("network.captive-portal-service.enabled", true);>> from ~/.mozilla/icecat/$my-profile/prefs.js.
Good to know. Who could have guessed?
Toggle quote (11 lines)> Methodology: I put my whole profile into a git repo, then deleted it file> by file with>> for i in * ; do> rm $i> git commit -am "Remove $i"> done>> then I used git bisect to find which file(s) had to be deleted before> icecat wouldn't segfault.
Heh, smart!
Thanks for sharing your findings,Ludo’.
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send email to 43610@debbugs.gnu.org