Skip to content

Unable to pass custom init file #10

@s4m13337

Description

@s4m13337

I would like to preload some data when starting the server. When I load it through the init file from the default locations e.g. $UserBaseDirectory/Kernel/init.m, it works fine. But when I try to pass a custom init file with the option --initfile, the server does not start and it returns a big error message.

(wwe) s4m13337@s4m13337-MBA wwe $ python3 -m wolframwebengine --initfile myinit.m testapp
----------------------------------------------------------------------
Address         http://localhost:18000/
Folder          /Users/som/Developer/wwe/testapp
Index           index.wl
----------------------------------------------------------------------
(Press CTRL+C to quit)

Kernel writes commands to socket: <Socket: uri=tcp://127.0.0.1:53654>
Kernel receives evaluated expressions from socket: <Socket: uri=tcp://127.0.0.1:53655>
Initializing Kernel logger on socket tcp://127.0.0.1:53656
Kernel process started with PID: 85336
Socket exception: Failed to read any message from socket tcp://127.0.0.1:53655 after 20.0 seconds and 198 retries.
Failed to start.
Start termination on kernel <WolframKernelController[wolfram-kernel-1 ✅], "/Applications/Mathematica.app/Contents/MacOS/WolframKernel", pid:85336, kernel sockets: (in:tcp://127.0.0.1:53655, out:tcp://127.0.0.1:53654)>
Killing kernel process: 85336
Terminating kernel logger thread.
Start termination on kernel <WolframKernelController[wolfram-kernel-1 ❌], "/Applications/Mathematica.app/Contents/MacOS/WolframKernel">
Traceback (most recent call last):
  File "/Users/som/Developer/wwe/lib/python3.10/site-packages/wolframclient/evaluation/kernel/kernelcontroller.py", line 435, in _kernel_start
    response = self.kernel_socket_in.recv_abortable(
  File "/Users/som/Developer/wwe/lib/python3.10/site-packages/wolframclient/evaluation/kernel/zmqsocket.py", line 53, in recv_abortable
    raise SocketOperationTimeout(
wolframclient.evaluation.kernel.zmqsocket.SocketOperationTimeout: Failed to read any message from socket tcp://127.0.0.1:53655 after 20.0 seconds and 198 retries.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/som/Developer/wwe/bin/wolframwebengine", line 8, in <module>
    sys.exit(main())
  File "/Users/som/Developer/wwe/lib/python3.10/site-packages/wolframwebengine/__main__.py", line 7, in main
    Command().main()
  File "/Users/som/Developer/wwe/lib/python3.10/site-packages/wolframclient/cli/utils.py", line 83, in main
    return self.handle(*args, **cmd_options)
  File "/Users/som/Developer/wwe/lib/python3.10/site-packages/wolframwebengine/cli/commands/runserver.py", line 199, in handle
    loop.run_until_complete(main())
  File "/Users/s4m13337/.pyenv/versions/3.10.10/lib/python3.10/asyncio/base_events.py", line 649, in run_until_complete
    return future.result()
  File "/Users/som/Developer/wwe/lib/python3.10/site-packages/wolframwebengine/cli/commands/runserver.py", line 193, in main
    await session.start()
  File "/Users/som/Developer/wwe/lib/python3.10/site-packages/wolframclient/evaluation/kernel/asyncsession.py", line 135, in start
    await asyncio.wrap_future(future)
  File "/Users/som/Developer/wwe/lib/python3.10/site-packages/wolframclient/evaluation/kernel/kernelcontroller.py", line 557, in run
    self._safe_kernel_start()
  File "/Users/som/Developer/wwe/lib/python3.10/site-packages/wolframclient/evaluation/kernel/kernelcontroller.py", line 366, in _safe_kernel_start
    raise e
  File "/Users/som/Developer/wwe/lib/python3.10/site-packages/wolframclient/evaluation/kernel/kernelcontroller.py", line 360, in _safe_kernel_start
    self._kernel_start()
  File "/Users/som/Developer/wwe/lib/python3.10/site-packages/wolframclient/evaluation/kernel/kernelcontroller.py", line 455, in _kernel_start
    raise WolframKernelException(
wolframclient.exception.WolframKernelException: Failed to communicate with kernel: /Applications/Mathematica.app/Contents/MacOS/WolframKernel.

For testing purpose, the content of myinit.m is just test = 123 and to verify if it works, I added ExportForm[{"hello", UnixTime[], test}, "JSON"] in the testapp/index.wl file. I have tried both inside and outside a python virtual environment.

Metadata

Metadata

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions