-
-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Browser will crash after 3603 or 3604 seconds #5656
Comments
Would be good to know if you can reproduce this with |
I just fired it up, and will update in an hour or two. |
Well, it did not fail, and is still running. So, that points it to something in my config? Thoughts on how to debug that? Thanks! |
Okay, so I did some reading from https://www.qutebrowser.org/doc/stacktrace.html
|
That's not a very informative stack trace. You can go to qute://configdiff/ to see differences from the default config. Your config.py would be the other point of interest since it doesn't happen with a temp basdir. Either share them here or read through them and manually bisect if nothing jumps out at you. |
@toofar thanks for the pointers. I agree the trace was pretty light on details. :( I have looked at
I am not sure if the |
Okay, I have turned off almost everything, to the point that
And now, I can get all the way up to 3605 seconds! Whilst I do like the reminder to get up and move every hour, it does get a little frustrating to have the reminder be the browser crashing like clockwork. Any more thoughts on what to go look for? |
The only other thing I can thing of is the crashes around service workers: #5279 If you could try moving Also if you aren't running in a terminal with |
I left my computer off for one week, now I have the same problem, on 1.13.0 and 1.13.1. I deleted It is running now for more than one hour. |
@toofar I will try that this morning. So, when I looked in ~/.local/share/qutebrowser/webengine/, the last files updated which were updated when the browser shutdown was Cookies and Cookies-journal. The latter was empty. Not sure if this helps. |
Please don't remove anything, just move it away - removing means it's impossible to investigate what was going on, or to test possible workarounds. |
@The-Compiler sorry to mis-type. I did back up the webengine directory, and will do the same for the cache dir if I need to. |
Okay. Just cleared two hours running with |
And an update: after 2.5 hours, it stable and still running. Next question: would the old webengine dir be useful for debugging? If so, is there a good reference on what I would find in there so I can prep it to be shared? |
This is most likely a QtWebEngine issue and not a bug in qutebrowser - but the directory would definitely be useful to report a bug upstream. Not sure what's in there exactly, the data is coming from the underlying Chromium... It'd be good to find out what exactly in there is causing the crash, but that's kind of tedious... I wonder if you can trigger it by moving your system clock forward by an hour? |
So, I think I figured out what is causing the bug. After things has settled down, I started adding things back into my config. After I added Dracula color theme for qutebrowser (https://github.com/dracula/qutebrowser), guess what? It happened again. I pulled it back out of my config, and if it does not fail in 20 minutes or so, I will open a ticket in the theme's repo, and see if I can figure out how to work with them to a) get a fix in the theme and b) isolate a reproducer to submit upstream to the QtWebEngine folks. I want to thank you all for your help in narrowing down the issue. I will keep this open until I get bugs opened in the other trackers so I can make sure everyone who wants to know about this can find the issue no matter of the entry vector. |
New try with new empty webengine dir and no dracula theme. sigh |
Yup. Confirmed. Something in that color theme makes a config change which freaks out the QtWebEngine. |
That's crazy. I have no idea what that could be. That wouldn't be consistent with what @schodet has mentioned though? Are you sure it's really the theme, and not something in I'll give it a try later this week and see if I can reproduce it with that. |
I know, it seems odd. I did not clean my cache during this whole process. I suppose the next step would be move the cache dir out of the way, re-enable the theme, and see how long it goes. I will try to set that up this evening. I have to go get dinner running, so I will be off keyboard for a few hours. |
Over in dracula/qutebrowser#8 you said:
What I don't understand there: What makes you think it's the theme triggering this, and not the removal of FWIW I tried to reproduce by doing:
import dracula.draw
# Load existing settings made via :set
config.load_autoconfig()
dracula.draw.blood(c, {
'spacing': {
'vertical': 6,
'horizontal': 8
}
})
I left it run overnight for 8h, without any issues. |
Tests I have done on my side:
After the message about dracula theme, I made another test:
I am sorry I removed my cache dir, I realized it was a mistake when it was gone. |
So if I'm getting this right:
That doesn't make me any less confused... 😕 |
@The-Compiler Why I think it is the theme is that when I added it back, I get the crash. Then I remove it from my config, and it still crashes until I reset the webengine dir. |
Ah, that clarifies things. Did you actually browse around while reproducing this with the theme enabled? I wonder if it's some site you regularly visit which is somehow storing some data which triggers the crash.
No worries! |
Major sites I visit: Reddit, YouTube, Gmail, handful of internally hosted apps, duck-duck-go, plus the random blogs. |
About a week ago I ran into this and was more concerned with attending work meetings than anything else - didn't realize the importance of data and removed both Fast forward to today: laptop hard-reset for other reasons, qutebrowser crashes again. Directories removed again, qutebrowser still crashes. I can get some more information tomorrow morning. |
I'm seeing the exact same issue. I didn't realize it was happening at the same time, and then I read this issue and started running qutebrowser from the terminal with the time command.
I'm also running the 1.13.1 venv version
|
@CD3 Whatever you do, please do not delete the cache/config/data directories:
Can you please try whether you can also force the crash to appear by adjusting your clock forward by one hour? Also, can you please try moving those directories away one by one (with qutebrowser quit) and see which one triggers it? |
OK, I have not deleted any of the directories. Adjusting the clock forward did not affect anything, other than the runtime reported by the
I'll start moving directories one by one. |
I've also been having this issue and I also use the dracula theme. I moved
I still have the old webengine folder if there is anything I can do to help debug this issue? |
@toshism It'd be great to find out what in there is causing the crash. If you want to continue using your instance, you should be able to do:
Unfortunately that's kind of tedious, but it'd give us a first idea of where the issue is. Like @toofar mentioned above, my first guess would be the "Service Worker" subdirectory. |
So far I have moved |
I copied my old webengine folder to the new basedir and left it running overnight, and it's still running 8 hours later. No crashes. Interesting.... I also had an instance with the "new" webengine folder running. I am not sure if that could have any effect. So in summary: So it seems it's either some combination of webengine and something else in the basedir, or running both versions had some effect. Tonight I'll try again with only the new basedir and old webengine running. |
@The-Compiler Well, this is strange. I moved each of the directories one at a time as you suggested and have not had a crash since. I even moved all of the original directories back and left it running overnight with no crash. So it seems to be "fixed" for now, but I will report back if I can reproduce the crash. |
Until someone has a somewhat reliable idea on how to reproduce this, I'm pretty much out of ideas... Can anyone who can still reproduce this (@CD3 @toshism @smaslennikov) get a stacktrace? You won't be able to get any debug symbols for the binary since you all seem to have qutebrowser installed via virtualenv, but at least it'd be good to confirm you're seeing the same crash as @duckunix in #5656 (comment). |
I have not been able to reproduce it since i moved the webengine folder. I'll keep experimenting though to see if i can trigger it again. stack trace from when i could trigger it.
|
Hi, I've been affected by this problem too for the past 2 weeks. I have run
I have also run
message within the last second of debug output before the crash. This was the only point in common between the outputs of my two crashes from this morning. |
I don't have any real details, but I just wanted to add that this actually starts to reoccur some time after removing the webengine folder. I remove the webengine folder and everything is fine for a few days/weeks and then the same issue will start to reoccur. I've removed the webengine folder probably 5 times now and it eventually comes back. Not sure if that is helpful or not, but maybe. |
I still encounter this problem where after a while, After doing this a few times, I figured I would try to find more specifically what needs to be deleted inside I hope this can help in narrowing down the problem! |
Could someone who can reproduce this try to start with So far, this does sound a lot like another case of #5279 (and #5634 probably is too) - just that some change in Qt 5.15 made it harder to debug because it now only happens after 1h. It still sounds like the issue described in the relevant Qt bug: Somehow the cache storage gets corrupted, and Chromium crashes when it tries to read that storage. The million dollar question nobody has been able to answer yet is how those files got corrupted in the first place... |
@The-Compiler I've restarted |
Potentially of note: I've got this issue, moved |
I believe I'm also having this issue, although I haven't checked yet that it happens after exactly one hour, it's pretty close to that. I'm having the issue on Ubuntu 20.04 LTS, with QB built from source, although the reason I chose to build it is because I had the same issue with the version from apt (it's probably about six months since I changed to source-built). Latest crash log: https://pastebin.com/mU0r8nsj I also have another computer (two actually) running arch, where I've never experienced this, with the pacman version. Version dump from that one: https://pastebin.com/hMK9z8xp I see there are some differences between the two, but I'm not sure if it's worth the time to start messing with version numbers at random(?). User config files are identical on all my machines. Like rperce I tried to move my webengine directory yesterday, and that seemed to temporarily solve the issue. Today though, after a reboot, it's back again. I have both the webengine dirs from yesterday and today available, if there's something to investigate in those, I will gladly do so. |
I also remembered: Earlier, I ran arch on this machine as well, with qutebrowser from pacman running completely fine. It started to happen after I decided to test out 20.04 (which I'm still doing 🙂 ). I will probably switch back to Arch sooner or later, but I could to some testing and comparisons on my Arch and Ubuntu machines if there's anything that can help. Only caveat is, I probably won't be able to do much on the Arch machine until december 1st, as I'm in the middle of moving to a new appartment right now. |
Accidentally sent a crash report today when the issue occured again, which probably won't contain much info not already in my pastebin links. Sorry about that... |
So, I have found that if I remove |
You should be able to see what service workers are registered from Application > Service Workers > "Service workers from other origins" in the dev tools. And chrome://serviceworker-internals/ |
FWIW, I was seeing intermittent crashes and I ended up defining a cron job to |
I've ended up with a similar solution for now, note that I only need to delete the "Service Workers/CacheStorage" folder (stored this as ~/bin/qutebrowser, which is in my path):
This deletes the folder each time I exit qutebrowser, which seems to be enough in my case. |
I am experiencing the same trouble, and also the “rm workarround” works. I have the feeling the website that trigger the crash are those sending desktop notifications. |
I can also concur that I do not experience frequent arbitrary crashes any more after applying @mavaa's workaround (removing the cache before every start of the browser): #!/bin/bash
rm -frv ~/.local/share/qutebrowser/webengine/Service\ Worker/CacheStorage
~/.local/src/qutebrowser/.venv/bin/python3 -m qutebrowser "$@" |
Tested that, and so far, so good! |
With 7d8fd50 I've now introduced a new I'm not really happy with that workaround (and I'd still hope someone gets a reliable reproducer for this some day, so that I can report this properly to Qt upstream) - but I guess for affected people it's a better escape hatch than having to write a wrapper script around qutebrowser. @mavaa To be honest I'm surprised that approach (deleting the folder after qutebrowser quits) works - I suspect this is caused by an unclean shutdown of some sorts, so I wonder if this gets executed at all. Even if it does, this currently wouldn't work, as
@cizmazia @duckunix FWIW this is more or less what qutebrowser is doing now with that workaround enabled. |
My version works because then the folder won't exist the next time I start qutebrowser 🙂 Regarding the ~ you're correct. I have the path hard-coded to my home folder, and rewrote it for github without testing if it works... |
Version info:
Does the bug happen if you start with
--temp-basedir
?:Have not tested.
Description
Browser will exit after 3603 or 3604 seconds repeatably. This can be if the browser is idle, or if the browser is in active use.
How to reproduce
scripts/mkvenv.sh
. ${VENV-PATH}/bin/activate
qutebrowser
The text was updated successfully, but these errors were encountered: