nyxt icon indicating copy to clipboard operation
nyxt copied to clipboard

youtube.com crashes immediately

Open jvillasante opened this issue 1 year ago • 9 comments

Describe the bug When opening https://youtube.com, the buffer crashes immediacy.

Precise recipe to reproduce the issue Just C-l and navigate to https://youtube.com.

Can you reproduce this issue with Epiphany / GNOME Web (https://wiki.gnome.org/Apps/Web)? I have installed Epiphany, and it works there without crashing.

Information

  • OS name+version: Fedora Linux 36 (Workstation Edition) x86_64
  • Graphics card and driver: NVIDIA GeForce RTX 3050 Mobile
  • Desktop environment / Window manager name+version: GNOME 42.3.1
  • How you installed Nyxt (Guix pack, package manager, build from source):
# 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/
  • Information from show-system-information:
System information

Nyxt version: 2.2.4
Renderer version: GI-GTK
Operating system kernel: Linux 5.18.10-200.fc36.x86_64
Lisp implementation: SBCL 2.1.9 (Dynamic space size: 3221225472)
Features: (:WEBKIT2 :WEBKIT2-2.34 :WEBKIT2-PASTE-PLAINTEXT :WEBKIT2-TRACKING
 :WEBKIT2-MUTE :WEBKIT2-EMOJI :WEBKIT2-MEDIA :WEBKIT2-SANDBOXING :GTK-3-22
 :GTK-3-20 :GTK-3-18 :GTK-3-16 :GTK-3-14 :GTK-3-12 :GTK-3-10 :GTK-3-8 :GTK-3-6
 :GTK-3-4 :GTK :GDK-3-22 :GDK-3-20 :GDK-3-18 :GDK-3-16 :GDK-3-14 :GDK-3-12
 :GDK-3-10 :GDK-3-8 :GDK-3-6 :GDK-3-4 :CAIRO-1-10 :CAIRO-1-12 :GDK-PIXBUF
 :GLIB-2-30 :GLIB-2-32 :GLIB-2-34 :GLIB-2-36 :GLIB-2-38 :GLIB-2-40 :GLIB-2-42
 :GLIB-2-44 :GLIB-2-46 :GLIB-2-48 :GLIB-2-50 :GLIB-2-52 :GLIB-2-54 :GLIB-2-56
 :GLIB-2-58 :GLIB :NYXT-2 :FSET-EXT-STRINGS :CUSTOM-HASH-TABLE-NATIVE :SWANK
 :PLUMP-UTF-32 :GLOBAL-VARS :DECLARE-TYPES :PARENSCRIPT
 :SBCL+SAFE-STANDARD-READTABLE :NAMED-READTABLES :LPARALLEL :21BIT-CHARS
 :CHUNGA :FLEXI-STREAMS :CLOSER-MOP :CL-PPCRE-UNICODE :CL-UNICODE :CL-PPCRE
 :CL-JSON-DOUBLE-FLOAT-IS-SUBSUMED :CL-JSON-SINGLE-FLOAT-IS-SUBSUMED
 :BORDEAUX-THREADS :LPARALLEL.WITH-CLTL2 :LPARALLEL.WITH-CAS
 :LPARALLEL.WITH-STEALING-SCHEDULER :SPLIT-SEQUENCE CHIPZ-SYSTEM:GRAY-STREAMS
 CFFI-FEATURES:FLAT-NAMESPACE CFFI-FEATURES:X86-64 CFFI-FEATURES:UNIX :CFFI
 CFFI-SYS::FLAT-NAMESPACE ALEXANDRIA::SEQUENCE-EMPTYP :FAST-IO-SV :FAST-IO
 :SBCL-USES-SB-ROTATE-BYTE :CL-JSON-CLOS :CL-JSON :THREAD-SUPPORT :ASDF3.3
 :ASDF3.2 :ASDF3.1 :ASDF3 :ASDF2 :ASDF :OS-UNIX :NON-BASE-CHARS-EXIST-P
 :ASDF-UNICODE :X86-64 :GENCGC :64-BIT :ANSI-CL :COMMON-LISP :ELF
 :IEEE-FLOATING-POINT :LINUX :LITTLE-ENDIAN :PACKAGE-LOCAL-NICKNAMES
 :SB-CORE-COMPRESSION :SB-LDB :SB-PACKAGE-LOCKS :SB-THREAD :SB-UNICODE :SBCL
 :UNIX)

ASDF version: 3.3.5
ASDF registries: (NYXT-SOURCE-REGISTRY ENVIRONMENT-SOURCE-REGISTRY USER-SOURCE-REGISTRY
                      USER-SOURCE-REGISTRY-DIRECTORY
                      DEFAULT-USER-SOURCE-REGISTRY SYSTEM-SOURCE-REGISTRY
                      SYSTEM-SOURCE-REGISTRY-DIRECTORY
                      DEFAULT-SYSTEM-SOURCE-REGISTRY)
Critical dependencies: (/gnu/store/s7w144g61qsmschm6mzy41bvq0qvjfrs-cl-cffi-gtk-0.11.2-2.e9a46df/share/common-lisp/source/cl-cffi-gtk/gtk/cl-cffi-gtk.asd
 /gnu/store/w5awybp5s66bn7g74mbvlr10ivhr6m2v-cl-gobject-introspection-0.3-1.d0136c8/share/common-lisp/source/cl-gobject-introspection/cl-gobject-introspection.asd
 /gnu/store/70pk09q9my9cb7mlxpgla6h7b2xs3jhd-cl-webkit-3.4.0/share/common-lisp/source/cl-webkit/webkit2/cl-webkit2.asd)

Output when started from a shell *** With only running nyxt ***

<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:

*** 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

jvillasante avatar Jul 11 '22 19:07 jvillasante

Oh, but that's an "old" WebKit... Could you try building from source with the latest WebKitGTK? What's the WebKitGTK version on Fedora?

Ambrevar avatar Jul 12 '22 06:07 Ambrevar

Looks like I have the latest webkit installed, not sure why 2.34 is shown in show-system-information:

smi(1-6 {2} ✓) dnf info webkit2gtk3
Last metadata expiration check: 0:03:55 ago on Tue 12 Jul 2022 05:51:38 AM EDT.
Installed Packages
Name         : webkit2gtk3
Version      : 2.36.4
Release      : 1.fc36
Architecture : x86_64
Size         : 50 M
Source       : webkit2gtk3-2.36.4-1.fc36.src.rpm
Repository   : @System
From repo    : updates
Summary      : GTK Web content engine library
URL          : https://www.webkitgtk.org/
License      : LGPLv2
Description  : WebKitGTK is the port of the portable web rendering engine WebKit to the
             : GTK platform.
             :
             : This package contains WebKit2 based WebKitGTK for GTK 3.

jvillasante avatar Jul 12 '22 09:07 jvillasante

Because the Guix pack you've installed include the WebKitGTK package from the time the Guix pack was built, which was last year.

Try building from source. Otherwise you could also try this RPM recipe: https://build.opensuse.org/package/show/home:bobbie424242/nyxt-git It's for Suse, but it might work with little changes for Fedora.

Ambrevar avatar Jul 12 '22 10:07 Ambrevar

Ok, got it, will try later. FYI. I don't have Guix installed at all, I downloaded Nyxt and installed it as explained above.

Q: Does the Guix version of Nyxt bundles a newer WebKit? Should installing Nyxt from Guix be better?

jvillasante avatar Jul 12 '22 10:07 jvillasante

The "Guix pack" bundles everything. So you do not need to install it like you did to your system (move to /opt, etc.). The binary hardcodes the location of webkit and it won't use the library provided by your OS.

If you install Guix, installing Nyxt will get you the latest build of Nyxt against the latest build of the libraries. So that would probably fix your problem.

Guix is great, give it a try if you've got the time ;)

Ambrevar avatar Jul 12 '22 12:07 Ambrevar

Seeing the same crash for Nyxt v2.2.4 on Guix (system at commit cd3c4ad). Here's the log of nyxt -v from just after pressing enter to navigate to https://www.youtube.com

<DEBUG> [21:04:11] nyxt input.lisp (dispatch-input-event) -
  Found key binding "return" [#36] to RETURN-SELECTION
<DEBUG> [21:04:11] nyxt base-mode.lisp (base-mode form-fun-19) -
  BASE-MODE enabled.
<DEBUG> [21:04:11] nyxt/web-mode web-mode.lisp (web-mode form-fun-27) -
  WEB-MODE enabled.
<DEBUG> [21:04:11] nyxt/certificate-exception-mode certificate-exception-mode.lisp (certificate-exception-mode form-fun-25) -
  CERTIFICATE-EXCEPTION-MODE enabled.
<DEBUG> [21:04:11] nyxt/emacs-mode emacs-mode.lisp (emacs-mode form-fun-29) -
  EMACS-MODE enabled.
<DEBUG> [21:04:12] nyxt browser.lisp (preprocess-request) -
  Forwarding https://youtube.com/ for buffer #<USER-WEB-BUFFER 2 {1008837B93}>
<DEBUG> [21:04:12] nyxt gtk.lisp (on-signal-decide-policy gtk-buffer form-fun-446) -
  Forward to #<USER-WEB-BUFFER 2 {1008837B93}>'s renderer (no request-resource-hook handlers).
 <INFO> [21:04:12] nyxt message.lisp (echo form-fun-5) -
  Loading "https://youtube.com/".
<DEBUG> [21:04:12] nyxt browser.lisp (preprocess-request) -
  Forwarding https://www.youtube.com/ for buffer #<USER-WEB-BUFFER 2 {1008837B93}>
<DEBUG> [21:04:12] nyxt gtk.lisp (on-signal-decide-policy gtk-buffer form-fun-446) -
  Forward to #<USER-WEB-BUFFER 2 {1008837B93}>'s renderer (no request-resource-hook handlers).
<DEBUG> [21:04:12] nyxt browser.lisp (preprocess-request) -
  Forwarding https://www.youtube.com/ for buffer #<USER-WEB-BUFFER 2 {1008837B93}>
<DEBUG> [21:04:12] nyxt gtk.lisp (on-signal-decide-policy gtk-buffer form-fun-446) -
  Forward to #<USER-WEB-BUFFER 2 {1008837B93}>'s renderer (no request-resource-hook handlers).
<DEBUG> [21:04:13] nyxt browser.lisp (preprocess-request) -
  Forwarding about:blank for buffer #<USER-WEB-BUFFER 2 {1008837B93}>
<DEBUG> [21:04:13] nyxt gtk.lisp (on-signal-decide-policy gtk-buffer form-fun-446) -
  Forward to #<USER-WEB-BUFFER 2 {1008837B93}>'s renderer (no request-resource-hook handlers).
GStreamer element autoaudiosink not found. Please install it

(WebKitWebProcess:24011): GLib-GObject-WARNING **: 21:04:13.402: invalid (NULL) pointer instance

(WebKitWebProcess:24011): GLib-GObject-CRITICAL **: 21:04:13.402: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Backtrace for: #<SB-THREAD:THREAD "Nyxt renderer thread" RUNNING {10090665F3}>
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) {7F97DFC3C9AB}>)
3: (UIOP/STREAM:CALL-WITH-SAFE-IO-SYNTAX #<FUNCTION (LAMBDA NIL :IN UIOP/IMAGE:PRINT-BACKTRACE) {1009722CEB}> :PACKAGE :CL)
4: ((:METHOD LOG4CL-IMPL:APPENDER-DO-APPEND (NYXT::MESSAGES-APPENDER T T T)) #<NYXT::MESSAGES-APPENDER {10102C00D3}> #<LOG4CL-IMPL::FILE-LOGGER NYXT.ECHO-WARNING.FORM-FUN-5 /tmp/guix-build-nyxt-2.2.4.drv-0/source/source/message.lisp {10031133C3}> 3 #<FUNCTION (FLET "log-stmt8" :IN NYXT:ECHO-WARNING) {7F97DFC3CE1B}>) [fast-method]
5: ((LABELS LOG4CL-IMPL::LOG-TO-LOGGER-APPENDERS :IN LOG4CL-IMPL::LOG-WITH-LOGGER) #<LOGGER +ROOT+ {10019A89F3}> #<LOG4CL-IMPL::FILE-LOGGER NYXT.ECHO-WARNING.FORM-FUN-5 /tmp/guix-build-nyxt-2.2.4.drv-0/source/source/message.lisp {10031133C3}> 3 #<FUNCTION (FLET "log-stmt8" :IN NYXT:ECHO-WARNING) {7F97DFC3CE1B}>)
6: ((LABELS LOG4CL-IMPL::LOG-TO-LOGGER-APPENDERS :IN LOG4CL-IMPL::LOG-WITH-LOGGER) #<LOG4CL-IMPL::FILE-LOGGER NYXT NIL {100423E113}> #<LOG4CL-IMPL::FILE-LOGGER NYXT.ECHO-WARNING.FORM-FUN-5 /tmp/guix-build-nyxt-2.2.4.drv-0/source/source/message.lisp {10031133C3}> 3 #<FUNCTION (FLET "log-stmt8" :IN NYXT:ECHO-WARNING) {7F97DFC3CE1B}>)
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 {100423F173}> #<LOG4CL-IMPL::FILE-LOGGER NYXT.ECHO-WARNING.FORM-FUN-5 /tmp/guix-build-nyxt-2.2.4.drv-0/source/source/message.lisp {10031133C3}> 3 #<FUNCTION (FLET "log-stmt8" :IN NYXT:ECHO-WARNING) {7F97DFC3CE1B}>)
8: ((LABELS LOG4CL-IMPL::LOG-TO-LOGGER-APPENDERS :IN LOG4CL-IMPL::LOG-WITH-LOGGER) #<LOG4CL-IMPL::FILE-LOGGER NYXT.ECHO-WARNING.FORM-FUN-5 /tmp/guix-build-nyxt-2.2.4.drv-0/source/source/message.lisp {10031133C3}> #<LOG4CL-IMPL::FILE-LOGGER NYXT.ECHO-WARNING.FORM-FUN-5 /tmp/guix-build-nyxt-2.2.4.drv-0/source/source/message.lisp {10031133C3}> 3 #<FUNCTION (FLET "log-stmt8" :IN NYXT:ECHO-WARNING) {7F97DFC3CE1B}>)
9: (LOG4CL-IMPL::LOG-WITH-LOGGER #<LOG4CL-IMPL::FILE-LOGGER NYXT.ECHO-WARNING.FORM-FUN-5 /tmp/guix-build-nyxt-2.2.4.drv-0/source/source/message.lisp {10031133C3}> 3 #<FUNCTION (FLET "log-stmt8" :IN NYXT:ECHO-WARNING) {7F97DFC3CE1B}> #<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://www.youtube.com/> 0)
11: ((LAMBDA (NYXT::WEB-VIEW NYXT::REASON) :IN NYXT:FFI-BUFFER-MAKE) #<CL-WEBKIT2:WEBKIT-WEB-VIEW {1008C3D793}> :WEBKIT-WEB-PROCESS-CRASHED)
12: (GOBJECT::CALL-WITH-RESTARTS #<FUNCTION (LAMBDA (NYXT::WEB-VIEW NYXT::REASON) :IN NYXT:FFI-BUFFER-MAKE) {1008C3E99B}> (#<CL-WEBKIT2:WEBKIT-WEB-VIEW {1008C3D793}> :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/rrf8a39khlds7k5d663g1l1fsipa6mr5-sbcl-cl-cffi-gtk-0.11.2-2.e9a46df/share/common-lisp/sbcl/cl-cffi-gtk/gobject/gobject.signals.lisp") #.(SB-SYS:INT-SAP #X7F97D01E2820) #.(SB-SYS:INT-SAP #X00000000) 2 #.(SB-SYS:INT-SAP #X7F97DFC3DD30) #<unused argument> #<unused argument>)
14: ((LAMBDA (SB-ALIEN::ARGS-POINTER SB-ALIEN::RESULT-POINTER FUNCTION) :IN "/gnu/store/rrf8a39khlds7k5d663g1l1fsipa6mr5-sbcl-cl-cffi-gtk-0.11.2-2.e9a46df/share/common-lisp/sbcl/cl-cffi-gtk/gobject/gobject.signals.lisp") #<unavailable argument> #<unavailable argument> #<unavailable argument>)
15: ("foreign function: funcall_alien_callback")
16: ("foreign function: #x501009BB")
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-11" :IN SB-THREAD::RUN))
22: ((FLET SB-UNIX::BODY :IN SB-THREAD::RUN))
23: ((FLET "WITHOUT-INTERRUPTS-BODY-4" :IN SB-THREAD::RUN))
24: (SB-THREAD::RUN)
25: ("foreign function: call_into_lisp_")
26: ("foreign function: funcall1")
 <WARN> [21:04:13] nyxt message.lisp (echo-warning form-fun-5) -
  Warning: Web process terminated for buffer 2 (opening https://www.youtube.com/) because it crashed
<DEBUG> [21:04:13] nyxt gtk.lisp (ffi-buffer-make gtk-buffer form-fun-610 form-fun-1667) -
  Web process terminated for web view #<WEBKIT-WEB-VIEW {1008C3D793}> because of WEBKIT_WEB_PROCESS_CRASHED

Edit: adding all the gst-plugins- I see on Guix (good, bad, ugly) this now works. I ran this with guix shell gst-plugins-good gst-plugins-bad gst-plugins-ugly nyxt -- nyxt. So this is on the Guix side in terms of packaging, or maybe package description mentioning "optional" dependencies. Funny enough, exactly a discussion on the devel mailing list right now.

podiki avatar Jul 26 '22 01:07 podiki

Guix does not have a notion of optional dependencies, and for now the policy for WebKitGTK packages is to not include the Gstreamer plugins.

I don't know if there is anything Nyxt can do about this.

Ambrevar avatar Jul 26 '22 07:07 Ambrevar

I know there are no optional dependencies, I just meant that is a topic being discussed on the mailing list right now, coincidentally.

I did not know about the WebKitGTK/Gstreamer plugins thing, perhaps something to be documented (on the Guix side). Or I suppose Nyxt could have a message or warning if not finding components on the system it could want.

Anyway, just wanted to add my info to this bug report, no further issue on my side.

podiki avatar Jul 26 '22 14:07 podiki

I suppose Nyxt could have a message or warning if not finding components on the system it could want.

This I already inquired but as far as I'm aware, WebKitGTK does not give us control over this.

Ambrevar avatar Jul 27 '22 02:07 Ambrevar

Closing as I don't think there's something to do from our side. Youtube is working as of commit 28c6ad332 and WebKitGTK version 2.40.1.

aadcg avatar May 03 '23 19:05 aadcg