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

random crashes when opening websites especially youtube #4502

Closed
Iduoad opened this issue Dec 31, 2018 · 21 comments
Closed

random crashes when opening websites especially youtube #4502

Iduoad opened this issue Dec 31, 2018 · 21 comments
Labels
status: needs triage Issues/PRs which need some deeper investigation.

Comments

@Iduoad
Copy link

Iduoad commented Dec 31, 2018

Version info (see :version):

qutebrowser v1.5.2
Git commit: 
Backend: QtWebEngine (Chromium 69.0.3497.128)

CPython: 3.7.1
Qt: 5.12.0
PyQt: 5.11.3

sip: 4.19.13
colorama: 0.4.1
pypeg2: 2.15
jinja2: 2.10
pygments: 2.3.1
yaml: 3.13
cssutils: no
attr: 18.2.0
PyQt5.QtWebEngineWidgets: yes
PyQt5.QtWebKitWidgets: yes
pdf.js: no
sqlite: 3.26.0
QtNetwork SSL: OpenSSL 1.1.1a  20 Nov 2018

Style: QFusionStyle
Platform: Linux-4.20.0-arch1-1-ARCH-x86_64-with-arch, 64bit
Linux distribution: Arch Linux (arch)
Frozen: False
Imported from /usr/lib/python3.7/site-packages/qutebrowser
Using Python from /usr/bin/python3
Qt library executable path: /usr/lib/qt/libexec, data path: /usr/share/qt

Description
I've experienced many crushes at random times for the last month or so. Nevertheless, it always crushes when opening youtube after the browser's startup.

the --debug report

04:49:29 DEBUG    webview    tabbedbrowser:on_title_changed:605 Changing title for idx 0 to 'https://www.youtube.com'
04:49:29 DEBUG    mouse      mouse:eventFilter:79 <qutebrowser.browser.webengine.webview.WebEngineView object at 0x7f982024fb88>: removed child <PyQt5.QtCore.QObject object at 0x7f982011d678>
04:49:29 DEBUG    webview    tabbedbrowser:on_title_changed:605 Changing title for idx 0 to 'YouTube'
04:49:29 DEBUG    js         shared:javascript_log_message:147 [:0] Styling master document from stylesheets defined in HTML Imports is deprecated. Please refer to https://goo.gl/EGXzpw for possible migration paths.
04:49:29 INFO     webview    interceptor:interceptRequest:89 Request to googleads.g.doubleclick.net blocked by host blocker.
04:49:30 DEBUG    js         shared:javascript_log_message:147 [https://www.youtube.com/yts/jsbin/desktop_polymer-vflZcYLH_/desktop_polymer.js:1849] <link rel=preload> must have a valid `as` value
Received signal 11 SEGV_ACCERR 7fba878e24d8
#0 0x7fba8337898e <unknown>
#1 0x7fba83371713 <unknown>
#2 0x7fba83378905 <unknown>
#3 0x7fba80cb4e00 <unknown>
#4 0x7fba854918f7 <unknown>
#5 0x7fba82005812 <unknown>
#6 0x7fba8360295d <unknown>
#7 0x7fba83606289 <unknown>
#8 0x7fba8360afe9 <unknown>
#9 0x7fba835ffefa <unknown>
#10 0x7fba836002ac <unknown>
#11 0x7fba8361b3e0 <unknown>
#12 0x7fba832e8280 <unknown>
#13 0x7fba8330ba02 <unknown>
#14 0x7fba8330c64f <unknown>
#15 0x7fba8330c7d8 <unknown>
#16 0x7fba83390e12 <unknown>
#17 0x7fba8332c63b <unknown>
#18 0x7fba8335f608 <unknown>
#19 0x7fba83390361 <unknown>
#20 0x7fba80c63a9d start_thread
#21 0x7fba80d78b23 __GI___clone
  r8: 0000000000000007  r9: 0000000000000006 r10: 00007fba58016e70 r11: 00007fba80e0a020
 r12: 00007fba7252c090 r13: 00007fba5803d460 r14: 00007fba7252bf80 r15: 00007fba5803d460
  di: 00007fba5803d460  si: 00007fba7252bf68  bp: 00007fba7252bf50  bx: 0000000028ec8149
  dx: 00005564c29f2ed0  ax: 00007fba878e24d8  cx: 000000000000024b  sp: 00007fba7252bf28
  ip: 00007fba854918f7 efl: 0000000000010202 cgf: 002b000000000033 erf: 0000000000000007
 trp: 000000000000000e msk: 0000000000000000 cr2: 00007fba878e24d8
[end of stack trace]
Calling _exit(1). Core file will not be generated.
04:49:30 DEBUG    mouse      mouse:eventFilter:79 <qutebrowser.browser.webengine.webview.WebEngineView object at 0x7f982024fb88>: removed child <PyQt5.QtCore.QObject object at 0x7f982011da68>
04:49:30 DEBUG    sql        sql:__init__:174 Preparing SQL query: "INSERT INTO History (url, title, atime, redirect) values(:url, :title, :atime, :redirect)"
04:49:30 DEBUG    sql        sql:run:207 Running SQL query: "INSERT INTO History (url, title, atime, redirect) values(:url, :title, :atime, :redirect)"
04:49:30 DEBUG    sql        sql:run:210 query bindings: {':atime': 1546228170, ':redirect': True, ':title': 'YouTube', ':url': 'http://youtube.com/'}
04:49:30 DEBUG    sql        sql:__init__:174 Preparing SQL query: "INSERT INTO History (url, title, atime, redirect) values(:url, :title, :atime, :redirect)"
04:49:30 DEBUG    sql        sql:run:207 Running SQL query: "INSERT INTO History (url, title, atime, redirect) values(:url, :title, :atime, :redirect)"
04:49:30 DEBUG    sql        sql:run:210 query bindings: {':atime': 1546228170, ':redirect': False, ':title': 'YouTube', ':url': 'https://www.youtube.com/'}
04:49:30 DEBUG    sql        sql:__init__:174 Preparing SQL query: "REPLACE INTO CompletionHistory (url, title, last_atime) values(:url, :title, :last_atime)"
04:49:30 DEBUG    sql        sql:run:207 Running SQL query: "REPLACE INTO CompletionHistory (url, title, last_atime) values(:url, :title, :last_atime)"
04:49:30 DEBUG    sql        sql:run:210 query bindings: {':last_atime': 1546228170, ':title': 'YouTube', ':url': 'https://www.youtube.com/'}
04:49:30 DEBUG    sessions   sessions:save:289 Saving session _autosave to /home/guru/.local/share/qutebrowser/sessions/_autosave.yml...
04:49:30 DEBUG    webview    browsertab:_set_load_status:814 load status for <qutebrowser.browser.webengine.webenginetab.WebEngineTab tab_id=0 url='https://www.youtube.com/'>: LoadStatus.success_https
04:49:30 DEBUG    signals    signalfilter:_filter_signals:86 emitting: cur_load_status_changed('success_https') (tab 0)
04:49:30 DEBUG    signals    signalfilter:_filter_signals:86 emitting: cur_load_finished(True) (tab 0)
04:49:30 DEBUG    mouse      mouse:eventFilter:55 <qutebrowser.browser.webengine.webview.WebEngineView object at 0x7f982024fb88> got new child <PyQt5.QtWidgets.QWidget object at 0x7f982011da68>, installing filter
04:49:30 ERROR    webview    tabbedbrowser:show_error_page:793 Renderer process crashed
04:49:30 DEBUG    sessions   sessions:save:289 Saving session _autosave to /home/guru/.local/share/qutebrowser/sessions/_autosave.yml...
04:49:30 DEBUG    webview    browsertab:_set_load_status:814 load status for <qutebrowser.browser.webengine.webenginetab.WebEngineTab tab_id=0 url='https://www.youtube.com/'>: LoadStatus.success_https
04:49:30 DEBUG    signals    signalfilter:_filter_signals:86 emitting: cur_load_status_changed('success_https') (tab 0)
04:49:30 DEBUG    signals    signalfilter:_filter_signals:86 emitting: cur_load_finished(True) (tab 0)
04:49:30 DEBUG    webview    browsertab:_set_load_status:814 load status for <qutebrowser.browser.webengine.webenginetab.WebEngineTab tab_id=0 url='https://www.youtube.com/'>: LoadStatus.loading
04:49:30 DEBUG    signals    signalfilter:_filter_signals:86 emitting: cur_load_status_changed('loading') (tab 0)
04:49:30 DEBUG    signals    signalfilter:_filter_signals:86 emitting: cur_load_started() (tab 0)
04:49:30 DEBUG    modes      modeman:leave:307 Ignoring leave request for KeyMode.insert (reason load started) as we're in mode KeyMode.normal
04:49:30 DEBUG    modes      modeman:leave:307 Ignoring leave request for KeyMode.hint (reason load started) as we're in mode KeyMode.normal
@ninewise
Copy link

Does this also happen when you open youtube with qutebrowser --temp-basedir "https://www.youtube.com"? Or if you first open the browser (with --temp-basedir), then open youtube?

@jgkamat
Copy link
Member

jgkamat commented Dec 31, 2018 via email

@Iduoad
Copy link
Author

Iduoad commented Jan 1, 2019

It does not happen when I open youtube with qutebrowser --temp-basedir

@ninewise
Copy link

ninewise commented Jan 1, 2019

Then something in your configuration seems to be causing this. Would you mind sharing the contents of qute://configdiff (you can of course leave out some private entries) along with the stacktrace jgkamat asked?

@Iduoad
Copy link
Author

Iduoad commented Jan 1, 2019

format mp3 -o ~/Music/%(title)s.%(ext)s", "ybp": "spawn mpv --ytdl-format=\"18\" {url}"}}
colors.completion.category.bg = #060605
colors.completion.category.border.bottom = #060605
colors.completion.category.border.top = #060605
colors.completion.category.fg = #cbd0db
colors.completion.even.bg = #060605
colors.completion.fg = #cbd0db
colors.completion.item.selected.bg = #A4A19F
colors.completion.item.selected.border.bottom = #060605
colors.completion.item.selected.border.top = #060605
colors.completion.item.selected.fg = #cbd0db
colors.completion.match.fg = #7B8598
colors.completion.odd.bg = #060605
colors.completion.scrollbar.bg = #060605
colors.completion.scrollbar.fg = #cbd0db
colors.downloads.bar.bg = #060605
colors.downloads.error.bg = #A4A19F
colors.downloads.error.fg = #cbd0db
colors.downloads.stop.bg = #B8C3BF
colors.downloads.system.bg = none
colors.hints.bg = #7B8598
colors.hints.fg = #060605
colors.hints.match.fg = #A69A8E
colors.keyhint.bg = #060605
colors.keyhint.fg = #cbd0db
colors.keyhint.suffix.fg = #7B8598
colors.messages.error.bg = #A4A19F
colors.messages.error.border = #A4A19F
colors.messages.error.fg = #cbd0db
colors.messages.info.bg = #A69A8E
colors.messages.info.border = #A69A8E
colors.messages.info.fg = #cbd0db
colors.messages.warning.bg = #DCC351
colors.messages.warning.border = #DCC351
colors.messages.warning.fg = #cbd0db
colors.prompts.bg = #060605
colors.prompts.border = 1px solid #060605
colors.prompts.fg = #cbd0db
colors.prompts.selected.bg = #A4A19F
colors.statusbar.caret.bg = #B8C3BF
colors.statusbar.caret.fg = #cbd0db
colors.statusbar.caret.selection.bg = #B8C3BF
colors.statusbar.caret.selection.fg = #cbd0db
colors.statusbar.command.bg = #060605
colors.statusbar.command.fg = #cbd0db
colors.statusbar.command.private.bg = #060605
colors.statusbar.command.private.fg = #cbd0db
colors.statusbar.insert.bg = #4865A9
colors.statusbar.insert.fg = #060605
colors.statusbar.normal.bg = #060605
colors.statusbar.normal.fg = #cbd0db
colors.statusbar.passthrough.bg = #A69A8E
colors.statusbar.passthrough.fg = #cbd0db
colors.statusbar.private.bg = #060605
colors.statusbar.private.fg = #cbd0db
colors.statusbar.progress.bg = #cbd0db
colors.statusbar.url.error.fg = #A4A19F
colors.statusbar.url.fg = #cbd0db
colors.statusbar.url.hover.fg = #A69A8E
colors.statusbar.url.success.http.fg = #cbd0db
colors.statusbar.url.success.https.fg = #4865A9
colors.statusbar.url.warn.fg = #DCC351
colors.tabs.bar.bg = #060605
colors.tabs.even.bg = #060605
colors.tabs.even.fg = #cbd0db
colors.tabs.indicator.error = #A4A19F
colors.tabs.indicator.system = none
colors.tabs.odd.bg = #060605
colors.tabs.odd.fg = #cbd0db
colors.tabs.selected.even.bg = #A69A8E
colors.tabs.selected.even.fg = #cbd0db
colors.tabs.selected.odd.bg = #A69A8E
colors.tabs.selected.odd.fg = #cbd0db
colors.webpage.bg = #060605
file://*: content.javascript.enabled = true
chrome://*/*: content.javascript.enabled = true
qute://*/*: content.javascript.enabled = true
statusbar.hide = true
tabs.show = multiple
url.searchengines = {"DEFAULT": "https://duckduckgo.com/?q={}", "red": "https://reddit.con/r/{}", "arch": "https://wiki.archlinux.org/index.php?title=Special%3ASearch&search={}", "yt": "https://www.youtube.com/results?search_query={}", "tpb": "http://thepiratebay.org/search/{}", "yts": "https://yts.am/browse-movies/{}", "lib": "http://gen.lib.rus.ec/search.php?req={}", "w": "https://www.wikipedia.org/search-redirect.php?family=wikipedia&language=en&search={}&language=en&go=Go", "g": "https://www.google.com/search?q={}"}
url.start_pages = file:///home/guru/.config/browser/index.html

@The-Compiler
Copy link
Member

Like @jgkamat says, a proper stacktrace would be very helpful - all that should be needed is installing my debug packages, after that, you should get a better debug output when the crash happens.

@The-Compiler The-Compiler added the status: needs triage Issues/PRs which need some deeper investigation. label Jan 1, 2019
@minego
Copy link

minego commented Jan 3, 2019

I get the same crash, and it has been really annoying. I installed your debug packages, and this is the stack trace I got. If needed I can create more stack traces. Let me know if you need any other details in gdb.

gdb.txt

@The-Compiler
Copy link
Member

@minego When loading youtube as well? I assume --temp-basedir helps for you, too? Can you show the output you get in a terminal when reproducing this?

@The-Compiler
Copy link
Member

Looking at the gdb stacktrace more closely, it happens on this line:

      // A null |impl| means no implementation was bound.
      assert(impl);
      impl->CancelWakeLock();

the stacktrace points at line 543 which is the last one, but I bet it's actually the assertion above failing, since it's calling abort() in libc after that - still, it'd be good to see the console output (both from @minego, and from @Iduoad with debug packages) to confirm what's actually going on, and whether those two crashes are the same.

@minego
Copy link

minego commented Jan 4, 2019

I haven't tried with --temp-basedir yet. I'm not entirely convinced that it would prove anything because it seems to happen very randomly for me. Youtube seems to be the easiest way to trigger it but it doesn't always happen and at times it happens without loading Youtube.

It feels to me like it much more likely when I have a lot of tabs open. If I recall it started for me a few days before Christmas, but I don't remember for sure.

I'll try to run with --temp-basedir later today and I'll try to get terminal output for you as well.

@minego
Copy link

minego commented Jan 16, 2019

Sorry I didn't get back to this for so long. I've been busy with my day job...

I tried it today with --temp-basedir and it crashes. I was able to make it crash every time using the following steps:

  1. Start with: qutebrowser --temp-basedir
  2. :open https://www.budgetbytes.com
  3. Click "Recipes" then "Pasta"
  4. Wait until the page displays a video in the top right. Once the video starts playing click pause. It will crash within a few seconds.

@minego
Copy link

minego commented Jan 16, 2019

Here is the console output from when I did that:

% qutebrowser --temp-basedir
free(): invalid pointer
Received signal 6
#0 0x7f7fb382d98e base::debug::StackTrace::StackTrace()
#1 0x7f7fb3826713 base::debug::(anonymous namespace)::StackDumpSignalHandler()
#2 0x7f7fb382d905 base::debug::(anonymous namespace)::StackDumpSignalHandler()
#3 0x7f7fc5a243c0 <unknown>
#4 0x7f7fc5885d7f __GI_raise
#5 0x7f7fc5870672 __GI_abort
#6 0x7f7fc58c8878 __libc_message
#7 0x7f7fc58cf18a malloc_printerr
#8 0x7f7fc58d2fce free_check.part.2
#9 0x7f7fb2488665 device::mojom::WakeLockStubDispatch::Accept()
#10 0x7f7fb3ab795d mojo::InterfaceEndpointClient::HandleValidatedMessage()
#11 0x7f7fb3abb289 mojo::internal::MultiplexRouter::ProcessIncomingMessage()
#12 0x7f7fb3abffe9 mojo::internal::MultiplexRouter::Accept()
#13 0x7f7fb3ab4efa mojo::Connector::ReadSingleMessage()
#14 0x7f7fb3ab52ac mojo::Connector::ReadAllAvailableMessages()
#15 0x7f7fb3ad03e0 mojo::SimpleWatcher::OnHandleReady()
#16 0x7f7fb379d280 base::debug::TaskAnnotator::RunTask()
#17 0x7f7fb37c0a02 base::MessageLoop::RunTask()
#18 0x7f7fb37c164f base::MessageLoop::DeferOrRunPendingTask()
#19 0x7f7fb37c17d8 base::MessageLoop::DoWork()
#20 0x7f7fb1c00cb5 QtWebEngineCore::(anonymous namespace)::MessagePumpForUIQt::timerEvent()
#21 0x7f7fc23b6b1b QObject::event()
#22 0x7f7fbe08ee34 QApplicationPrivate::notify_helper()
#23 0x7f7fbe096671 QApplication::notify()
#24 0x7f7fbd6926d7 sipQApplication::notify()
#25 0x7f7fc238b8f9 QCoreApplication::notifyInternal2()
#26 0x7f7fc238e998 QCoreApplicationPrivate::sendPostedEvents()
#27 0x7f7fc23e1fd4 postEventSourceDispatch()
#28 0x7f7fc2d56a2f g_main_context_dispatch
#29 0x7f7fc2d585e9 <unknown>
#30 0x7f7fc2d5862e g_main_context_iteration
#31 0x7f7fc23e15a9 QEventDispatcherGlib::processEvents()
#32 0x7f7fc238a58c QEventLoop::exec()
#33 0x7f7fc2392896 QCoreApplication::exec()
#34 0x7f7fbd6955ea meth_QApplication_exec_
#35 0x7f7fc562a768 _PyMethodDef_RawFastCallKeywords
#36 0x7f7fc562aa01 _PyCFunction_FastCallKeywords
#37 0x7f7fc56a1643 _PyEval_EvalFrameDefault
#38 0x7f7fc5629fdb _PyFunction_FastCallKeywords
#39 0x7f7fc569cb5d _PyEval_EvalFrameDefault
#40 0x7f7fc5629fdb _PyFunction_FastCallKeywords
#41 0x7f7fc56a100f _PyEval_EvalFrameDefault
#42 0x7f7fc5629fdb _PyFunction_FastCallKeywords
#43 0x7f7fc569cb5d _PyEval_EvalFrameDefault
#44 0x7f7fc55e3b59 _PyEval_EvalCodeWithName
#45 0x7f7fc55e4a94 PyEval_EvalCodeEx
#46 0x7f7fc55e4abc PyEval_EvalCode
#47 0x7f7fc570ec44 <unknown>
#48 0x7f7fc571086e PyRun_FileExFlags
#49 0x7f7fc5711c25 PyRun_SimpleFileExFlags
#50 0x7f7fc5713e67 <unknown>
#51 0x7f7fc57140ac _Py_UnixMain
#52 0x7f7fc5872223 __libc_start_main
#53 0x564cdab9405e _start
  r8: 0000000000000000  r9: 00007ffcbf2c1ce0 r10: 0000000000000008 r11: 0000000000000246
 r12: 00007ffcbf2c1f50 r13: 0000000000001000 r14: 0000000000000010 r15: 00007f7fa52d9000
  di: 0000000000000002  si: 00007ffcbf2c1ce0  bp: 00007ffcbf2c2030  bx: 0000000000000006
  dx: 0000000000000000  ax: 0000000000000000  cx: 00007f7fc5885d7f  sp: 00007ffcbf2c1ce0
  ip: 00007f7fc5885d7f efl: 0000000000000246 cgf: 002b000000000033 erf: 0000000000000000
 trp: 0000000000000000 msk: 0000000000000000 cr2: 0000000000000000
[end of stack trace]
Calling _exit(1). Core file will not be generated.

@The-Compiler
Copy link
Member

Smells like a bug in Qt 5.12. I wonder whether https://codereview.qt-project.org/#/c/246185/ (Qt 5.12.1) fixes it...

@minego
Copy link

minego commented Jan 16, 2019

I just downgraded to 5.11.2-2 and it seems to have stopped for now. So, I think your theory makes sense.

@minego
Copy link

minego commented Jan 16, 2019

I spoke too soon. It is still crashing.

@The-Compiler
Copy link
Member

I can't reproduce this. "free(): invalid pointer" is a good hint though, but looking at the Chromium code, I still have no idea what's going on...

Can you check whether you can also reproduce this in KDE Falkon please?

@minego
Copy link

minego commented Jan 16, 2019

Falkon crashed on youtube as well.

@minego
Copy link

minego commented Feb 6, 2019

There was an update to the qt packages for Arch, and now my crashes seem to have stopped... It is hard to say it is actually fixed yet, but it appears to be.

@jgkamat
Copy link
Member

jgkamat commented Feb 6, 2019 via email

@minego
Copy link

minego commented Feb 7, 2019

Micah N Gorrell writes:
There was an update to the qt packages for Arch, and now my crashes seem to have stopped... It is hard to say it is actually fixed yet, but it appears to be.
Looking at the arch changelog there were two recent updates, upgrade to 5.12.1 and updating libpvx. I'm guessing the qt upgrade fixed it for you.

Yeah, I think you are probably right. Thank goodness. It was really annoying to have to use another browser.

@jgkamat
Copy link
Member

jgkamat commented Feb 7, 2019

I'm going to tentatively close this, let me know if you still see this on qt 5.12.1

@jgkamat jgkamat closed this as completed Feb 7, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: needs triage Issues/PRs which need some deeper investigation.
Projects
None yet
Development

No branches or pull requests

5 participants