atlas-engineer / nyxt

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

Memory is not flushed #1114

Open danrobi11 opened 3 years ago

danrobi11 commented 3 years ago

Describe the bug Nyxt doesnt flush the memory after deleting buffers.

Precise recipe to reproduce the issue I've let nyxt run overnight. It built up memory. In the morning I deleted all buffers except for the help buffer. Memory still remains the same. I'd have to close Nyxt to regain my memory.

Information OS: MX 19.3 (patito feo) x86_64 based Debian GNU/Linux 10 (buster) SysV init version: 2.93 Kernel: 4.19.0-9-amd64 Xorg v1:7.7+19 WM: Spectrwm

System-information: Nyxt version: 2-pre-release-5 Operating system kernel: Linux 4.19.0-13-amd64 Lisp implementation: SBCL 2.0.10 Features: (WEBKIT2 WEBKIT2-2.30 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 FSET-EXT-STRINGS SWANK PLUMP-UTF-32 GLOBAL-VARS DECLARE-TYPES PARENSCRIPT NAMED-READTABLES OSICAT-FD-STREAMS 21BIT-CHARS CHUNGA FLEXI-STREAMS CLOSER-MOP CL-PPCRE-UNICODE CL-UNICODE BORDEAUX-THREADS SPLIT-SEQUENCE GRAY-STREAMS FAST-IO-SV FAST-IO SBCL-USES-SB-ROTATE-BYTE ASDF-SYSTEM-CONNECTIONS CL-JSON-CLOS CL-JSON THREAD-SUPPORT CL-PPCRE FLAT-NAMESPACE X86-64 UNIX CFFI FLAT-NAMESPACE SEQUENCE-EMPTYP QUICKLISP 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)

Output when started from a shell

$ nyxt
<INFO> [16:30:07] Listening to socket "/home/danrobi/.local/share/nyxt/nyxt.socket".
Nyxt version 2-pre-release-5
<INFO> [16:30:07] Loading Lisp file "/home/danrobi/.config/nyxt/init.lisp".
<INFO> [16:30:16] Loading global history of 111 URLs from "/home/danrobi/.local/share/nyxt/history.lisp".
<INFO> [16:30:18] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:30:19] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:30:19] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:30:19] Loading "https://github.com/SrainApp/srain/".
<INFO> [16:30:20] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:30:23] Finished loading "https://github.com/SrainApp/srain/".
<INFO> [16:30:29] Loading "https://github.com/SrainApp/srain/".
<INFO> [16:30:30] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:30:30] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:30:30] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:30:30] Finished loading "https://github.com/login?return_to=%2FSrainApp%2Fsrain".
<INFO> [16:30:42] Loading "https://github.com/login?return_to=%2FSrainApp%2Fsrain".
<INFO> [16:30:43] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:30:44] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:30:44] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:30:45] Finished loading "https://github.com/SrainApp/srain".
<INFO> [16:30:49] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:30:50] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:30:52] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:30:53] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:30:53] Loading "https://github.com/SrainApp/srain/issues".
<INFO> [16:30:54] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:30:54] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:30:54] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:30:55] Finished loading "https://github.com/SrainApp/srain/issues/281".
<INFO> [16:33:52] Loading "https://github.com/SrainApp/srain/issues/281".
<INFO> [16:33:53] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:33:53] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:33:53] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".

** (WebKitWebProcess:25719): WARNING **: 16:33:56.199: WebKit wasn't able to find the GL video sink dependencies. Hardware-accelerated zero-copy video rendering can't be enabled without this plugin.

** (WebKitWebProcess:25719): WARNING **: 16:33:56.294: WebKit wasn't able to find the GL video sink dependencies. Hardware-accelerated zero-copy video rendering can't be enabled without this plugin.
<INFO> [16:34:02] Finished loading "https://github.com/".
<INFO> [16:45:25] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:45:25] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:45:25] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:45:29] Loading "https://peergos.org/".
<INFO> [16:45:30] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:45:33] Finished loading "https://peergos.org/".
<INFO> [16:46:29] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:49:38] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:49:38] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:49:39] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:49:41] Loading "https://getaether.net/mim-docs/".
<INFO> [16:49:42] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:49:46] Finished loading "https://getaether.net/mim-docs/".
<INFO> [16:49:57] Loading "https://getaether.net/mim-docs/".
<INFO> [16:49:58] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:49:58] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:49:58] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:49:58] Finished loading "https://getaether.net/mim-docs/about/".
<INFO> [16:50:10] Loading "https://getaether.net/mim-docs/about/".
<INFO> [16:50:10] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:50:10] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:50:10] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:50:11] Finished loading "https://getaether.net/mim-docs/".
<INFO> [16:50:20] Loading "https://getaether.net/mim-docs/".
<INFO> [16:50:20] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:50:21] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:50:21] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:50:23] Finished loading "https://getaether.net/".
<INFO> [16:51:04] Loading "https://getaether.net/".
<INFO> [16:51:05] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:51:05] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:51:05] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".

** (WebKitWebProcess:29831): WARNING **: 16:51:06.538: WebKit wasn't able to find the GL video sink dependencies. Hardware-accelerated zero-copy video rendering can't be enabled without this plugin.

** (WebKitWebProcess:29831): WARNING **: 16:51:07.088: WebKit wasn't able to find the GL video sink dependencies. Hardware-accelerated zero-copy video rendering can't be enabled without this plugin.
<INFO> [16:51:09] Finished loading "https://getaether.net/docs/".

** (sbcl:25585): CRITICAL **: 16:59:26.748: WebKitContextMenuAction webkit_context_menu_item_get_stock_action(WebKitContextMenuItem*): assertion 'WEBKIT_IS_CONTEXT_MENU_ITEM(item)' failed
<INFO> [16:59:39] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:59:39] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:59:39] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:59:41] Loading "https://getaether.net/docs/faq".
<INFO> [16:59:42] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:59:42] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:59:44] Finished loading "https://getaether.net/docs/faq/".
<INFO> [16:59:57] Loading "https://getaether.net/docs/faq/".
<INFO> [16:59:58] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:59:58] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:59:58] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [16:59:59] Finished loading "https://getaether.net/docs/faq/aether_cryptography/".
<INFO> [17:02:45] Loading "https://getaether.net/docs/faq/aether_cryptography/".
<INFO> [17:02:46] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [17:02:46] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [17:02:46] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [17:02:47] Finished loading "https://getaether.net/download/".
<INFO> [17:04:37] Loading "https://getaether.net/download/".
<INFO> [17:04:39] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [17:04:39] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [17:04:39] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [17:04:41] Finished loading "https://getaether.net/dlstarted/".

** (sbcl:25585): CRITICAL **: 17:05:09.913: WebKitContextMenuAction webkit_context_menu_item_get_stock_action(WebKitContextMenuItem*): assertion 'WEBKIT_IS_CONTEXT_MENU_ITEM(item)' failed
<INFO> [17:05:26] Loading "https://getaether.net/docs/".
<INFO> [17:05:27] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [17:05:27] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [17:05:27] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [17:05:28] Finished loading "https://getaether.net/opensource/".
<INFO> [17:05:40] Loading "https://getaether.net/opensource/".
<INFO> [17:05:41] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [17:05:41] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [17:05:41] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [17:05:44] Finished loading "https://github.com/nehbit/aether".
<INFO> [17:06:43] Loading "https://getaether.net/dlstarted/".
<INFO> [17:06:47] Downloading "https://static.getaether.net/Releases/Aether-2.0.0-dev.15/2011262249.19338c93/linux/Aether-2.0.0-dev.15+2011262249.19338c93.deb"
  to "/home/danrobi/Downloads/Aether-2.0.0-dev.15%2B2011262249.19338c93.deb".
<INFO> [17:06:48] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [17:06:48] Finished loading "https://getaether.net/dlstarted/".
<INFO> [17:07:12] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [17:07:21] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [17:34:14] https://github.com/nehbit/aether copied to clipboard.
<INFO> [17:36:32] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [17:55:45] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [17:55:46] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [17:55:46] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [17:55:47] Loading "https://nitter.net/dupontaignan/status/1354515604246585345#m".
<INFO> [17:55:48] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [17:55:50] Finished loading "https://nitter.net/dupontaignan/status/1354515604246585345#m".
<INFO> [18:08:03] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [18:08:03] Loading "https://www.mondialisation.ca/apres-la-covid-19-davos-passe-a-la-grande-reinitialisation/5653215".
<INFO> [18:08:04] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [18:08:04] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [18:08:07] Finished loading "https://www.mondialisation.ca/apres-la-covid-19-davos-passe-a-la-grande-reinitialisation/5653215".
<INFO> [18:18:24] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [20:05:57] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [20:05:58] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [20:05:58] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [20:05:58] Loading "https://github.com/luakit/luakit/commit/4caf97dd1174a45c757d158d88a61d9f86afc65b".
<INFO> [20:05:59] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [20:06:02] Finished loading "https://github.com/luakit/luakit/commit/4caf97dd1174a45c757d158d88a61d9f86afc65b".
<INFO> [20:08:27] Loading "https://github.com/luakit/luakit/commit/4caf97dd1174a45c757d158d88a61d9f86afc65b".
<INFO> [20:08:27] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [20:08:28] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [20:08:28] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [20:08:28] Finished loading "https://github.com/luakit/luakit/pull/818".
<INFO> [20:12:31] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [20:12:31] Loading "https://github.com/luakit/luakit/issues/711#issuecomment-769460092".
<INFO> [20:12:32] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [20:12:32] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [20:12:32] Finished loading "https://github.com/luakit/luakit/issues/711#issuecomment-769460092".
<INFO> [20:13:58] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [20:13:58] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [22:07:09] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [22:07:10] Loading "https://getaether.net/".
<INFO> [22:07:10] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [22:07:12] Finished loading "https://getaether.net/".
<INFO> [22:07:19] Loading "https://getaether.net/".
<INFO> [22:07:19] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [22:07:19] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [22:07:19] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [22:07:20] Finished loading "https://getaether.net/download/".
<INFO> [22:07:33] Loading "https://getaether.net/download/".
<INFO> [22:07:33] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [22:07:33] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [22:07:33] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [22:07:33] Finished loading "https://getaether.net/".
<INFO> [22:07:50] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [01:33:28] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [01:33:28] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [01:33:28] Loading "https://github.com/nehbit/aether".
<INFO> [01:33:28] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [01:33:28] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [01:33:29] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [01:33:29] Finished loading "https://github.com/nehbit/aether/commits/master".
<INFO> [01:33:39] Loading "https://github.com/nehbit/aether/commits/master".
<INFO> [01:33:40] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [01:33:40] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [01:33:41] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [01:33:42] Finished loading "https://getaether.net/docs/changelog/".
<INFO> [01:34:43] Loading "https://getaether.net/docs/changelog/".
<INFO> [01:34:43] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [01:34:43] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [01:34:43] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [01:34:43] Finished loading "https://github.com/nehbit/aether/commits/master".
<INFO> [01:36:06] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [01:36:06] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [01:36:43] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [01:36:49] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [01:36:53] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [01:36:53] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [01:36:54] Loading "https://nyxt.atlas.engineer/start".
<INFO> [01:36:54] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [01:36:54] Finished loading "https://nyxt.atlas.engineer/start".
<INFO> [01:38:48] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [01:47:12] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [01:47:12] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [01:47:12] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [01:47:13] Loading "https://lemmygrad.ml/c/leftpiracy/msgapp".
<INFO> [01:48:07] Finished loading "https://lemmygrad.ml/c/leftpiracy/msgapp".
<INFO> [01:48:07] Loading "https://lemmygrad.ml/c/leftpiracy/msgapp".
<INFO> [01:48:25] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [01:48:37] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [01:48:37] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [01:48:37] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [01:48:38] Loading "https://lemmygrad.ml/c/leftpiracy/msgapp".
<INFO> [01:49:35] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [01:49:35] Finished loading "https://lemmy.ml/post/50616".
<INFO> [01:49:35] Loading "https://lemmy.ml/post/50616".
<INFO> [01:49:35] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [01:49:37] Finished loading "https://lemmy.ml/post/50616".
<INFO> [02:28:42] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:28:42] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:34:15] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:34:15] Loading "https://old.reddit.com/r/KittyTerminal/comments/l73ulu/pager/".
<INFO> [02:34:15] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:34:15] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:34:19] Finished loading "https://old.reddit.com/r/KittyTerminal/comments/l73ulu/pager/".
<INFO> [02:38:33] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:38:33] Loading "https://old.reddit.com/r/MXLinux/comments/l74woo/help_needed_getting_wifi_working/".
<INFO> [02:38:34] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:38:34] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:38:35] Finished loading "https://old.reddit.com/r/MXLinux/comments/l74woo/help_needed_getting_wifi_working/".
<INFO> [02:40:28] Loading "https://old.reddit.com/r/MXLinux/comments/l74woo/help_needed_getting_wifi_working/".
<INFO> [02:40:29] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:40:29] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:40:32] Finished loading "https://old.reddit.com/r/MXLinux/comments/l74woo/help_needed_getting_wifi_working/".

** (sbcl:25585): CRITICAL **: 02:41:08.371: WebKitContextMenuAction webkit_context_menu_item_get_stock_action(WebKitContextMenuItem*): assertion 'WEBKIT_IS_CONTEXT_MENU_ITEM(item)' failed
<INFO> [02:41:15] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:41:15] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:41:15] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:41:15] Loading "https://old.reddit.com/user/Danrobi1/".
<INFO> [02:41:16] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:41:20] Finished loading "https://old.reddit.com/user/Danrobi1/".
<INFO> [02:41:43] Loading "https://old.reddit.com/user/Danrobi1/".
<INFO> [02:41:44] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:41:44] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:41:44] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:41:46] Finished loading "https://old.reddit.com/user/Danrobi1/?count=25&after=t1_gjx9zyh".
<INFO> [02:43:02] Loading "https://old.reddit.com/user/Danrobi1/?count=25&after=t1_gjx9zyh".
<INFO> [02:43:02] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:43:03] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:43:03] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:43:04] Finished loading "https://old.reddit.com/user/Danrobi1/?count=50&after=t1_ghs3hjj".
<INFO> [02:43:41] Loading "https://old.reddit.com/user/Danrobi1/?count=50&after=t1_ghs3hjj".
<INFO> [02:43:42] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:43:42] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:43:42] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:43:43] Finished loading "https://old.reddit.com/user/Danrobi1/?count=75&after=t1_ggdpoon".
<INFO> [02:44:24] Loading "https://old.reddit.com/user/Danrobi1/?count=75&after=t1_ggdpoon".
<INFO> [02:44:24] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:44:24] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:44:24] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:44:25] Finished loading "https://old.reddit.com/user/Danrobi1/?count=100&after=t1_ge4k428".
<INFO> [02:45:03] Loading "https://old.reddit.com/user/Danrobi1/?count=100&after=t1_ge4k428".
<INFO> [02:45:04] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:45:04] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:45:04] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:45:05] Finished loading "https://old.reddit.com/user/Danrobi1/?count=125&after=t3_joz7vc".
<INFO> [02:46:08] Loading "https://old.reddit.com/user/Danrobi1/?count=125&after=t3_joz7vc".
<INFO> [02:46:08] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:46:09] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:46:09] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:46:10] Finished loading "https://old.reddit.com/user/Danrobi1/?count=150&after=t1_g9g2q7k".
<INFO> [02:46:39] Loading "https://old.reddit.com/user/Danrobi1/?count=150&after=t1_g9g2q7k".
<INFO> [02:46:40] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:46:40] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:46:40] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:46:41] Finished loading "https://old.reddit.com/user/Danrobi1/?count=175&after=t1_g6iimli".
<INFO> [02:47:55] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:48:32] Pressed keys: C-c
<INFO> [02:48:40] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:48:40] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:48:40] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:48:41] Loading "https://duckduckgo.com/?q=".
<INFO> [02:48:41] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:48:43] Finished loading "https://duckduckgo.com/?q=".
<INFO> [02:48:46] Loading "https://duckduckgo.com/?q=".
<INFO> [02:48:46] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:48:46] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:48:46] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:48:48] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:48:48] Finished loading "https://duckduckgo.com/?q=https%3A%2F%2Fold.reddit.com%2Fuser%2FDanrobi1%2F&t=h_&ia=web".
<INFO> [02:49:02] Pressed keys: C-c
<INFO> [02:49:12] Loading "https://duckduckgo.com/?q=https%3A%2F%2Fold.reddit.com%2Fuser%2FDanrobi1%2F&t=h_&ia=web".
<INFO> [02:49:12] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:49:12] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:49:12] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:49:13] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:49:14] Finished loading "https://duckduckgo.com/?q=WIFI+extender&t=h_&ia=web".
<INFO> [02:49:14] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:49:25] https://duckduckgo.com/?q=WIFI+extender&t=h_&iax=images&ia=images copied to clipboard.
<INFO> [02:50:10] Loading "https://old.reddit.com/r/MXLinux/comments/l74woo/help_needed_getting_wifi_working/".
<INFO> [02:50:11] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:50:11] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:50:11] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:50:13] Finished loading "https://old.reddit.com/message/unread/".
<INFO> [02:51:11] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:51:12] Loading "https://old.reddit.com/r/MXLinux/comments/l76huk/cant_get_past_login_screen/".
<INFO> [02:51:12] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:51:12] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:51:13] Finished loading "https://old.reddit.com/r/MXLinux/comments/l76huk/cant_get_past_login_screen/".
<INFO> [02:56:04] Loading "https://old.reddit.com/r/MXLinux/comments/l76huk/cant_get_past_login_screen/".
<INFO> [02:56:04] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:56:04] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:56:06] Finished loading "https://old.reddit.com/r/MXLinux/comments/l76huk/cant_get_past_login_screen/".
<INFO> [02:57:20] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:57:20] Loading "https://old.reddit.com/r/MXLinux/comments/l6nsry/doing_some_basic_shit_trying_to_learn_the_ropes/".
<INFO> [02:57:20] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:57:20] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [02:57:22] Finished loading "https://old.reddit.com/r/MXLinux/comments/l6nsry/doing_some_basic_shit_trying_to_learn_the_ropes/".
<INFO> [03:03:55] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [03:03:55] Loading "https://old.reddit.com/r/spectrwm/comments/l6uq30/spawn_new_windows_as_master_the_dwm_way_any/".
<INFO> [03:03:55] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [03:03:55] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [03:03:56] Finished loading "https://old.reddit.com/r/spectrwm/comments/l6uq30/spawn_new_windows_as_master_the_dwm_way_any/".
<INFO> [03:06:09] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [03:06:09] Loading "https://old.reddit.com/r/thehatedone/comments/l6cesa/can_any_one_help_me_with_the_youtube_app_called/".
<INFO> [03:06:10] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [03:06:10] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [03:06:11] Finished loading "https://old.reddit.com/r/thehatedone/comments/l6cesa/can_any_one_help_me_with_the_youtube_app_called/".
<INFO> [03:08:19] Pressed keys: C-c
<INFO> [03:08:47] Pressed keys: C-c
<INFO> [03:12:16] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [03:12:16] Loading "https://old.reddit.com/r/ipfs/comments/l6etmf/ipfs_application_architectures/".
<INFO> [03:12:17] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [03:12:17] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [03:12:23] Finished loading "https://old.reddit.com/r/ipfs/comments/l6etmf/ipfs_application_architectures/".
<INFO> [09:47:55] Loading "https://old.reddit.com/r/ipfs/comments/l6etmf/ipfs_application_architectures/".
<INFO> [09:47:55] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [09:47:56] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [09:48:01] Finished loading "https://old.reddit.com/r/ipfs/comments/l6etmf/ipfs_application_architectures/".
<INFO> [09:48:01] Loading "https://old.reddit.com/r/ipfs/comments/l6etmf/ipfs_application_architectures/".
<INFO> [09:48:01] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [09:48:01] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [09:48:02] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [09:48:04] Finished loading "https://old.reddit.com/message/unread/".
<INFO> [09:48:24] Loading "https://old.reddit.com/message/unread/".
<INFO> [09:48:25] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [09:48:25] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [09:48:25] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [09:48:25] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [09:48:26] Finished loading "https://old.reddit.com/login/?dest=https%3A%2F%2Fold.reddit.com%2Fmessage%2Funread%2F".
<INFO> [09:48:32] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
<INFO> [09:48:38] Saving session to "/home/danrobi/.local/share/nyxt/sessions/default.lisp".
aartaka commented 3 years ago

Yes, that is fair. One place I'm sure we're not freeing the memory in is ffi-buffer-load -- WebKitBackForwardListItems are not freed, while they should.

There definitely are more places, so thanks for pointing that out!

UPD: No, it's not fii-buffer-load. It's something else. :thinking:

Ambrevar commented 3 years ago

I haven't looked at the code, but @aartaka any clue where this should be fixed? Is it a cl-webkit issue or a Nyxt issue?

jmercouris commented 3 years ago

Perhaps we have references left to the buffer in form of connected g-signals. Maybe those have to be disconnected for a buffer to be cleaned up?

aartaka commented 3 years ago

I haven't looked at the code, but @aartaka any clue where this should be fixed? Is it a cl-webkit issue or a Nyxt issue?

I looked over all the WebKit documentation regarding things we use in Nyxt, and I'm puzzled -- memory is mostly controlled by WebKit, so we don't need to free it. ¯_(ツ)_/¯

Ambrevar commented 3 years ago

Artyom Bologov notifications@github.com writes:

I haven't looked at the code, but @aartaka any clue where this should be fixed? Is it a cl-webkit issue or a Nyxt issue?

I looked over all the WebKit documentation regarding things we use in Nyxt, and I'm puzzled -- memory is mostly controlled by WebKit, so we don't need to free it. ¯_(ツ)_/¯

That's what I thought.

I remember discussing this issue in the past and testing to see if the memory was freed in Nyxt: it is, but not as much as we would like it to be.

So it seems that we are holding values in memory somewhere, somehow.

aartaka commented 3 years ago

One place we certainly don't clear memory in is cl-webkit's javascript-evaluation-complete callback. We need to unref the JSResult and free the result string after we move it to Lisp-land.

Given how much JS calls we do, these can take quite a lot of memory with time.

Ambrevar commented 3 years ago

I think I found another spot, but it's probably not much: when we create a window, its first active buffer is set to a dummy buffer. When switching to another buffer, we lose Lisp references to this buffer, but it's never `ffi-buffer-delete'd.

aartaka commented 3 years ago

JS objects are freed in https://github.com/joachifm/cl-webkit/commit/c554b02e29095e7739df12947526a03c8b34190d. How do we test the change? :thinking:

UPD: cc16e7e9e99e576b2c1dbb2228fadc25691ae394 incorporates this change into Nyxt, along with other niceties :)

Ambrevar commented 3 years ago

Thanks!

We need to come up with a systemic way to measure memory. Any idea how to do that?

Ambrevar commented 3 years ago

I don't know if Valgrind can be of any help for SBCL executable.

Maybe an SBCL extension or some Common Lisp library can help?

Worst case we can use GNU time to measure memory usage. It's a bit rough, but it's a start.

Then we need a recipe: any idea of a scenario that eats up memory fast?

danrobi11 commented 3 years ago

I compiled version: Version dont-use-this-tag2 (weird name version 😉)

On my end the memory is flushed after deleting buffers. I'll leave to you to close the issue or not.

Ambrevar commented 3 years ago

I compiled version: Version dont-use-this-tag2 (weird name version 😉)

These are dummy tags I've introduce while playing with the pipeline. You can remove them. If you reclone the repo, these tags should be gone.

On my end the memory is flushed after deleting buffers. I'll leave to you to close the issue or not.

Thanks for reporting.

The issue is still present, but the problem is not just from buffer deletion. It might have to do with history.

Ambrevar commented 3 years ago

Something else I noticed is that we might not clean up deleted buffers properly, because we keep references to them with recent-bufers. This is intentional, but the web view should be cleaned up at least. We need to check that we do it.

It seems that this issue has been mitigated recently and it only affects few people. I'll remove the 2.0 tag.