atlas-engineer / nyxt

Nyxt - the hacker's browser.
https://nyxt-browser.com/
9.8k stars 409 forks source link

youtube crashing #3288

Closed pierceglenn12345 closed 9 months ago

pierceglenn12345 commented 9 months ago

youtube buffer crashes when set-url

set-url www.youtube.com

For website-specific issues: Can you reproduce this issue with Epiphany / GNOME Web (https://wiki.gnome.org/Apps/Web)? No

Information

Nyxt version: 3.10.0 Renderer: GI-GTK Operating system kernel: Linux 6.5.6-76060506-generic Lisp implementation: SBCL 2.3.7 (Dynamic space size: 3221225472) Features: (:NYXT-GI-GTK :NYXT-GTK :NYXT-3.10 :NYXT-3 :NYXT-3.10.0 :CLIPBOARD-CONTENT-METHOD :SWANK :SLYNK :PLUMP-UTF-32 :PARENSCRIPT :NSYMBOLS :FSET-EXT-STRINGS :NAMED-READTABLES :CL-FAD :LPARALLEL :21BIT-CHARS :CUSTOM-HASH-TABLE-NATIVE :CL-PPCRE-UNICODE :CL-UNICODE :CHUNGA :FLEXI-STREAMS :CL-PPCRE :WEBKIT2 :WEBKIT-2.40.5 :WEBKIT-2.40 :WEBKIT-2 :WEBKIT2-CORS-ALLOWLIST :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 :CLOSER-MOP :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 :BORDEAUX-THREADS :GLOBAL-VARS :LPARALLEL.WITH-CLTL2 :LPARALLEL.WITH-CAS :LPARALLEL.WITH-STEALING-SCHEDULER :SPLIT-SEQUENCE CFFI-FEATURES:FLAT-NAMESPACE CFFI-FEATURES:X86-64 CFFI-FEATURES:UNIX :CFFI CFFI-SYS::FLAT-NAMESPACE ALEXANDRIA::SEQUENCE-EMPTYP :FAST-IO-SV :FAST-IO :ASDF-SYSTEM-CONNECTIONS :CL-JSON-CLOS :CL-JSON :SBCL-USES-SB-ROTATE-BYTE CHIPZ-SYSTEM:GRAY-STREAMS :THREAD-SUPPORT :ASDF3.3 :ASDF3.2 :ASDF3.1 :ASDF3 :ASDF2 :ASDF :OS-UNIX :NON-BASE-CHARS-EXIST-P :ASDF-UNICODE :ARENA-ALLOCATOR :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/zk6r4k75is67rgifch12lya00j780n19-sbcl-cl-cffi-gtk-3.8.8-3.1700fe6/share/common-lisp/sbcl/cl-cffi-gtk/gtk/cl-cffi-gtk.asd /gnu/store/zh6ym8pgwphkzad0yss5ndz71aiya80k-cl-gobject-introspection-0.3-3.83beec4/share/common-lisp/source/cl-gobject-introspection/cl-gobject-introspection.asd /gnu/store/wk96yf617vzalv2mxm0kq3y3qhrgz7wg-sbcl-cl-webkit-3.5.10/share/common-lisp/sbcl/cl-webkit/webkit2/cl-webkit2.asd)

Output when started from a shell

nyxt opens successfully., but freeze's on loading www.youtube.com

I see there have been a ton of these issues that have been opened on this topic. Just wanted to bring this up again for quick discussion. Is this just a game of cat and mouse between youtube/Webkit and when you guix install? I suppose the only way to keep up is building from source when the guix install ceases to work. Maybe I am missing something.

edit: I do have all the gstreamer packages installed through guix.

aadcg commented 9 months ago

@pierceglenn12345 I can reproduce on Guix, but not when running Nyxt as a Flatpak. These two instances are using different WebKitGTK versions. Guix lately fails to update WebKitGTK in a timely fashion and I have sent a patch but there are still some difficulties in the way.

(WebKitWebProcess:2): GLib-GObject-CRITICAL **: 10:57:56.044: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
<WARN> [10:57:56] Warning: Web process terminated for buffer 1621 (opening https://www.youtube.com/watch?v=pTmLQvMM-1M) because it crashed
<WARN> [10:57:56] Warning: JavaScript error: GError: Domain: "WebKitJavascriptError", Code: 601, Message: Unsupported result type

In your bug report you mention that the issue can't be reproduced on Epiphany, but that is incorrect. If you install Epiphany via Guix, you'll find the same issue.

In short, sadly, all we can do is to wait for Guix to update WebKitGTK.

lrustand commented 9 months ago

Hello @aadcg, I see that the patch you linked to has been merged to master in december 18th, but this problem still persists. I get the exact same error as above.

aadcg commented 9 months ago

@lrustand did you update your Guix system via guix pull?

lrustand commented 8 months ago

Yes, of course. At the time I had to build the Guix package that is included in build-scripts for it to work, but now the package included in Guix has started working too, so maybe it was not updated to use your patch yet when I tried. Anyway, it seems to be working fine in the Guix package now.

deadblackclover commented 7 months ago

@aadcg I'm catching a similar error, even with the new WebKitGTK

Nyxt version: 3.11.2
Renderer: GI-GTK
Operating system kernel: Linux 5.15.0-73-generic
Lisp implementation: SBCL 2.4.0 (Dynamic space size: 3221225472)
Features: (:NYXT-GI-GTK :NYXT-GTK :NYXT-3.11 :NYXT-3 :NYXT-3.11.2 :CLIPBOARD-CONTENT-METHOD :SWANK :SLYNK :PLUMP-UTF-32 :PARENSCRIPT :NSYMBOLS :FSET-EXT-STRINGS :NAMED-READTABLES :CL-FAD :LPARALLEL :21BIT-CHARS :CUSTOM-HASH-TABLE-NATIVE :CL-PPCRE-UNICODE :CL-UNICODE :CHUNGA :FLEXI-STREAMS :CL-PPCRE :WEBKIT2 :WEBKIT-2.42.4 :WEBKIT-2.42 :WEBKIT-2 :WEBKIT2-CORS-ALLOWLIST :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 :CLOSER-MOP :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 :BORDEAUX-THREADS :GLOBAL-VARS :ASDF-SYSTEM-CONNECTIONS :LPARALLEL.WITH-CLTL2 :LPARALLEL.WITH-CAS :LPARALLEL.WITH-STEALING-SCHEDULER :SPLIT-SEQUENCE CFFI-FEATURES:FLAT-NAMESPACE CFFI-FEATURES:X86-64 CFFI-FEATURES:UNIX :CFFI CFFI-SYS::FLAT-NAMESPACE ALEXANDRIA::SEQUENCE-EMPTYP :FAST-IO-SV :FAST-IO :CL-JSON-CLOS :CL-JSON :SBCL-USES-SB-ROTATE-BYTE CHIPZ-SYSTEM:GRAY-STREAMS :THREAD-SUPPORT :ASDF3.3 :ASDF3.2 :ASDF3.1 :ASDF3 :ASDF2 :ASDF :OS-UNIX :NON-BASE-CHARS-EXIST-P :ASDF-UNICODE :ARENA-ALLOCATOR :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/sr7a0affdh3qq5ql9v5h8m3a5v9928xj-sbcl-cl-cffi-gtk-3.8.8-3.1700fe6/share/common-lisp/sbcl/cl-cffi-gtk/gtk/cl-cffi-gtk.asd /gnu/store/awziwqfksyfdq31y15ri97q7x86bka2y-cl-gobject-introspection-0.3-3.83beec4/share/common-lisp/source/cl-gobject-introspection/cl-gobject-introspection.asd /gnu/store/wh1iwz9dja8vfpakqgf2y5s19zkvqj4q-sbcl-cl-webkit-3.5.10/share/common-lisp/sbcl/cl-webkit/webkit2/cl-webkit2.asd)

Guix version: 
WARN - Warning: Web process terminated for buffer 54175 (opening https://www.youtube.com/) because it crashed
WARN - Warning: JavaScript error: GError: Domain: "WebKitJavascriptError", Code: 601, Message: Unsupported result type
aadcg commented 7 months ago

@deadblackclover unfortunately these crashes do sometimes happen in WebKitGTK. Other than reporting them upstream and ensuring that you have gst-plugins installed, there's nothing left to do.

We're working on #2989, which will fix it.

deadblackclover commented 7 months ago

@aadcg Thx for your reply