nyxt
nyxt copied to clipboard
youtube.com crashing
Hi, opening youtube.com seems to crash reliably for me. It looks like the page starts to load, but then crashes with the following info:
Ubuntu Linux 18.04 Nyxt: 2.2.4 (installed with guix)
<INFO> [18:31:13] Loading "https://youtube.com/".
GStreamer element autoaudiosink not found. Please install it
(WebKitWebProcess:32535): GLib-GObject-WARNING **: 18:31:15.843: invalid (NULL) pointer instance
(WebKitWebProcess:32535): GLib-GObject-CRITICAL **: 18:31:15.843: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
<WARN> [18:31:16] Warning: Web process terminated for buffer 2 (opening https://www.youtube.com/) because it crashed
I do have autoaudiosink installed
$ gst-inspect-1.0 autovideosink
Factory Details:
Rank none (0)
Long-name Auto video sink
Klass Sink/Video
Description Wrapper video sink for automatically detected video sink
Author Jan Schmidt <[email protected]>
Plugin Details:
Name autodetect
Description Plugin contains auto-detection plugins for video/audio in- and outputs
Filename /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstautodetect.so
Version 1.14.5
License LGPL
Source module gst-plugins-good
Source release date 2019-05-29
Binary package GStreamer Good Plugins (Ubuntu)
Origin URL https://launchpad.net/distros/ubuntu/+source/gst-plugins-good1.0
GObject
+----GInitiallyUnowned
+----GstObject
+----GstElement
+----GstBin
+----GstAutoDetect
+----GstAutoVideoSink
Implemented Interfaces:
GstChildProxy
Pad Templates:
SINK template: 'sink'
Availability: Always
Capabilities:
ANY
Element has no clocking capabilities.
Element has no URI handling capabilities.
Pads:
SINK: 'sink'
Element Properties:
name : The name of the object
flags: readable, writable
String. Default: "autovideosink0"
parent : The parent of the object
flags: readable, writable
Object of type "GstObject"
async-handling : The bin will handle Asynchronous state changes
flags: readable, writable
Boolean. Default: false
message-forward : Forwards all children messages
flags: readable, writable
Boolean. Default: false
filter-caps : Filter sink candidates using these caps.
flags: readable, writable
video/x-raw
sync : Sync on the clock
flags: readable, writable
Boolean. Default: true
ts-offset : Timestamp offset in nanoseconds
flags: readable, writable
Integer64. Range: -9223372036854775808 - 9223372036854775807 Default: 0
Children:
fake-video-sink
and GStreamer version
$ gst-inspect-1.0 --version
gst-inspect-1.0 version 1.14.5
GStreamer 1.14.5
Any other info that could be helpful?
Thanks!
This is a limitation of WebKitGTK (or blame it on YouTube, your call :p).
Updating to a more recent version of WebKitGTK will help though. Your distro is aging... You can also try installing the Guix pack or Guix itself, which will allow you to use an up-to-date Nyxt / WebKitGTK while keeping your current distro.
I did install Nyxt using Guix, is that what you mean, or is Guix pack something different?
Mine is crashing with a different error, on Fedora:
<INFO> [17:31:51] Loading "https://youtube.com/".
<WARN> [17:31:55] Warning: Web process terminated for buffer 3 (opening https://www.youtube.com/) because it crashed
<WARN> [17:31:55] Warning: JavaScript error: GError: Domain: "WebKitJavascriptError", Code: 699, Message:
This is how I installed the latest released verions:
# First create a local directory named nyxt and enter it:
cd /tmp && mkdir nyxt && cd nyxt
# Download the compressed (latest) version:
wget https://github.com/atlas-engineer/nyxt/releases/download/2.2.4/nyxt-2.2.4.tar.xz
# Unzip the file and remove archive:
tar Jxvf nyxt-2.2.4.tar.xz && rm nyxt-2.2.4.tar.xz
# Exit directory and move nyxt directory to /opt
cd .. && sudo mv nyxt/ /opt/
# Now create a symbolic link to /usr/local/bin:
sudo ln -s /opt/nyxt/usr/local/bin/nyxt /usr/local/bin/nyxt
# Make it possible to access it via Launcher or your system’s Dashboard and copy the .desktop for Launcher:
find /opt/nyxt/ -name "nyxt.desktop" -exec sudo cp {} /usr/share/applications/ \;
# Change the executable path of the nyxt.desktop file:
sudo sed -i 's/Exec.*/Exec=nyxt %u/g' /usr/share/applications/nyxt.desktop
# Set the default path for the Nyxt icon to be displayed correctly:
sudo cp $(find /opt/nyxt/ -name "nyxt.png" | grep 256x256) /usr/share/pixmaps/
This is the verbose output, when running nyxt -v
:
Loading "https://youtube.com/".
<DEBUG> [17:37:13] nyxt browser.lisp (preprocess-request) -
Forwarding https://www.youtube.com/ for buffer #<USER-WEB-BUFFER 2 {10089948A3}>
<DEBUG> [17:37:13] nyxt gtk.lisp (on-signal-decide-policy gtk-buffer form-fun-448) -
Forward to #<USER-WEB-BUFFER 2 {10089948A3}>'s renderer (no request-resource-hook handlers).
<DEBUG> [17:37:14] nyxt browser.lisp (preprocess-request) -
Forwarding https://www.youtube.com/ for buffer #<USER-WEB-BUFFER 2 {10089948A3}>
<DEBUG> [17:37:14] nyxt gtk.lisp (on-signal-decide-policy gtk-buffer form-fun-448) -
Forward to #<USER-WEB-BUFFER 2 {10089948A3}>'s renderer (no request-resource-hook handlers).
<DEBUG> [17:37:15] nyxt browser.lisp (preprocess-request) -
Forwarding about:blank for buffer #<USER-WEB-BUFFER 2 {10089948A3}>
<DEBUG> [17:37:15] nyxt gtk.lisp (on-signal-decide-policy gtk-buffer form-fun-448) -
Forward to #<USER-WEB-BUFFER 2 {10089948A3}>'s renderer (no request-resource-hook handlers).
Backtrace for: #<SB-THREAD:THREAD "Nyxt renderer thread" RUNNING {1008FF3653}>
0: ((LAMBDA NIL :IN UIOP/IMAGE:PRINT-BACKTRACE))
1: ((FLET "THUNK" :IN UIOP/STREAM:CALL-WITH-SAFE-IO-SYNTAX))
2: (SB-IMPL::%WITH-STANDARD-IO-SYNTAX #<FUNCTION (FLET "THUNK" :IN UIOP/STREAM:CALL-WITH-SAFE-IO-SYNTAX) {7FD407CEC8DB}>)
3: (UIOP/STREAM:CALL-WITH-SAFE-IO-SYNTAX #<FUNCTION (LAMBDA NIL :IN UIOP/IMAGE:PRINT-BACKTRACE) {100991CC4B}> :PACKAGE :CL)
4: ((:METHOD LOG4CL-IMPL:APPENDER-DO-APPEND (NYXT::MESSAGES-APPENDER T T T)) #<NYXT::MESSAGES-APPENDER {1010148FE3}> #<LOG4CL-IMPL::FILE-LOGGER NYXT.ECHO-WARNING.FORM-FUN-6 /tmp/guix-build-nyxt-2.2.4.drv-0/source/source/message.lisp {100280A9C3}> 3 #<FUNCTION (FLET "log-stmt9" :IN NYXT:ECHO-WARNING) {7FD407CECD4B}>) [fast-method]
5: ((LABELS LOG4CL-IMPL::LOG-TO-LOGGER-APPENDERS :IN LOG4CL-IMPL::LOG-WITH-LOGGER) #<LOGGER +ROOT+ {10019E56C3}> #<LOG4CL-IMPL::FILE-LOGGER NYXT.ECHO-WARNING.FORM-FUN-6 /tmp/guix-build-nyxt-2.2.4.drv-0/source/source/message.lisp {100280A9C3}> 3 #<FUNCTION (FLET "log-stmt9" :IN NYXT:ECHO-WARNING) {7FD407CECD4B}>)
6: ((LABELS LOG4CL-IMPL::LOG-TO-LOGGER-APPENDERS :IN LOG4CL-IMPL::LOG-WITH-LOGGER) #<LOG4CL-IMPL::FILE-LOGGER NYXT NIL {1002108413}> #<LOG4CL-IMPL::FILE-LOGGER NYXT.ECHO-WARNING.FORM-FUN-6 /tmp/guix-build-nyxt-2.2.4.drv-0/source/source/message.lisp {100280A9C3}> 3 #<FUNCTION (FLET "log-stmt9" :IN NYXT:ECHO-WARNING) {7FD407CECD4B}>)
7: ((LABELS LOG4CL-IMPL::LOG-TO-LOGGER-APPENDERS :IN LOG4CL-IMPL::LOG-WITH-LOGGER) #<LOG4CL-IMPL::FILE-LOGGER NYXT.ECHO-WARNING /tmp/guix-build-nyxt-2.2.4.drv-0/source/source/message.lisp {10026149D3}> #<LOG4CL-IMPL::FILE-LOGGER NYXT.ECHO-WARNING.FORM-FUN-6 /tmp/guix-build-nyxt-2.2.4.drv-0/source/source/message.lisp {100280A9C3}> 3 #<FUNCTION (FLET "log-stmt9" :IN NYXT:ECHO-WARNING) {7FD407CECD4B}>)
8: ((LABELS LOG4CL-IMPL::LOG-TO-LOGGER-APPENDERS :IN LOG4CL-IMPL::LOG-WITH-LOGGER) #<LOG4CL-IMPL::FILE-LOGGER NYXT.ECHO-WARNING.FORM-FUN-6 /tmp/guix-build-nyxt-2.2.4.drv-0/source/source/message.lisp {100280A9C3}> #<LOG4CL-IMPL::FILE-LOGGER NYXT.ECHO-WARNING.FORM-FUN-6 /tmp/guix-build-nyxt-2.2.4.drv-0/source/source/message.lisp {100280A9C3}> 3 #<FUNCTION (FLET "log-stmt9" :IN NYXT:ECHO-WARNING) {7FD407CECD4B}>)
9: (LOG4CL-IMPL::LOG-WITH-LOGGER #<LOG4CL-IMPL::FILE-LOGGER NYXT.ECHO-WARNING.FORM-FUN-6 /tmp/guix-build-nyxt-2.2.4.drv-0/source/source/message.lisp {100280A9C3}> 3 #<FUNCTION (FLET "log-stmt9" :IN NYXT:ECHO-WARNING) {7FD407CECD4B}> #<PACKAGE "NYXT">)
10: (NYXT:ECHO-WARNING "Web process terminated for buffer ~a (opening ~a) because ~[it crashed~;of memory exhaustion~;we had to close it~]" "2" #<QURI.URI.HTTP:URI-HTTPS https://#1=www.youtube.com/> 0)
11: ((LAMBDA (NYXT::WEB-VIEW NYXT::REASON) :IN NYXT:FFI-BUFFER-MAKE) #<CL-WEBKIT2:WEBKIT-WEB-VIEW {1008D75F13}> :WEBKIT-WEB-PROCESS-CRASHED)
12: (GOBJECT::CALL-WITH-RESTARTS #<FUNCTION (LAMBDA (NYXT::WEB-VIEW NYXT::REASON) :IN NYXT:FFI-BUFFER-MAKE) {1008D77DFB}> (#<CL-WEBKIT2:WEBKIT-WEB-VIEW {1008D75F13}> :WEBKIT-WEB-PROCESS-CRASHED))
13: ((LAMBDA (GOBJECT::CLOSURE GOBJECT::RETURN-VALUE GOBJECT::COUNT-OF-ARGS GOBJECT::ARGS GOBJECT::INVOCATION-HINT GOBJECT::MARSHAL-DATA) :IN "/gnu/store/s7w144g61qsmschm6mzy41bvq0qvjfrs-cl-cffi-gtk-0.11.2-2.e9a46df/share/common-lisp/source/cl-cffi-gtk/gobject/gobject.signals.lisp") #.(SB-SYS:INT-SAP #X7FD3F832A2A0) #.(SB-SYS:INT-SAP #X00000000) 2 #.(SB-SYS:INT-SAP #X7FD407CEDC90) #<unused argument> #<unused argument>)
14: ((LAMBDA (SB-ALIEN::ARGS-POINTER SB-ALIEN::RESULT-POINTER FUNCTION) :IN "/gnu/store/s7w144g61qsmschm6mzy41bvq0qvjfrs-cl-cffi-gtk-0.11.2-2.e9a46df/share/common-lisp/source/cl-cffi-gtk/gobject/gobject.signals.lisp") #<unavailable argument> #<unavailable argument> #<unavailable argument>)
15: ("foreign function: funcall_alien_callback")
16: ("foreign function: #x5010098B")
17: ((LAMBDA (&REST GIR::ARGS-IN) :IN GIR::BUILD-FUNCTION))
18: ((FLET NYXT::MAIN-FUNC :IN NYXT:FFI-INITIALIZE))
19: ((LAMBDA NIL :IN BORDEAUX-THREADS::BINDING-DEFAULT-SPECIALS))
20: ((FLET SB-UNIX::BODY :IN SB-THREAD::RUN))
21: ((FLET "WITHOUT-INTERRUPTS-BODY-10" :IN SB-THREAD::RUN))
22: ((FLET SB-UNIX::BODY :IN SB-THREAD::RUN))
23: ((FLET "WITHOUT-INTERRUPTS-BODY-3" :IN SB-THREAD::RUN))
24: (SB-THREAD::RUN)
25: ("foreign function: call_into_lisp")
26: ("foreign function: funcall1")
<WARN> [17:37:16] nyxt message.lisp (echo-warning form-fun-6) -
Warning: Web process terminated for buffer 2 (opening https://www.youtube.com/) because it crashed
<DEBUG> [17:37:16] nyxt gtk.lisp (ffi-buffer-make gtk-buffer form-fun-660 form-fun-1801) -
Web process terminated for web view #<WEBKIT-WEB-VIEW {1008D75F13}> because of WEBKIT_WEB_PROCESS_CRASHED
@toshism Sorry, I had misread your report. Looks like autoaudiosink is conflicting with that of the Guix package. Try Nyxt without it, or alternatively we should packaage autoaudiosink for Guix so that you could use it from there.
@jvillasante Looks like it's WebKitGTK that's crashing here. See if you can reproduce with Epiphany / GNOME Web.
@jvillasante Looks like it's WebKitGTK that's crashing here. See if you can reproduce with Epiphany / GNOME Web.
It is not reproducible with Epiphany, YouTube opens normally there.
@jvillasante Can you open a new "bug" issue and fill the form as precisely as you can?
Closing as I don't think there's something to do from our side. Youtube is working as of commit 28c6ad3 and WebKitGTK version 2.40.1.