-
-
Notifications
You must be signed in to change notification settings - Fork 26
Description
Hi,
Today I found a problem trying to connect to Wolfram Kernel. In some cases, WLJS cannot connect to kernel, complaining about a license error that as far as I know it could be anything else. Other times it loads, but it says it cannot connect to the Kernel. Other times it starts without any problem. The main problem is that today it was locked in the failing state for hours, so I could not get any work done.
I did not change anything in my computer. Yesterday it was working, today I started finding all these problems. It is true that in the past WLJS had some hiccups connecting to the kernel, but usually a restart would solve it... today it was just impossible for some random reason.
I tried to troubleshoot the issue but I didn't find any solution. Wolfram Engine works perfectly well when I call wolframscript and also in Jupyter.
My Wolfram Engine is version 14.0.0 for Linux x86 (64-bit)
WLJS is set at 2.8.9, as I updated today to see if there was any problem.
This is the log of a failing startup, which would not even open the program:
WLJS Notebooks
Copyright (c) 2025 Coffee liqueur
Licensed under the GNU GPL v3.0. See /LICENSE.md.
This product bundles third-party FOSS.
Wolfram Engine is proprietary and distributed by Wolfram Research.
Starting wolframscript by path: wolframscript
Wolfram Language 14.0.0 Engine for Linux x86 (64-bit)
Copyright 1988-2023 Wolfram Research, Inc.
In[1]:=
This project is not affiliated with, endorsed by, or sponsored by Wolfram\
> Research, Inc. Wolfram and Wolfram Language are trademarks of Wolfram\
> Research, Inc.
>> WLJS Extensions >> Loaded >> wljs-api
>> WLJS Extensions >> Loaded >> wljs-cells
>> WLJS Extensions >> Loaded >> wljs-debugger
>> WLJS Extensions >> Loaded >> wljs-demos-archive
>> WLJS Extensions >> Loaded >> wljs-docs-archive
>> WLJS Extensions >> Loaded >> wljs-editor
>> WLJS Extensions >> Loaded >> wljs-excalidraw
>> WLJS Extensions >> Loaded >> wljs-export-html
>> WLJS Extensions >> Loaded >> wljs-graphics3d-threejs
>> WLJS Extensions >> Loaded >> wljs-graphics-d3
>> WLJS Extensions >> Loaded >> wljs-html-support
>> WLJS Extensions >> Loaded >> wljs-inputs
>> WLJS Extensions >> Loaded >> wljs-interpreter
>> WLJS Extensions >> Loaded >> wljs-js-support
>> WLJS Extensions >> Loaded >> wljs-magic-support
>> WLJS Extensions >> Loaded >> wljs-manipulate
>> WLJS Extensions >> Loaded >> wljs-markdown-support
>> WLJS Extensions >> Loaded >> wljs-mermaid-support
>> WLJS Extensions >> Loaded >> wljs-neuralnet
>> WLJS Extensions >> Loaded >> wljs-plotly
>> WLJS Extensions >> Loaded >> wljs-print-redirect-fix
>> WLJS Extensions >> Loaded >> wljs-revealjs
>> WLJS Extensions >> Loaded >> wljs-sharedlib-d3
>> WLJS Extensions >> Loaded >> wljs-sharedlib-mk
>> WLJS Extensions >> Loaded >> wljs-sharedlib-three
>> WLJS Extensions >> Loaded >> wljs-snippets
>> WLJS Extensions >> Loaded >> wljs-sound
>> WLJS Extensions >> Loaded >> wljs-templates
>> WLJS Extensions >> Loaded >> wljs-toc
>> WLJS Extensions >> Loaded >> wljs-video
>> WLJS Extensions >> Loaded >> wljs-wlx-support
>> WLJS Extensions >> Loaded >> wljs-wxf-accelerator
>> WLJS Extensions >> Loaded >> wljs-xterm
WLJS Notebook does not collect or transmit your data unless you explicitly\
> choose a feature that needs the network.
>> CSockets >> Unix >> Linux-x86-64
>> CSockets >> Unix >> Loading UV library...
>> CSockets >> Unix >> Loading library... LLink 7
LibraryFunction::version:
The version number 8 of the library is not consistent with the current or
any previous WolframLibraryVersion.
LibraryFunction::initerr:
A nonzero error code 7 was returned during the initialization of the
library /opt/WLJS
Notebook/resources/app/wl_packages/KirillBelov_CSockets/LibraryResources/
Linux-x86-64-v7/usockets.so.
LibraryFunction::libload:
The function run_uvloop was not loaded from the file
/opt/WLJS
Notebook/resources/app/wl_packages/KirillBelov_CSockets/LibraryResources/
Linux-x86-64-v7/usockets.so.
>> CSockets >> Unix >> Another attempt to load v6
>> CSockets >> Unix >> Succesfully loaded! LLink
Segmentation fault (core dumped)
The Wolfram Engine exited because of a license error.
Process exited with code 139
No hup
And this one is from a successful startup, just to compare
WLJS Notebooks
Copyright (c) 2025 Coffee liqueur
Licensed under the GNU GPL v3.0. See /LICENSE.md.
This product bundles third-party FOSS.
Wolfram Engine is proprietary and distributed by Wolfram Research.
Starting wolframscript by path: wolframscript
Wolfram Language 14.0.0 Engine for Linux x86 (64-bit)
Copyright 1988-2023 Wolfram Research, Inc.
In[1]:=
This project is not affiliated with, endorsed by, or sponsored by Wolfram\
> Research, Inc. Wolfram and Wolfram Language are trademarks of Wolfram\
> Research, Inc.
>> WLJS Extensions >> Loaded >> wljs-api
>> WLJS Extensions >> Loaded >> wljs-cells
>> WLJS Extensions >> Loaded >> wljs-debugger
>> WLJS Extensions >> Loaded >> wljs-demos-archive
>> WLJS Extensions >> Loaded >> wljs-docs-archive
>> WLJS Extensions >> Loaded >> wljs-editor
>> WLJS Extensions >> Loaded >> wljs-excalidraw
>> WLJS Extensions >> Loaded >> wljs-export-html
>> WLJS Extensions >> Loaded >> wljs-graphics3d-threejs
>> WLJS Extensions >> Loaded >> wljs-graphics-d3
>> WLJS Extensions >> Loaded >> wljs-html-support
>> WLJS Extensions >> Loaded >> wljs-inputs
>> WLJS Extensions >> Loaded >> wljs-interpreter
>> WLJS Extensions >> Loaded >> wljs-js-support
>> WLJS Extensions >> Loaded >> wljs-magic-support
>> WLJS Extensions >> Loaded >> wljs-manipulate
>> WLJS Extensions >> Loaded >> wljs-markdown-support
>> WLJS Extensions >> Loaded >> wljs-mermaid-support
>> WLJS Extensions >> Loaded >> wljs-neuralnet
>> WLJS Extensions >> Loaded >> wljs-plotly
>> WLJS Extensions >> Loaded >> wljs-print-redirect-fix
>> WLJS Extensions >> Loaded >> wljs-revealjs
>> WLJS Extensions >> Loaded >> wljs-sharedlib-d3
>> WLJS Extensions >> Loaded >> wljs-sharedlib-mk
>> WLJS Extensions >> Loaded >> wljs-sharedlib-three
>> WLJS Extensions >> Loaded >> wljs-snippets
>> WLJS Extensions >> Loaded >> wljs-sound
>> WLJS Extensions >> Loaded >> wljs-templates
>> WLJS Extensions >> Loaded >> wljs-toc
>> WLJS Extensions >> Loaded >> wljs-video
>> WLJS Extensions >> Loaded >> wljs-wlx-support
>> WLJS Extensions >> Loaded >> wljs-wxf-accelerator
>> WLJS Extensions >> Loaded >> wljs-xterm
WLJS Notebook does not collect or transmit your data unless you explicitly\
> choose a feature that needs the network.
>> CSockets >> Unix >> Linux-x86-64
>> CSockets >> Unix >> Loading UV library...
>> CSockets >> Unix >> Loading library... LLink 7
LibraryFunction::version:
The version number 8 of the library is not consistent with the current or
any previous WolframLibraryVersion.
LibraryFunction::initerr:
A nonzero error code 7 was returned during the initialization of the
library /opt/WLJS
Notebook/resources/app/wl_packages/KirillBelov_CSockets/LibraryResources/
Linux-x86-64-v7/usockets.so.
LibraryFunction::libload:
The function run_uvloop was not loaded from the file
/opt/WLJS
Notebook/resources/app/wl_packages/KirillBelov_CSockets/LibraryResources/
Linux-x86-64-v7/usockets.so.
>> CSockets >> Unix >> Another attempt to load v6
>> CSockets >> Unix >> Succesfully loaded! LLink
Caching is enabled for 1 hour! Type\
> JerryI`WLX`Importer`Private`CacheControl[False] to disable it
>> Checking version of WLJS Notebook ...
>> 2.8.9
>> Default paths:
>> >> QuickNotesDir: /tmp/wljs_quicknotes
>> >> BackupsDir: /tmp/wljs_backups
>> >> DefaultDocumentsDir: /home/victor/Documentos/WLJS Notebooks
>> >> DemosDir: /home/victor/Documentos/WLJS Notebooks/Demos
>> >> ExtensionsDir: /home/victor/Documentos/WLJS Notebooks/Extensions
>> >> AppDataDir: /home/victor/.config/wljs-notebook
>> >> AppConfig: /home/victor/.config/wljs-notebook/_settings.wl
>> >> Root: /opt/WLJS Notebook/resources/app
Initializing WordData indices ....
>> WLJS Extensions >> Sync deferred packages >> FrontProxy.wl
>> WLJS Extensions >> Sync deferred packages >> BoxesConverter.wl
>> WLJS Extensions >> Sync deferred packages >> WSP.wl
>> WLJS Extensions >> Sync deferred packages >> Canvas2D.wl
>> WLJS Extensions >> Sync deferred packages >> AnimationFramework
>> WLJS Extensions >> Sync deferred packages >> AnimationFramework.wl
taring HTTP server...
>> Loading packages: FRONTEND
OptionValue::nodef: Unknown option Data for Component$21020.
OptionValue::nodef: Unknown option Size for Component$21020.
OptionValue::nodef: Unknown option Ref for Component$21020.
General::stop: Further output of OptionValue::nodef
will be suppressed during this calculation.
>> Evaluator >> Added new
>> Evaluator >> Added new
>> Evaluator >> Added new
>> Evaluator >> Added new
>> Evaluator >> Added new
>> Evaluator >> Added new
>> Evaluator >> Added new
>> Evaluator >> Added new
>> Evaluator >> Added new
>> Evaluator >> Added new
>> Evaluator >> Added new
>> Evaluator >> Added new
>> Evaluator >> Added new
>> Evaluator >> Added new
>> Note: wljs-docs-archive only redirects to a web page since 2.8.1
>> Snippets >> Library loading...
>> Snippets >> Loading >> /opt/WLJS\
> Notebook/resources/app/wljs_packages/wljs-snippets/library/camera.wln
>> Snippets >> Loading >> /opt/WLJS\
> Notebook/resources/app/wljs_packages/wljs-snippets/library/copy.wln
>> Snippets >> Loading >> /opt/WLJS\
> Notebook/resources/app/wljs_packages/wljs-snippets/library/datascii.wln
>> Snippets >> Loading >> /opt/WLJS\
> Notebook/resources/app/wljs_packages/wljs-snippets/library/formatter.wln
>> Snippets >> Loading >> /opt/WLJS\
> Notebook/resources/app/wljs_packages/wljs-snippets/library/imagecrop.wln
>> Snippets >> Loading >> /opt/WLJS\
> Notebook/resources/app/wljs_packages/wljs-snippets/library/matrix.wln
>> Snippets >> Loading >> /opt/WLJS\
> Notebook/resources/app/wljs_packages/wljs-snippets/library/placement-joy\
> stick.wln
>> Snippets >> Loading >> /opt/WLJS\
> Notebook/resources/app/wljs_packages/wljs-snippets/library/placement-sli\
> der.wln
>> Snippets >> Loading >> /opt/WLJS\
> Notebook/resources/app/wljs_packages/wljs-snippets/library/placement.wln
>> Snippets >> Loading >> /opt/WLJS\
> Notebook/resources/app/wljs_packages/wljs-snippets/library/record.wln
>> Snippets >> Loading >> /opt/WLJS\
> Notebook/resources/app/wljs_packages/wljs-snippets/library/showopts.wln
>> Snippets >> Loading >> /opt/WLJS\
> Notebook/resources/app/wljs_packages/wljs-snippets/library/specialchars.\
> wln
>> Snippets >> Loading >> /opt/WLJS\
> Notebook/resources/app/wljs_packages/wljs-snippets/library/textformat.wln
>> Snippets >> Loading >> /opt/WLJS\
> Notebook/resources/app/wljs_packages/wljs-snippets/library/upload.wln
>> HTTPHandler[KirillBelov`HTTPHandler`HTTPHandler`$12]
>> Snippets >> AI loading...
StringRiffle::list: List expected at position 1 in StringRiffle[ulStyles].
>> Found black boxes:
>> {/opt/WLJS\
> Notebook/resources/app/wljs_packages/wljs-export-html/DynamicsTools/Bla\
> ckBoxes/AnimationMachine.wl,
> /opt/WLJS\
> Notebook/resources/app/wljs_packages/wljs-export-html/DynamicsTools/Bla\
> ckBoxes/PavlovMachine.wl,
> /opt/WLJS\
> Notebook/resources/app/wljs_packages/wljs-export-html/DynamicsTools/Bla\
> ckBoxes/StateMachine.wl, /opt/WLJS\
> Notebook/resources/app/wljs_packages/wljs-export-html/DynamicsTools/Bla\
> ckBoxes/WidgetStateMachine.wl}
>> BlackBox :: AnimationMachine
>> BlackBox :: PavlovMachine
>> BlackBox :: StateMachine
>> BlackBox :: WidgetStateMachine
hash >> allocate 61698960 with offset 0
hash >> 342
hash >> ok!
opened on socket 0
LISTEN uintptr_t at 0
server: 0
creating async task...
Staring WS/HTTP server...
Hee uvTask: 1
Event-Loop started!
hash >> allocate 61503840 with offset 0
hash >> 583
hash >> ok!
opened on socket 1
LISTEN uintptr_t at 1
server: 1
>> Downloads module was attached
>> Notifications >> Created spinner notifications type
>> Notifications >> Created custom notifications type
Protocol Loaded!
Settings Loaded!
Window Loaded!
Prompt window Loaded!
App Loaded!
Autolaunch!
>> >> Starting local LTP server ...
>> LocalKernel >> Starting using path:\
> "/home/victor/wolframengine/14/SystemFiles/Kernel/Binaries/Linux-x86-64/\
> WolframKernel" -wstp
CoffeeLiqueur`Notebook`LocalKernel`Private`LocalKernelObject[CoffeeLiqueur`No\
> tebook`LocalKernel`Private`LocalKernelObject`$60]
Done?
Iframe app Loaded!
App Loaded!
>> InputNamePacket[In[1]:= ]
>> ReturnPacket[0]
>> ReturnPacket[Null]
>> ReturnPacket[/opt/WLJS Notebook/resources/app]
>> ReturnPacket[/opt/WLJS Notebook/resources/app]
>> ReturnPacket[{/opt/WLJS Notebook/resources/app}]
>> ReturnPacket[{/opt/WLJS Notebook/resources/app,
> /opt/WLJS Notebook/resources/app/wl_packages}]
>> InputNamePacket[In[2]:= ]
Open http://127.0.0.1:20560 in your browser
New connection for 2
hash >> allocate 140254841408368 with offset 0
hash >> 124
hash >> ok!
uv start readingbroadcast NewClient state!
# Loading by path :
/home/victor/Documentos/WLJS Notebooks
Load settings one more time
>> SHORT!
OptionValue::optnf:
Option name AppEvent not found in defaults for Component$32453.
Default router
New connection for 3
hash >> allocate 140254841438448 with offset 0
hash >> 282
hash >> ok!
uv start readingbroadcast NewClient state!
>> InputNamePacket[In[3]:= ]
>> InputNamePacket[In[4]:= ]
>> Demos >> nothing to do. Up to date
>> InputNamePacket[In[5]:= ]
>> InputNamePacket[In[6]:= ]
>> InputNamePacket[In[7]:= ]
>> InputNamePacket[In[8]:= ]
>> InputNamePacket[In[9]:= ]
>> InputNamePacket[In[10]:= ]
>> InputNamePacket[In[11]:= ]
>> InputNamePacket[In[12]:= ]
>> InputNamePacket[In[13]:= ]
>> InputNamePacket[In[14]:= ]
Hee uvTask: 1
>> InputNamePacket[In[15]:= ]
>> InputNamePacket[In[16]:= ]
>> InputNamePacket[In[17]:= ]
>> InputNamePacket[In[18]:= ]
>> OutputNamePacket[Out[18]= ]
>> ReturnTextPacket[{Interpretation, InterpretationBox}]
>> InputNamePacket[In[19]:= ]
>> ReturnPacket[Null]
>> Kernel output >> Print: Establishing LTP link... using 127.0.0.1:36800
>> Kernel output >> Print: >> sid >> 0
>> Kernel output >> Print: Establishing starting LTP server for backlink...\
> using 127.0.0.1:36808
>> LocalKernel >> local kernel link connected!
>> LocalKernel >> PID: 41433
>> SocketObject[e9705059-cfdd-4138-9c2a-32fce4691c0a]
>> Kernel output >> State: Connected
>> Created! Spinner
Init Kernel!!!
>> Kernel output >> Notifications`Spinner[Notifications`Spinner`$76]: Null
>> Loading into Kernel... wljs-interpreter/src/Definitions.wl
>> Loading into Kernel... wljs-editor/src/FrontendObject.wl
>> Loading into Kernel... wljs-editor/src/EditorKernel.wl
>> Loading into Kernel... wljs-editor/src/StandardForm.wl
>> Loading into Kernel... wljs-editor/src/Boxes.wl
>> Loading into Kernel... wljs-editor/src/BoxesWorkarounds.wl
>> Loading into Kernel... wljs-editor/src/OffloadExtension.wl
>> Loading into Kernel... wljs-editor/src/SetDirectoryKernel.wl
>> Loading into Kernel... wljs-editor/src/FrontSubmitKernel.wl
>> Loading into Kernel... wljs-editor/src/RemoteCellsKernel.wl
>> Loading into Kernel... wljs-editor/src/FrontendObjectMissingFetch.wl
>> Loading into Kernel... wljs-editor/src/StoreKernel.wl
>> Loading into Kernel... wljs-editor/src/NotificationsKernel.wl
>> Loading into Kernel... wljs-editor/src/MetaMarkersKernel.wl
>> Loading into Kernel... wljs-editor/src/AutocompleteKernel.wl
>> Loading into Kernel... wljs-editor/src/System.wl
>> Loading into Kernel... wljs-editor/src/RasterizeKernel.wl
>> Loading into Kernel... wljs-editor/src/FrontendRuntimeKernel.wl
>> Loading into Kernel... wljs-graphics3d-threejs/src/Kernel.wl
>> Loading into Kernel... wljs-plotly/src/Kernel.wl
>> Loading into Kernel... wljs-graphics-d3/src/Kernel.wl
>> Loading into Kernel... wljs-inputs/src/Kernel.wl
>> Loading into Kernel... wljs-sound/src/Kernel.wl
>> Loading into Kernel... wljs-revealjs/src/Kernel.wl
>> Loading into Kernel... wljs-neuralnet/Kernel.wl
>> Loading into Kernel... wljs-export-html/DynamicsTools/ESP.wl
>> Loading into Kernel... wljs-manipulate/Diff.wl
>> Loading into Kernel... wljs-manipulate/Kernel.wl
>> Loading into Kernel... wljs-print-redirect-fix/Kernel.wl
>> Loading into Kernel... wljs-video/src/Kernel.wl
>> Loading into Kernel... wljs-wxf-accelerator/Override.wl
>> Starting WS link
>> LocalKernel Init >> Normal
nothing to do...
nothing to do...
nothing to do...
Kernel init...
Kernel init...
Kernel init...
>> LocalKernel Init >> Normal
nothing to do...
Kernel init...
>> LocalKernel Init >> Normal
>> LocalKernel Init >> Normal
>> LocalKernel Init >> Normal
>> LocalKernel Init >> Normal
>> Kernel output >> Connected: Please wait until initialization is complete!
Ok!
>> ReturnPacket[Null]
Open http://127.0.0.1:20560 in your browser
Open http://127.0.0.1:20560 in your browser
New connection for 4
hash >> allocate 140254841438704 with offset 0
hash >> 440
hash >> ok!
uv start readingbroadcast NewClient state!
>> Downloader >> Get request
>> Downloader >> Get request
>> Downloader >> Get request
>> Downloader >> Get request
>> Downloader >> Get request
>> Downloader >> Get request
>> Downloader >> Get request
>> Downloader >> Get request
>> Downloader >> Get request
>> Downloader >> Get request
>> Downloader >> Get request
>> Downloader >> Get request
>> Kernel output >> State: Initialized
>> ReturnPacket[Null]
>> ReturnPacket[Null]
>> Kernel output >> Print: Init js Kernel (Local)
>> ReturnPacket[Null]
>> ReturnPacket[Null]
>> Kernel output >> Print: Init internal communication
>> ReturnPacket[Null]
>> ReturnPacket[Null]
>> Kernel output >> Print: Init normal Kernel (Local)
>> ReturnPacket[Null]
>> ReturnPacket[Null]
>> ReturnPacket[Null]
>> ReturnPacket[Null]
>> ReturnPacket[Null]
>> ReturnPacket[Null]
Open http://127.0.0.1:20560 in your browser
>> Kernel output >> State: Initialized
New connection for 5
hash >> allocate 140254841438960 with offset 0
hash >> 599
hash >> ok!
uv start readingbroadcast NewClient state!
>> Downloader >> Get request
Read error ECONNRESET
writeerror !
making 5 closed by the reading thread!
broadcast Closed state!
New connection for 5
hash >> allocate 140254841439216 with offset 0
hash >> 757
hash >> ok!
uv start readingbroadcast NewClient state!
>> CSocketObject[5] was Closed
>> Downloader >> Get request
writeerror !
making 3 closed by the reading thread!
broadcast Closed state!
>> ExtendedApp >> Destroy
>> Kernel list holder >> destroyed!
>> Kernel >> Item.wlx >> destroyed!S
To me, it looks related to LLink or this uvloop, since it fails in both cases to load LLink on the first try. It looks like sometimes it just fails to fetch something. I see there are potentially related issues (#265 , #361 and #406 ) so maybe there's something off. Is there any way to fix it form WJLS or is it a Wolfram problem? It looks like their repos are kinda abandoned.
Thanks!