Skip to content

Detecting port to be used in Docker setup #13

Closed
@matuskosut

Description

@matuskosut

Docker setup - Jupyterhub + DockerSpawner + Jupyterlab

current port check: https://github.com/mathworks/jupyter-matlab-proxy/blob/main/jupyter_matlab_proxy/app_state.py#L339

Main issue: If TMPDIR is shared between users, but each user environment is spawn in separate container, MATLAB will go ahead and assign same port to each of them. Only the first one owning the tmp directory will be able to write to tmp directory. Other users will fail to start MATLAB.

/opt/conda/lib/python3.8/site-packages/aiohttp/web_urldispatcher.py:237: RuntimeWarning: coroutine 'Process.wait' was never awaited
  super().__init__(match_dict)
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
INFO:MATLABProxyApp:Cleaning up matlab_ready_file.../tmp/MWI/31511/connector.securePort

Potentially if setting separate TMPDIR per user we manage to avoid the main problem. But user can spawn multiple containers (Jupyterhub feature) so I expect each container will end up having the same port 31511, could this cause issues if all instances of the user are using same temporary directory (/tmp/MWI/31511/connector.securePort)?

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingfixed

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions