atlas-engineer / nyxt

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

JS error message on `quit` #3327

Open aadcg opened 5 months ago

aadcg commented 5 months ago

I haven't found a reliable recipe to reproduce the issue consistently but it seems that the error is raised when Nyxt quits in the midst of JS execution.

Backtrace for: #<SB-THREAD:THREAD tid=10747 "Nyxt renderer thread" RUNNING {1007922D33}>
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) {7FB22DAE59FB}>)
3: (UIOP/STREAM:CALL-WITH-SAFE-IO-SYNTAX #<FUNCTION (LAMBDA NIL :IN UIOP/IMAGE:PRINT-BACKTRACE) {100ABB364B}> :PACKAGE :CL)
4: ((:METHOD LOG4CL-IMPL:APPENDER-DO-APPEND (NYXT::MESSAGES-APPENDER T T T)) #<NYXT::MESSAGES-APPENDER {100F487433}> #<LOG4CL-IMPL::FILE-LOGGER NYXT.ECHO-WARNING.FORM-FUN-5 /tmp/guix-build-nyxt-3.11.1.drv-0/source/source/message.lisp {1002B88C33}> 3 #<FUNCTION (FLET "log-stmt8" :IN NYXT:ECHO-WARNING) {7FB22DAE5E5B}>) [fast-method]
5: ((LABELS LOG4CL-IMPL::LOG-TO-LOGGER-APPENDERS :IN LOG4CL-IMPL::LOG-WITH-LOGGER) #<LOGGER +ROOT+ {10013990F3}> #<LOG4CL-IMPL::FILE-LOGGER NYXT.ECHO-WARNING.FORM-FUN-5 /tmp/guix-build-nyxt-3.11.1.drv-0/source/source/message.lisp {1002B88C33}> 3 #<FUNCTION (FLET "log-stmt8" :IN NYXT:ECHO-WARNING) {7FB22DAE5E5B}>)
6: ((LABELS LOG4CL-IMPL::LOG-TO-LOGGER-APPENDERS :IN LOG4CL-IMPL::LOG-WITH-LOGGER) #<LOG4CL-IMPL::FILE-LOGGER NYXT NIL {1001B20343}> #<LOG4CL-IMPL::FILE-LOGGER NYXT.ECHO-WARNING.FORM-FUN-5 /tmp/guix-build-nyxt-3.11.1.drv-0/source/source/message.lisp {1002B88C33}> 3 #<FUNCTION (FLET "log-stmt8" :IN NYXT:ECHO-WARNING) {7FB22DAE5E5B}>)
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-3.11.1.drv-0/source/source/message.lisp {10037C3873}> #<LOG4CL-IMPL::FILE-LOGGER NYXT.ECHO-WARNING.FORM-FUN-5 /tmp/guix-build-nyxt-3.11.1.drv-0/source/source/message.lisp {1002B88C33}> 3 #<FUNCTION (FLET "log-stmt8" :IN NYXT:ECHO-WARNING) {7FB22DAE5E5B}>)
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-3.11.1.drv-0/source/source/message.lisp {1002B88C33}> #<LOG4CL-IMPL::FILE-LOGGER NYXT.ECHO-WARNING.FORM-FUN-5 /tmp/guix-build-nyxt-3.11.1.drv-0/source/source/message.lisp {1002B88C33}> 3 #<FUNCTION (FLET "log-stmt8" :IN NYXT:ECHO-WARNING) {7FB22DAE5E5B}>)
9: (LOG4CL-IMPL::LOG-WITH-LOGGER #<LOG4CL-IMPL::FILE-LOGGER NYXT.ECHO-WARNING.FORM-FUN-5 /tmp/guix-build-nyxt-3.11.1.drv-0/source/source/message.lisp {1002B88C33}> 3 #<FUNCTION (FLET "log-stmt8" :IN NYXT:ECHO-WARNING) {7FB22DAE5E5B}> #<PACKAGE "NYXT">)
10: (NYXT:ECHO-WARNING "JavaScript error: ~a" #<GLIB::G-ERROR-CONDITION {100ABB3103}>)
11: ((LAMBDA (CONDITION) :IN NYXT:FFI-BUFFER-EVALUATE-JAVASCRIPT) #<GLIB::G-ERROR-CONDITION {100ABB3103}>)
12: ((LAMBDA (CL-WEBKIT2::SOURCE-OBJECT CL-WEBKIT2::RESULT CL-WEBKIT2::USER-DATA) :IN "/gnu/store/8jh0j63c35w24sv2mld959z0s9nn9w1s-sbcl-cl-webkit-3.5.10/share/common-lisp/sbcl/cl-webkit/webkit2/webkit2.web-view.lisp") #<unused argument> #.(SB-SYS:INT-SAP #X7FB21C4920D0) #.(SB-SYS:INT-SAP #X00000048))
13: ((LAMBDA (SB-ALIEN::ARGS-POINTER SB-ALIEN::RESULT-POINTER FUNCTION) :IN "/gnu/store/yd2mbg3axblvn4hvsyfw5mplzhxw1awd-sbcl-cl-cffi-gtk-3.8.8-3.1700fe6/share/common-lisp/sbcl/cl-cffi-gtk/gdk/gdk.seat.lisp") #<unavailable argument> #<unavailable argument> #<unavailable argument>)
14: ("foreign function: funcall_alien_callback")
15: ("foreign function: #x500028FC")
16: ((LAMBDA (&REST GIR::ARGS-IN) :IN GIR::BUILD-FUNCTION))
17: ((FLET NYXT/RENDERER/GI-GTK::MAIN-FUNC :IN NYXT:FFI-INITIALIZE))
18: ((LABELS BORDEAUX-THREADS::%BINDING-DEFAULT-SPECIALS-WRAPPER :IN BORDEAUX-THREADS::BINDING-DEFAULT-SPECIALS))
19: ((FLET SB-UNIX::BODY :IN SB-THREAD::RUN))
20: ((FLET "WITHOUT-INTERRUPTS-BODY-174" :IN SB-THREAD::RUN))
21: ((FLET SB-UNIX::BODY :IN SB-THREAD::RUN))
22: ((FLET "WITHOUT-INTERRUPTS-BODY-167" :IN SB-THREAD::RUN))
23: (SB-THREAD::RUN)
24: ("foreign function: call_into_lisp_")
25: ("foreign function: funcall1")
 <WARN> [09:42:27] nyxt message.lisp (echo-warning form-fun-5) -
  Warning: JavaScript error: GError: Domain: "WebKitJavascriptError", Code: 601, Message: Unsupported result type
aadcg commented 4 months ago

Could be related to https://github.com/joachifm/cl-webkit/issues/74.

aadcg commented 2 months ago

This is a major issue and needs to be addressed ASAP.