Skip to content
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

Renderer crashes with QtWebEngine 5.15 and newer glibc versions #7353

Open
optik-aper opened this issue Aug 20, 2022 · 8 comments
Open

Renderer crashes with QtWebEngine 5.15 and newer glibc versions #7353

optik-aper opened this issue Aug 20, 2022 · 8 comments
Labels
priority: 1 - middle Issues which should be done at some point, but aren't that important.

Comments

@optik-aper
Copy link

Version info:

version info

Does the bug happen if you start with --temp-basedir?:
Yeah

Description
I'm getting a rederer crashed error immediately after starting qutebrowser from the virtual envrionment on Ubuntu 22.04. DuckDuckGo won't load, no new page will load, including :version. They all show red status in the tab color bar. The debug message is:

12:45:56 ERROR    webview    tabbedbrowser:show_error_page:945 Renderer process crashed

I tried building the virtual environment with different QT versions (5.13, 5.14 and 5.15). I didn't have any success with any of these; 5.14 segfaulted even before spawing the window.

Eventually I was able to get it to work, I think, by passing the --single-process flag to QT via .venv/bin/python3 qutebrowser.py -l debug --qt-flag single-process. I'm not sure if this is an ideal situation though so thought I'd report my issue.

How to reproduce

  • Clone the repo
  • Build the virtual env
    • .venv/bin/python3 mkvenv.py --skip-docs
  • Start the browser via shell script
#!/bin/zsh
~/repos/qutebrowser/.venv/bin/python3 -m qutebrowser "$@"
  • Check the output and see renderer crashed message above.
@The-Compiler
Copy link
Member

Does using -s qt.chromium.sandboxing disable-seccomp-bpf instead help?

@The-Compiler The-Compiler added the status: needs triage Issues/PRs which need some deeper investigation. label Aug 20, 2022
@optik-aper
Copy link
Author

It doesn't appear so. Upon opening:

michael  ~/repos/qutebrowser (:f11cdd0bf|✔)
 Φ .venv/bin/python3 qutebrowser.py -s qt.chromium.sandboxing disable-seccomp-bpf                                                13:40
13:41:13 ERROR: set: NoOptionError - No option 'qt.chromium.sandboxing'
13:41:14 ERROR: Renderer process crashed
13:41:14 ERROR: Renderer process crashed
13:41:14 ERROR: Renderer process crashed
13:41:15 ERROR: Renderer process crashed

It also cannot load the :version page with that option

@toofar
Copy link
Member

toofar commented Aug 21, 2022

set: NoOptionError - No option 'qt.chromium.sandboxing'

Your version output says you are running on f11cdd0bf on HEAD (2021-02-04 10:19:33 +0100), that option was only added this year.
Any reason you are running from git with such an old version? If so you can probably pass disable-seccomp-filter-sandbox in the qt.args argument. But if not try it with a recent checkout? Either the v2.5.2 tag or just current master should do it.

Without stack traces all we can do is ask about your environment and search the issues for other ones mentioning single process mode.

@optik-aper
Copy link
Author

Ah, shoot, yeah. I was trying different tags to get a sense of if it was an older version. When I checkout v2.5.2 that option is available and works!

michael  ~/repos/qutebrowser (:951a14a66|✔)
 Φ .venv/bin/python3 qutebrowser.py -s qt.chromium.sandboxing disable-seccomp-bpf                                                22:44
22:44:10 INFO: Removing service workers at /home/michael/.local/share/qutebrowser/webengine/Service Worker (reason: QtWebEngine version changed)
22:44:11 INFO: Showing changelog after upgrade to qutebrowser v2.5.2.

version info

@The-Compiler The-Compiler changed the title Renderer crash with multiple QT processes Renderer crashes with QtWebEngine 5.15 and newer glibc versions Aug 22, 2022
@The-Compiler The-Compiler added priority: 1 - middle Issues which should be done at some point, but aren't that important. and removed status: needs triage Issues/PRs which need some deeper investigation. labels Aug 22, 2022
@The-Compiler
Copy link
Member

This is a known issue with QtWebEngine 5.15.2 (which is the newest Qt 5 available as binary build) and newer glibc versions - it's been known for some time on Archlinux, guess Ubuntu 22.04 comes with a newer glibc too.

Guess we should make this cleaner in the docs though, and maybe also make mkvenv.py or qutebrowser itself warn about it.

Is there a particular reason you're not using Ubuntu's QtWebEngine instead? If you want to run from the git repo, you can use mkvenv.py with --pyqt-type link.

@optik-aper
Copy link
Author

I didn't know about that flag. I started with the version in the Ubuntu repo but it wasn't compiled with adblock so I decided to run it all from the git repo. I'll try using ubuntu's version. Thanks for the help!

@lidgnulinux
Copy link

Hello, I'm facing same issue. Using -s qt.chromium.sandboxing disable-seccomp-bpf seems fix the issue, but it's a bit weird.

@The-Compiler
Copy link
Member

@lidgnulinux This is not something qutebrowser can do anything about (other than show a warning or so). You will need to use either that option (reducing security), or a newer Qt 5.15 (usually from your Linux distribution) or try the Qt 6 branch (#7202).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
priority: 1 - middle Issues which should be done at some point, but aren't that important.
Projects
None yet
Development

No branches or pull requests

4 participants