nyxt
nyxt copied to clipboard
Nyxt crashes when changing buffers repeatedly
Describe the bug Switching buffers makes the browser eventually crash, this happens regardless of the amount of buffers open.
It's triggered more easily when switching rapidly, say to load the buffers that were open in a previous session. No idea if this means it's loading something extra when switching and this corrupts memory in some way? The terminal output doesn't reflect that.
In the "Output from terminal" you will notice that it complains of not being able to create /home/lmcj/.var/app/engineer.atlas.Nyxt/cache
, however when I look for it the directory exists and within it there are three directories, namely fontconfig
, mesa_shader_cache
and tmp
.
Also, it complains about it every time it's loading a buffer.
You will also see in the output from terminal that I loaded 3 buffers, this was a result of me changing buffers which were loaded from the history, once the buffers were loaded I continued changing buffers, naturally no more loading was done, but then suddenly the last part of the output is printed, which is when it crashed.
Precise recipe to reproduce the issue
- Open Nyxt
- Open a few buffers
- Change buffers repeatedly
For website-specific issues: N/A
Information
- OS name+version: Fedora 40
- Graphics card and driver: Intel® HD Graphics 520 (SKL GT2)
- Desktop environment / Window manager name+version: GNOME 46
- How you installed Nyxt (Guix pack, package manager, build from source): Flatpak
- Information from
show-system-information
:
Nyxt version: 3.11.6
Renderer: GI-GTK
Operating system kernel: Linux 6.8.7-300.fc40.x86_64
Lisp implementation: SBCL 2.4.3 (Dynamic space size: 3221225472)
Features: (:NYXT-GI-GTK :NYXT-GTK :NYXT-GI-GTK :NYXT-GTK :NYXT-3.11 :NYXT-3 :NYXT-3.11.6
:CLIPBOARD-CONTENT-METHOD :SWANK :SLYNK :PLUMP-UTF-32 :PARENSCRIPT :NSYMBOLS
:FSET-EXT-STRINGS :SBCL+SAFE-STANDARD-READTABLE :NAMED-READTABLES :FLATPAK
:GLOBAL-VARS :CL-FAD :LPARALLEL :21BIT-CHARS :CUSTOM-HASH-TABLE-NATIVE
:CL-PPCRE-UNICODE :CL-UNICODE :CL-JSON-DOUBLE-FLOAT-IS-SUBSUMED
:CL-JSON-SINGLE-FLOAT-IS-SUBSUMED :CHUNGA :FLEXI-STREAMS :CL-PPCRE :WEBKIT2
:WEBKIT-2.44.0 :WEBKIT-2.44 :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 :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-LDB :SB-PACKAGE-LOCKS :SB-THREAD :SB-UNICODE
:SBCL :UNIX)
ASDF version: 3.3.1
ASDF registries: (NYXT-SOURCE-REGISTRY ENVIRONMENT-SOURCE-REGISTRY)
Critical dependencies: (/run/build/nyxt/_build/cl-cffi-gtk/gtk/cl-cffi-gtk.asd
/run/build/nyxt/_build/cl-gobject-introspection/cl-gobject-introspection.asd
/run/build/nyxt/_build/cl-webkit/webkit2/cl-webkit2.asd)
Output when started from a shell
Nyxt version 3.11.6
<INFO> [12:23:23] Source location: #P"/app/share/nyxt/"
<INFO> [12:23:23] Listening to socket: #P"/run/user/1000/nyxt/nyxt.socket"
<INFO> [12:23:24] Loading #P"/home/lmcj/.local/share/nyxt/history/default.lisp".
<INFO> [12:23:24] Restoring 4 buffers from history.
Failed to create /home/lmcj/.var/app/engineer.atlas.Nyxt/cache for shader cache (No existe el fichero o el directorio)---disabling.
Failed to create /home/lmcj/.var/app/engineer.atlas.Nyxt/cache for shader cache (No existe el fichero o el directorio)---disabling.
<INFO> [12:23:26] Loading #P"/home/lmcj/.local/share/nyxt/auto-rules.lisp".
Failed to create /home/lmcj/.var/app/engineer.atlas.Nyxt/cache for shader cache (No existe el fichero o el directorio)---disabliFailed to create /home/lmcj/.var/app/engineer.atlas.Nyxt/cache for shader cache (No existe el fichero o el directorio)---disabling.
ng.
<INFO> [12:23:40] Loading "https://luevano.xyz/".
<INFO> [12:23:41] Finished loading "https://luevano.xyz/".
Failed to create /home/lmcj/.var/app/engineer.atlas.Nyxt/cache for shader cache (No existe el fichero o el directorio)---disabling.
<INFO> [12:23:44] Loading "https://lmcj.xyz/stats-seminar/".
<INFO> [12:23:44] Finished loading "https://lmcj.xyz/stats-seminar/".
Failed to create /home/lmcj/.var/app/engineer.atlas.Nyxt/cache for shader cache (No existe el fichero o el directorio)---disabling.
(nyxt:2): Gdk-CRITICAL **: 12:24:13.505: gdk_window_create_gl_context: assertion 'GDK_IS_WINDOW (window)' failed
CORRUPTION WARNING in SBCL pid 2 tid 15:
Memory fault at 0x8 (pc=0x7fd07058cb48, fp=0x7fd089ffde50, sp=0x7fd089ffde30) tid 15
The integrity of this image is possibly compromised.
Continuing with fingers crossed.
<WARN> [12:24:13] Warning: Error on GI-GTK thread: Unhandled memory fault at #x8.
;
; compilation unit aborted
; caught 1 fatal ERROR condition
I can't reproduce it but I'll keep an eye on it. Try to run flatpak update
in the meantime as it may update some dependencies.
Running into the same issue with crashing (but not having the failure to create cache issue).
Built from source. Happened on 3.11.6, downgraded to 3.11.4 with sbcl 2.3.5 and it occured again. Tried with latest git clone and got the same crash.
Nyxt version: 3.11.6
Renderer: GI-GTK
Operating system kernel: Linux 6.8.8-gentoo
Lisp implementation: SBCL 2.4.3 (Dynamic space size: 3221225472)
Features: (:NYXT-GI-GTK :NYXT-GTK :NYXT-GI-GTK :NYXT-GTK :NYXT-3.11 :NYXT-3 :NYXT-3.11.6
:CLIPBOARD-CONTENT-METHOD :SWANK :SLYNK :PLUMP-UTF-32 :PARENSCRIPT :NSYMBOLS
:FSET-EXT-STRINGS :SBCL+SAFE-STANDARD-READTABLE :NAMED-READTABLES :GLOBAL-VARS
:CL-FAD :LPARALLEL :21BIT-CHARS :CUSTOM-HASH-TABLE-NATIVE :CL-PPCRE-UNICODE
:CL-UNICODE :CL-JSON-DOUBLE-FLOAT-IS-SUBSUMED
:CL-JSON-SINGLE-FLOAT-IS-SUBSUMED :CHUNGA :FLEXI-STREAMS :CL-PPCRE :WEBKIT2
:WEBKIT-2.44.1 :WEBKIT-2.44 :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 :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)
(nyxt:11822): Gdk-CRITICAL **: 11:42:59.938: gdk_window_create_gl_context: assertion 'GDK_IS_WINDOW (window)' failed
CORRUPTION WARNING in SBCL pid 11822 tid 11848:
Memory fault at 0x8 (pc=0x7efe465f6bb8, fp=0x7efe2c765eb0, sp=0x7efe2c765eb0) tid 11848
The integrity of this image is possibly compromised.
Continuing with fingers crossed.
Backtrace for: #<SB-THREAD:THREAD tid=11848 "Nyxt renderer thread" RUNNING {10082969E3}>
0: ("bogus stack frame")
1: ((LAMBDA (&REST GIR::ARGS-IN) :IN GIR::BUILD-FUNCTION))
2: ((FLET NYXT/RENDERER/GI-GTK::MAIN-FUNC :IN NYXT:FFI-INITIALIZE))
3: ((LAMBDA NIL :IN BORDEAUX-THREADS::BINDING-DEFAULT-SPECIALS))
4: ((FLET SB-UNIX::BODY :IN SB-THREAD::RUN))
5: ((FLET "WITHOUT-INTERRUPTS-BODY-156" :IN SB-THREAD::RUN))
6: ((FLET SB-UNIX::BODY :IN SB-THREAD::RUN))
7: ((FLET "WITHOUT-INTERRUPTS-BODY-149" :IN SB-THREAD::RUN))
8: (SB-THREAD::RUN)
9: ("foreign function: call_into_lisp_")
10: ("foreign function: funcall1")
<WARN> [11:42:59] nyxt message.lisp (echo-warning form-fun-5) -
Warning: Error on GI-GTK thread: Unhandled memory fault at #x8.
<DEBUG> [11:42:59] nyxt urls.lisp (lisp-url with-recursive-lock-thunk) - Registering callback 20587 for buffer #<STATUS-BUFFER 6959 {1006C29A33}>
Nyxt version: 3.11.4
Renderer: GI-GTK
Operating system kernel: Linux 6.8.8-gentoo
Lisp implementation: SBCL 2.3.5 (Dynamic space size: 3221225472)
Features: (:NYXT-GI-GTK :NYXT-GTK :NYXT-GI-GTK :NYXT-GTK :NYXT-3.11 :NYXT-3 :NYXT-3.11.4
:CLIPBOARD-CONTENT-METHOD :SWANK :SLYNK :PLUMP-UTF-32 :PARENSCRIPT :NSYMBOLS
:FSET-EXT-STRINGS :SBCL+SAFE-STANDARD-READTABLE :NAMED-READTABLES :GLOBAL-VARS
:CL-FAD :LPARALLEL :21BIT-CHARS :CUSTOM-HASH-TABLE-NATIVE :CL-PPCRE-UNICODE
:CL-UNICODE :CL-JSON-DOUBLE-FLOAT-IS-SUBSUMED
:CL-JSON-SINGLE-FLOAT-IS-SUBSUMED :CHUNGA :FLEXI-STREAMS :CL-PPCRE :WEBKIT2
:WEBKIT-2.44.1 :WEBKIT-2.44 :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 :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)
(nyxt:19646): Gdk-CRITICAL **: 11:47:15.811: gdk_window_create_gl_context: assertion 'GDK_IS_WINDOW (window)' failed
CORRUPTION WARNING in SBCL pid 19646 tid 19671:
Memory fault at 0x8 (pc=0x7f465b2c2bb8, fp=0x7f464106deb0, sp=0x7f464106deb0) tid 19671
The integrity of this image is possibly compromised.
Continuing with fingers crossed.
Backtrace for: #<SB-THREAD:THREAD tid=19671 "Nyxt renderer thread" RUNNING {100821DF33}>
0: ("bogus stack frame")
1: ((LAMBDA (&REST GIR::ARGS-IN) :IN GIR::BUILD-FUNCTION))
2: ((FLET NYXT/RENDERER/GI-GTK::MAIN-FUNC :IN NYXT:FFI-INITIALIZE))
3: ((LAMBDA NIL :IN BORDEAUX-THREADS::BINDING-DEFAULT-SPECIALS))
4: ((FLET SB-UNIX::BODY :IN SB-THREAD::RUN))
5: ((FLET "WITHOUT-INTERRUPTS-BODY-156" :IN SB-THREAD::RUN))
6: ((FLET SB-UNIX::BODY :IN SB-THREAD::RUN))
7: ((FLET "WITHOUT-INTERRUPTS-BODY-149" :IN SB-THREAD::RUN))
8: (SB-THREAD::RUN)
9: ("foreign function: call_into_lisp_")
10: ("foreign function: funcall1")
<WARN> [11:47:15] nyxt message.lisp (echo-warning form-fun-5) -
Warning: Error on GI-GTK thread: Unhandled memory fault at #x8.
<DEBUG> [11:47:15] nyxt urls.lisp (lisp-url with-recursive-lock-thunk) - Registering callback 16242 for buffer #<STATUS-BUFFER 6957 {1006C30633}>
@fictitiousexistence that seems to suggest that the issue may be related to a new WebKitGTK version.