nebari-dev / jhub-apps

Application creator and general launcher for JupyterHub
https://jhub-apps.nebari.dev/
BSD 3-Clause "New" or "Revised" License
19 stars 11 forks source link

Custom Trame App not starting #169

Closed alesgenova closed 1 month ago

alesgenova commented 3 months ago

Context

Hello,

I'm trying to deploy a Trame application on the nebari instance at nebari.jatic.net, but I'm having trouble having it launch correctly. I don't know what the issue is because I don't get any error output, the app simply wont start.

This is the configuration of the conda environment:

channels:
  - conda-forge
dependencies:
  - python = 3.10
  - pip
  - pip:
      - trame-vuetify
      - trame-vtk
      - nrtk_explorer @
        git+https://github.com/Kitware/nrtk-explorer.git@94e34c514b396be83e888698dbb76c3324e93564
  - ipykernel
  - jhsingle-native-proxy>=0.8.2

And this is the configuration for the custom app (custom command option)

nrtk_explorer.app.main {--}server {--}port {port} {--}host 0.0.0.0

To have a few more datapoints, the following are commands for a few Trame test applications that DO work instead. These applications can be found in the same conda environment

trame.app.demo {--}server {--}port {port} {--}host 0.0.0.0
nrtk_explorer.app.test2 {--}server {--}port {port} {--}host 0.0.0.0
nrtk_explorer.app.test3 {--}server {--}port {port} {--}host 0.0.0.0

Finally, the following is a test application that DOES NOT work:

nrtk_explorer.app.test4 {--}server {--}port {port} {--}host 0.0.0.0

Value and/or benefit

Not a feature request

Anything else?

No response

aktech commented 3 months ago

Hey @alesgenova, running the suggested command on my Mac M1, throws the following error:

$ python -m nrtk_explorer.app.test4 --server --port 1234 --host 0.0.0.0
OMP: Error #15: Initializing libomp.dylib, but found libomp.dylib already initialized.
OMP: Hint This means that multiple copies of the OpenMP runtime have been linked into the program. That is dangerous, since it can degrade performance or cause incorrect results. The best thing to do is to ensure that only a single OpenMP runtime is linked into the process, e.g. by avoiding static linking of the OpenMP runtime in any library. As an unsafe, unsupported, undocumented workaround you can set the environment variable KMP_DUPLICATE_LIB_OK=TRUE to allow the program to continue to execute, but that may cause crashes or silently produce incorrect results. For more information, please see http://openmp.llvm.org/
[1]    69182 abort      python -m nrtk_explorer.app.test4 --server --port 1234 --host 0.0.0.0

Tried after setting the environment variable too, as seen in the error message:

$ export KMP_DUPLICATE_LIB_OK=TRUE
$ python -m nrtk_explorer.app.test4 --server --port 1234 --host 0.0.0.0
[1]    69265 segmentation fault  python -m nrtk_explorer.app.test4 --server --port 1234 --host 0.0.0.0

Can you share instructions on how to run it locally, outside of jhub-apps?

brianhhu commented 2 months ago

@jourdain Could you pick up this thread again? I talked to @dharhas today at our program planning meeting, and they are tracking this issue but currently waiting for some feedback from our Kitware team. Thanks!

jourdain commented 2 months ago

Yes I will. I was waiting to have a published version to simplify the instructions. But we got a version published yesterday. So hopefully I can provide more input later today.

jourdain commented 2 months ago

You should be able to run the various test app with the following setup

# setup venv
python -m venv .venv
source .venv/bin/activate
pip install -U pip

# install app with add-on testing endpoints
pip install "nrtk-explorer[web]>=0.1"

# Run the test web apps
python -m nrtk_explorer.app.test.quasar 
python -m nrtk_explorer.app.test.vuetify3

# real application
python -m nrtk_explorer.app.main

Any app accept standard arguments:

viniciusdc commented 2 months ago

Okay, my first cents on this. Before attempting to debug jhub-apps I tested running the commands mentioned in the issue description. Here are my findings:

.../lib/python3.10/site-packages/torch/amp/autocast_mode.py:250: UserWarning: User provided device_type of 'cuda', but CUDA is not available. Disabling warnings.warn(

App running at:

Note that for multi-users you need to use and configure a launcher. ^C%
$ python -m nrtk_explorer.app.test3 --server --port 8050 --host 0.0.0.0

.../lib/python3.10/site-packages/torch/amp/autocast_mode.py:250: UserWarning: User provided device_type of 'cuda', but CUDA is not available. Disabling warnings.warn(

App running at:

Note that for multi-users you need to use and configure a launcher. ^C%
$ python -m nrtk_explorer.app.test4 --server --port 8050 --host 0.0.0.0

.../lib/python3.10/site-packages/torch/amp/autocast_mode.py:250: UserWarning: User provided device_type of 'cuda', but CUDA is not available. Disabling warnings.warn(

App running at:

Note that for multi-users you need to use and configure a launcher. ^C%

<img width="957" alt="Captura de Tela 2024-05-09 às 19 12 12" src="https://github.com/nebari-dev/jhub-apps/assets/51954708/37c7ccf7-9d0e-46d9-bc48-328fefebf09e">

I also tried running the `main`, but got an error:
```shell
$ python -m nrtk_explorer.app.main  --server --port 8050 --host 0.0.0.0

lib/python3.10/site-packages/torch/amp/autocast_mode.py:250: UserWarning: User provided device_type of 'cuda', but CUDA is not available. Disabling
  warnings.warn(
lib/python3.10/runpy.py:126: RuntimeWarning: 'nrtk_explorer.app.main' found in sys.modules after import of package 'nrtk_explorer.app', but prior to execution of 'nrtk_explorer.app.main'; this may result in unpredictable behaviour
  warn(RuntimeWarning(msg))
Downloading: "https://download.pytorch.org/models/resnet50-0676ba61.pth" to .../.cache/torch/hub/checkpoints/resnet50-0676ba61.pth
100%|█████████████████████████████████████████████████████████████████████████████████████████████| 97.8M/97.8M [00:09<00:00, 11.0MB/s]
Downloading: "https://download.pytorch.org/models/alexnet-owt-7be5be79.pth" to .../.cache/torch/hub/checkpoints/alexnet-owt-7be5be79.pth
100%|███████████████████████████████████████████████████████████████████████████████████████████████| 233M/233M [00:22<00:00, 10.6MB/s]
Downloading: "https://download.pytorch.org/models/vgg16-397923af.pth" to .../.cache/torch/hub/checkpoints/vgg16-397923af.pth
100%|███████████████████████████████████████████████████████████████████████████████████████████████| 528M/528M [00:53<00:00, 10.4MB/s]
Traceback (most recent call last):
  File "lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "lib/python3.10/site-packages/nrtk_explorer/app/main.py", line 10, in <module>
    main()
  File "lib/python3.10/site-packages/nrtk_explorer/app/main.py", line 5, in main
    engine = create_engine(server)
  File "lib/python3.10/site-packages/nrtk_explorer/app/core.py", line 372, in create_engine
    return Engine(server)
  File "lib/python3.10/site-packages/nrtk_explorer/app/core.py", line 102, in __init__
    self._transforms_app = TransformsApp(
  File "lib/python3.10/site-packages/nrtk_explorer/app/transforms.py", line 90, in __init__
    "nrtk_pybsm": nrtk_trans.NrtkPybsmTransform(),
  File "lib/python3.10/site-packages/nrtk_explorer/library/nrtk_transforms.py", line 147, in __init__
    sensor, scenario = createSampleSensorandScenario()
  File "lib/python3.10/site-packages/nrtk_explorer/library/nrtk_transforms.py", line 79, in createSampleSensorandScenario
    darkCurrent = pybsm.darkCurrentFromDensity(1e-5, wx, wy)
AttributeError: module 'pybsm' has no attribute 'darkCurrentFromDensity'
jourdain commented 2 months ago

Thanks for looking into this. So at least you don't see any error with the test apps.

Can you try installing the PyPI released version instead of the git one?

# setup venv
python -m venv .venv
source .venv/bin/activate
pip install -U pip

# install app with add-on testing endpoints
pip install "nrtk-explorer[web]>=0.1"

# Run the test web apps
python -m nrtk_explorer.app.test.quasar 
python -m nrtk_explorer.app.test.vuetify3

# real application
python -m nrtk_explorer.app.main

And if you have the same issue with the nrtk_explorer.app.main can you list the dependency list with the versions?

jourdain commented 2 months ago

I mean technically a conda-recipe is pending for that package in case you rather use conda instead of PyPI.

viniciusdc commented 1 month ago

Okay, after some debugging, I am still trying to understand why it's not correctly rendering the application on jhub-apps. However I've confirmed a few things:

Because this runs wslink under the hood for the trame application's server app, I wonder if it expects extra flags when running under a proxy. As some of the errors I encountered while debugging a bit with the configurations (and thus timing out) seems to lead into that direction:

python3.10/site-packages/torch/amp/autocast_mode.py:250: UserWarning: User provided device_type of 'cuda', 
but CUDA is not available. Disabling
  warnings.warn(
python3.10/runpy.py:126: RuntimeWarning: 'nrtk_explorer.app.main' found in sys.modules after import of 
package 'nrtk_explorer.app', but prior to execution of 'nrtk_explorer.app.main'; this may result in 
unpredictable behaviour
  warn(RuntimeWarning(msg))
Traceback (most recent call last):
  File "python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "python3.10/site-packages/nrtk_explorer/app/main.py", line 10, in <module>
    main()
  File "python3.10/site-packages/nrtk_explorer/app/main.py", line 6, in main
    engine.server.start(**kwargs)
  File "python3.10/site-packages/trame_server/core.py", line 653, in start
    task = CoreServer.server_start(
  File "python3.10/site-packages/trame_server/protocol.py", line 50, in server_start
    return server.start_webserver(
  File "python3.10/site-packages/wslink/server.py", line 295, in start_webserver
    return exec_modes[exec_mode]()
  File "python3.10/site-packages/wslink/server.py", line 278, in main_exec
    loop.run_until_complete(create_coroutine())
  File "python3.10/asyncio/base_events.py", line 649, in run_until_complete
    return future.result()
  File "python3.10/site-packages/wslink/backends/aiohttp/__init__.py", line 111, in start
    await self._site.start()
  File "python3.10/site-packages/aiohttp/web_runner.py", line 119, in start
    self._server = await loop.create_server(
  File "python3.10/asyncio/base_events.py", line 1519, in create_server
    raise OSError(err.errno, 'error while attempting '
OSError: [Errno 99] error while attempting to bind on address ('::1', 60917, 0, 0): cannot assign 
requested address

During those tests I've encountered a few bugs/errors messages that could provide some lead to why rendering is so problematic, but they require further digging. So far, I was able to expose the app-dashboard by following these steps:

  1. Create the necessary conda environment;
  2. Access code-server insider a jupyterlab user pod on a nebari instance;
  3. Start the server with the simple terminal command nrtk_explorer.app.test3 --host=0.0.0.0 --port=4836 for example
  4. You should then be able to access /user/<nebari_username>/vscode/proxy/4836/index.html
jourdain commented 1 month ago

bind on address ('::1', 60917, 0, 0) usually come from the fact that either the --host 0.0.0.0 was not processed or maybe you need to try with 127.0.0.1?

jourdain commented 1 month ago

Also if args have conflicting behavior, you could use a TRAME_ARGS="--host=0.0.0.0 --port=4836 --server" as env variable.

I'll do another pass to see if things are working now that we have a native conda env.

viniciusdc commented 1 month ago

bind on address ('::1', 60917, 0, 0) usually come from the fact that either the --host 0.0.0.0 was not processed or maybe you need to try with 127.0.0.1?

Yes, I've played with a few different values for the host, but it seems that 0.0.0.0 is the only one that successfully binds. I've created a playground test suit inside a jupyter notebook to test this our as the process from executing there and in jhub-apps is similar.

Curiously, the example they provided in their docs does not work with the exact timing out behavior as of nrtk_explorer. So, I am assuming we will need to generate a custom class for running trame/wslink apps, similar to how we are doing for dash-plotly

jourdain commented 1 month ago

we will need to generate a custom class for running trame/wslink apps

That will be great and let me know if I can help.

jourdain commented 1 month ago

The doc you linked assume you have full network access (not remote). That is why it is not working in a real deployment. Although with JupyterHub and server proxy, it should detect it automatically using the ENV variables and use the proxy path instead of direct port connection.

jourdain commented 1 month ago

Indeed it failed but if you do the following on the nebari platform it worked for me.

from trame.app.demo import Cone

app = Cone()
await app.ui.ready
app.ui.iframe_builder = "jupyter-hub"
app.ui
jourdain commented 1 month ago

Once trame-client>=3.0.3 get propagated to conda, that extra line should not be needed.

viniciusdc commented 1 month ago

Indeed it failed but if you do the following on the nebari platform it worked for me.

from trame.app.demo import Cone

app = Cone()
await app.ui.ready
app.ui.iframe_builder = "jupyter-hub"
app.ui

Gotcha, that makes sense; I was already playing with the extra iframe configuration but was going in another direction; thanks for the working example. Have you tried passing TRAME_IFRAME_BUILDER env var into the conda-store environment build that jhub app uses to launch the app? In theory, both envs should work in a similar fashion

jourdain commented 1 month ago

Yes both should work the same way.

But the issue at hand was specifically with the NRTK app. The basic demo app always worked. What we could not understand was why the NRTK one (even the embedded simple test ones) were failing. I was hoping to get the conda recipe merged so we could test a proper environment without involving a git url and a mix of package manger (pypi + conda).

I guess we should revisit that thread when this get merged so we can confirm it is truly a platform issue and not an invalid python environment due to mixed package manager.

viniciusdc commented 1 month ago

indeed, just to double check, I've built your environment, and I've got this error:

❯ conda activate trame-test
❯ python -m nrtk_explorer.app.main  --server --port 8050 --host 0.0.0.0
Matplotlib is building the font cache; this may take a moment.
/Users/vinicius/miniconda3/envs/trame-test/lib/python3.10/site-packages/torch/amp/autocast_mode.py:250: UserWarning: User provided device_type of 'cuda', but CUDA is not available. Disabling
  warnings.warn(
/Users/vinicius/miniconda3/envs/trame-test/lib/python3.10/runpy.py:126: RuntimeWarning: 'nrtk_explorer.app.main' found in sys.modules after import of package 'nrtk_explorer.app', but prior to execution of 'nrtk_explorer.app.main'; this may result in unpredictable behaviour
  warn(RuntimeWarning(msg))
Traceback (most recent call last):
  File "/Users/vinicius/miniconda3/envs/trame-test/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/Users/vinicius/miniconda3/envs/trame-test/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/Users/vinicius/miniconda3/envs/trame-test/lib/python3.10/site-packages/nrtk_explorer/app/main.py", line 10, in <module>
    main()
  File "/Users/vinicius/miniconda3/envs/trame-test/lib/python3.10/site-packages/nrtk_explorer/app/main.py", line 5, in main
    engine = create_engine(server)
  File "/Users/vinicius/miniconda3/envs/trame-test/lib/python3.10/site-packages/nrtk_explorer/app/core.py", line 372, in create_engine
    return Engine(server)
  File "/Users/vinicius/miniconda3/envs/trame-test/lib/python3.10/site-packages/nrtk_explorer/app/core.py", line 102, in __init__
    self._transforms_app = TransformsApp(
  File "/Users/vinicius/miniconda3/envs/trame-test/lib/python3.10/site-packages/nrtk_explorer/app/transforms.py", line 90, in __init__
    "nrtk_pybsm": nrtk_trans.NrtkPybsmTransform(),
  File "/Users/vinicius/miniconda3/envs/trame-test/lib/python3.10/site-packages/nrtk_explorer/library/nrtk_transforms.py", line 147, in __init__
    sensor, scenario = createSampleSensorandScenario()
  File "/Users/vinicius/miniconda3/envs/trame-test/lib/python3.10/site-packages/nrtk_explorer/library/nrtk_transforms.py", line 79, in createSampleSensorandScenario
    darkCurrent = pybsm.darkCurrentFromDensity(1e-5, wx, wy)
AttributeError: module 'pybsm' has no attribute 'darkCurrentFromDensity'
viniciusdc commented 1 month ago

that was fixed two weeks ago, I will use the latest version from main

viniciusdc commented 1 month ago

Running app.main locally works (though this does not have the test examples):

Captura de Tela 2024-05-17 às 15 45 40
jourdain commented 1 month ago

You can grab some sample dataset by looking at the Usage section in the readme.

But that is great! So it is most likely going to work remotely when using the Nebari App with custom command.

viniciusdc commented 1 month ago

This is on nebari, found that conda-store was caching one of the deps with an old version:

INFO:root:Collecting pybsm@ https://files.pythonhosted.org/packages/5a/3d/8b105c908cfdcf915ae46d9defe45bace57eebcb9175a6e9742a6910297d/pybsm-0.1.1-py3-none-any.whl#sha256=f41952a09fdb7e6117d78b85eeb22515a02db57b40e78c4584b2e551aa5cfccb (from -r /tmp/tmpzqov2fnm (line 93))
INFO:root:  Using cached pybsm-0.1.1-py3-none-any.whl (77.8 MB)

from jhub app

Error report from ContainDS Dashboards
Command Running:
python3 -m jhsingle_native_proxy.conda_runner /opt/conda /home/conda/analyst/envs/analyst-trame-test python -m nrtk_explorer.app.main --server --port 43489 --host 0.0.0.0

Error output:
CONDA_PREFIX=/home/conda/analyst/envs/analyst-trame-test

Standard output:
The cache for model files in Transformers v4.22.0 has been updated. Migrating your old cache. This is a one-time only operation. You can interrupt this and resume the migration later on by calling `transformers.utils.move_cache()`.

0it [00:00, ?it/s]
0it [00:00, ?it/s]
Traceback (most recent call last):
  File "/home/conda/analyst/envs/analyst-trame-test/lib/python3.10/runpy.py", line 187, in _run_module_as_main
    mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
  File "/home/conda/analyst/envs/analyst-trame-test/lib/python3.10/runpy.py", line 110, in _get_module_details
    __import__(pkg_name)
  File "/home/conda/analyst/envs/analyst-trame-test/lib/python3.10/site-packages/nrtk_explorer/app/__init__.py", line 1, in <module>
    from .main import main
  File "/home/conda/analyst/envs/analyst-trame-test/lib/python3.10/site-packages/nrtk_explorer/app/main.py", line 1, in <module>
    from nrtk_explorer.app.core import Engine
  File "/home/conda/analyst/envs/analyst-trame-test/lib/python3.10/site-packages/nrtk_explorer/app/core.py", line 10, in <module>
    from nrtk_explorer.app.transforms import TransformsApp
  File "/home/conda/analyst/envs/analyst-trame-test/lib/python3.10/site-packages/nrtk_explorer/app/transforms.py", line 14, in <module>
    import nrtk_explorer.library.nrtk_transforms as nrtk_trans
  File "/home/conda/analyst/envs/analyst-trame-test/lib/python3.10/site-packages/nrtk_explorer/library/nrtk_transforms.py", line 6, in <module>
    from pybsm.otf import darkCurrentFromDensity
ModuleNotFoundError: No module named 'pybsm.otf'
kcpevey commented 1 month ago

@jourdain does adding the right pybsm version fix the issue?

jourdain commented 1 month ago

Just tried with the conda recipe of nrtk-exporer and I get an error log (which is good) when the node starts.

Traceback (most recent call last):
  File "<frozen runpy>", line 189, in _run_module_as_main
  File "<frozen runpy>", line 112, in _get_module_details
  File "/home/conda/sebastien.jourdain@kitware.com/envs/sebastien.jourdain@kitware.com-trame/lib/python3.12/site-packages/nrtk_explorer/app/__init__.py", line 1, in <module>
    from .main import main
  File "/home/conda/sebastien.jourdain@kitware.com/envs/sebastien.jourdain@kitware.com-trame/lib/python3.12/site-packages/nrtk_explorer/app/main.py", line 1, in <module>
    from nrtk_explorer.app.core import Engine
  File "/home/conda/sebastien.jourdain@kitware.com/envs/sebastien.jourdain@kitware.com-trame/lib/python3.12/site-packages/nrtk_explorer/app/core.py", line 10, in <module>
    from nrtk_explorer.app.transforms import TransformsApp
  File "/home/conda/sebastien.jourdain@kitware.com/envs/sebastien.jourdain@kitware.com-trame/lib/python3.12/site-packages/nrtk_explorer/app/transforms.py", line 14, in <module>
    import nrtk_explorer.library.nrtk_transforms as nrtk_trans
  File "/home/conda/sebastien.jourdain@kitware.com/envs/sebastien.jourdain@kitware.com-trame/lib/python3.12/site-packages/nrtk_explorer/library/nrtk_transforms.py", line 6, in <module>
    from pybsm.otf import darkCurrentFromDensity
  File "/home/conda/sebastien.jourdain@kitware.com/envs/sebastien.jourdain@kitware.com-trame/lib/python3.12/site-packages/pybsm/otf/__init__.py", line 2, in <module>
    from .functional import * # noqa F401,F403
    ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/conda/sebastien.jourdain@kitware.com/envs/sebastien.jourdain@kitware.com-trame/lib/python3.12/site-packages/pybsm/otf/functional.py", line 72, in <module>
    import cv2
ImportError: libOpenGL.so.0: cannot open shared object file: No such file or directory

I guess I will close this issue for now. As the main problem initially was that the app was starting but we had no feedback of why it was not working.

jourdain commented 1 month ago

For reference:

Requested Packages

ipykernel
setuptools
nrtk-explorer

Packages Installed as Dependencies

accelerate                             0.30.1
aiohttp                                3.9.5
aiosignal                              1.3.1
alsa-lib                               1.2.11
aom                                    3.9.0
asttokens                              2.4.1
attr                                   2.5.1
attrs                                 23.2.0
aws-c-auth                             0.7.20
aws-c-cal                              0.6.12
aws-c-common                           0.9.17
aws-c-compression                      0.2.18
aws-c-event-stream                     0.4.2
aws-checksums                          0.1.18
aws-c-http                             0.8.1
aws-c-io                               0.14.8
aws-c-mqtt                             0.10.4
aws-crt-cpp                            0.26.8
aws-c-s3                               0.5.8
aws-c-sdkutils                         0.1.16
aws-sdk-cpp                            1.11.329
blosc                                  1.21.5
brotli                                 1.1.0
brotli-bin                             1.1.0
brotli-python                          1.1.0
brunsli                                0.1
bzip2                                  1.0.8
ca-certificates                     2024.2.2            
cairo                                  1.18.0
c-ares                                 1.28.1
c-blosc2                               2.14.4
certifi                             2024.2.2            
charls                                 2.4.2            
charset-normalizer                     3.3.2            
colorama                               0.4.6            
comm                                   0.2.2            
contourpy                              1.2.1
cycler                                 0.12.1
cython                                 3.0.10
datasets                               2.14.4
dav1d                                  1.2.1
dbus                                   1.13.6            
debugpy                                1.8.1
decorator                              5.1.1
dill                                   0.3.7
double-conversion                      3.3.0
exceptiongroup                         1.2.0
executing                              2.0.1
expat                                  2.6.2            
ffmpeg                                 6.1.1
filelock                               3.14.0
fontconfig                             2.14.2            
fonts-conda-ecosystem                       1
fonts-conda-forge                           1
fonttools                              4.51.0
font-ttf-dejavu-sans-mono               2.37
font-ttf-inconsolata                    3.000
font-ttf-source-code-pro                2.038
font-ttf-ubuntu                         0.83
freeglut                                3.2.2            
freetype                                2.12.1
fribidi                                 1.0.10
frozenlist                              1.4.1
fsspec                               2024.5.0
gettext                                 0.22.5
gettext-tools                           0.22.5
gflags                                  2.2.2            
giflib                                  5.2.2            
glib                                    2.80.2            
glib-tools                              2.80.2            
glog                                    0.7.0
gmp                                     6.3.0
gmpy2                                   2.1.5
gnutls                                  3.7.9
graphite2                               1.3.13
gst-plugins-base                        1.24.3
gstreamer                               1.24.3
harfbuzz                                8.5.0
hdf5                                    1.14.3
huggingface_hub                         0.23.0
icu                                    73.2            
idna                                    3.7
imagecodecs                          2024.1.1
imageio                                 2.34.1
imath                                   3.1.11
importlib-metadata                      7.1.0
importlib_metadata                      7.1.0
ipykernel                               6.29.3
ipython                                 8.24.0
jasper                                  4.2.4
jedi                                    0.19.1
jinja2                                  3.1.4
joblib                                  1.4.2            
jupyter_client                          8.6.1
jupyter_core                            5.7.2            
jxrlib                                  1.1
keyutils                                1.6.1
kiwisolver                              1.4.5
krb5                                    1.21.2            
lame                                    3.100
lazy_loader                             0.4
lcms2                                   2.16            
ld_impl_linux-64                        2.40
lerc                                    4.0.0
libabseil                        20240116.2            
libaec                                  1.1.3
libarrow                                16.1.0
libarrow-acero                          16.1.0
libarrow-dataset                        16.1.0
libarrow-substrait                      16.1.0
libasprintf                              0.22.5
libasprintf-devel                        0.22.5
libass                                   0.17.1
libavif16                                1.0.4
libblas                                  3.9.0
libbrotlicommon                          1.1.0
libbrotlidec                             1.1.0
libbrotlienc                             1.1.0
libcap                                   2.69
libcblas                                 3.9.0
libclang13                              18.1.5
libclang-cpp18.1                        18.1.5
libcrc32c                                1.1.2            
libcups                                  2.3.3
libcurl.                                 8.7.1
libdeflate                               1.20
libdrm                                   2.4.120
libedit                                  3.1.20191231
libev                                    4.33
libevent                                 2.1.12            
libexpat                                 2.6.2            
libffi                                   3.4.2            
libflac                                  1.4.3
_libgcc_mutex                            0.1
libgcc-ng                               13.2.0
libgcrypt                                1.10.3
libgettextpo                             0.22.5
libgettextpo-devel                       0.22.5
libgfortran5                            13.2.0
libgfortran-ng                          13.2.0
libglib                                  2.80.2            
libglu                                   9.0.0
libgomp                                 13.2.0
libgoogle-cloud                          2.24.0
libgoogle-cloud-storage                  2.24.0
libgpg-error                             1.49
libgrpc                                  1.62.2            
libhwloc                                 2.10.0
libhwy                                   1.1.0
libiconv                                 1.17            
libidn2                                  2.3.7            
libjpeg-turbo                            3.0.0
libjxl                                   0.10.2            
liblapack                                3.9.0
liblapacke                               3.9.0
libllvm14                               14.0.6            
libllvm18                               18.1.5
libnghttp2                               1.58.0
libnsl                                   2.0.1
libogg                                   1.3.4
libopenblas                              0.3.27
libopencv                                4.9.0
libopenvino                           2024.1.0
libopenvino-auto-batch-plugin         2024.1.0
libopenvino-auto-plugin               2024.1.0
libopenvino-hetero-plugin             2024.1.0
libopenvino-intel-cpu-plugin          2024.1.0
libopenvino-intel-gpu-plugin          2024.1.0
libopenvino-intel-npu-plugin          2024.1.0
libopenvino-ir-frontend               2024.1.0
libopenvino-onnx-frontend             2024.1.0
libopenvino-paddle-frontend           2024.1.0
libopenvino-pytorch-frontend          2024.1.0
libopenvino-tensorflow-frontend       2024.1.0
libopenvino-tensorflow-lite-frontend  2024.1.0
libopus                                  1.3.1
libparquet                              16.1.0
libpciaccess                             0.18
libpng                                   1.6.43
libpq                                   16.3
libprotobuf                              4.25.3
libre2-11.                            2023.09.01
libsndfile                               1.2.2            
libsodium                                1.0.18
libsqlite                                3.45.3
libssh2                                  1.11.0
libstdcxx-ng                            13.2.0
libsystemd0                            255
libtasn1                                 4.19.0
libthrift                                0.19.0
libtiff                                  4.6.0
libtorch                                 2.3.0
libunistring                             0.9.10
libutf8proc                              2.8.0
libuuid                                  2.38.1
libuv                                    1.48.0
libva                                    2.21.0
libvorbis                                1.3.7            
libvpx                                   1.14.0
libwebp-base                             1.4.0
libxcb                                   1.15
libxcrypt                                4.4.36            
libxkbcommon                             1.7.0
libxml2                                  2.12.7            
libzlib                                  1.2.13
libzopfli                                1.0.3
llvmlite                                 0.42.0
lz4-c                                    1.9.4
markupsafe                               2.1.5
matplotlib-base                          3.8.4
matplotlib-inline                           0.1.7
more-itertools                           10.2.0
mpc                                       1.3.1
mpfr                                      4.2.1
mpg123                                    1.32.6            
mpmath                                    1.3.0
msgpack-python                            1.0.8
multidict                                 6.0.5
multiprocess                              0.70.15
munkres                                   1.1.4
mysql-common                              8.3.0
mysql-libs                                8.3.0
ncurses                                   6.5
nest-asyncio                              1.6.0
nettle                                    3.9.1
networkx                                  3.3
nomkl                                     1.0
nrtk                                      0.4.2            
nrtk-explorer                             0.2.0
numba                                     0.59.1
numpy                                     1.26.4
ocl-icd                                   2.3.2            
opencv                                    4.9.0
openexr                                   3.2.2            
openh264                                  2.4.1
openjpeg                                  2.5.2            
_openmp_mutex                             4.5
openssl                                   3.3.0
orc                                       2.0.1
p11-kit                                   0.24.1
packaging                                24.0
pandas                                    2.2.2            
parso                                     0.8.4
pcre2                                    10.43
pexpect                                   4.9.0
pickleshare                               0.7.5
pillow                                   10.3.0
pixman                                    0.43.2            
platformdirs                              4.2.2            
prompt-toolkit                            3.0.42            
psutil                                    5.9.8
pthread-stubs                             0.4
ptyprocess                                0.7.0
pugixml                                   1.14
pulseaudio-client                        17.0
pure_eval                                 0.2.2            
pyarrow                                  16.1.0
pyarrow-core                             16.1.0
pybsm                                     0.2.0
pycocotools                               2.0.6            
pygments                                  2.18.0
pynndescent                               0.5.12            
py-opencv                                 4.9.0
pyparsing                                 3.1.2            
pysocks                                   1.7.1
python                                    3.12.3
python_abi                                3.12            
python-dateutil                           2.9.0
python-tzdata                          2024.1
python-xxhash                             3.4.1
pytorch                                   2.3.0
pytz                                   2024.1
pywavelets                                1.4.1
pyyaml                                    6.0.1
pyzmq                                    26.0.3
qt6-main                                  6.7.1
rav1e                                     0.6.6            
re2                                    2023.09.01
readline                                  8.2            
regex                                  2024.5.15
requests                                  2.32.1
s2n                                       1.4.13
safetensors                               0.4.3
scikit-image                              0.22.0
scikit-learn                              1.4.2            
scipy                                     1.13.0
setuptools                               69.5.1
six                                       1.16.0
sleef                                     3.5.1
smqtk-classifier                          0.19.0
smqtk-core                                0.19.0
smqtk-dataprovider                        0.18.0
smqtk-descriptors                         0.19.0
smqtk-detection                           0.20.1
smqtk-image-io                            0.17.1
snappy                                    1.2.0
stack_data                                0.6.2            
svt-av1                                   2.1.0
sympy                                     1.12            
tabulate                                  0.9.0
tbb                                    2021.12.0
threadpoolctl                             3.5.0
tifffile                               2024.5.10
timm                                      1.0.3
tk                                        8.6.13
tokenizers                                0.19.1
torchvision                               0.18.0
tornado                                   6.4
tqdm                                      4.66.4
traitlets                                 5.14.3
trame                                     3.6.0
trame-client                              3.0.3
trame-quasar                              0.2.1
trame-server                              3.0.0
transformers                              4.41.0
typing-extensions                         4.11.0
typing_extensions                         4.11.0
tzdata                                2024a            
ubelt                                     1.3.5
umap-learn                                0.5.5
urllib3                                   2.2.1
wayland                                   1.22.0
wcwidth                                   0.2.13
wslink                                    2.0.3
x264                                  1!164.3095
x265                                      3.5
xcb-util                                  0.4.0
xcb-util-cursor                           0.1.4
xcb-util-image                            0.4.0
xcb-util-keysyms                          0.4.0
xcb-util-renderutil                       0.3.9
xcb-util-wm                               0.4.1
xkeyboard-config                          2.41
xorg-fixesproto                           5.0
xorg-inputproto                           2.3.2            
xorg-kbproto                              1.0.7
xorg-libice                               1.1.1
xorg-libsm                                1.2.4
xorg-libx11                               1.8.9
xorg-libxau                               1.0.11
xorg-libxdmcp                             1.1.3
xorg-libxext                              1.3.4
xorg-libxfixes                            5.0.3
xorg-libxi                                1.7.10
xorg-libxrender                           0.9.11
xorg-renderproto                          0.11.1
xorg-xextproto                            7.3.0
xorg-xproto                               7.0.31
xxhash                                    0.8.2            
xz                                        5.2.6            
yaml                                      0.2.5
yarl                                      1.9.4
zeromq                                    4.3.5
zfp                                       1.0.1
zipp                                      3.17.0
zlib                                      1.2.13
zlib-ng                                   2.0.7
zstd                                      1.5.6
jourdain commented 1 month ago

The latest code base is now working fine.

Conda Environment

ipykernel
setuptools
nrtk-explorer>0.2.1

Custom Command for app

nrtk_explorer.app.main {--}server {--}port {port} {--}host 0.0.0.0 {--}timeout 0

Result

Screenshot 2024-05-22 at 09 40 16
viniciusdc commented 1 month ago

Hi @jourdain, sorry for the late follow-up. It seems that addressing this on the conda-forge release helped address the error. I also saw that you are passing an extra --timeout parameter there. Is this related to the issue? I am curious about the root problem. It looked like an inconsistency with the pip packages and the conda environment, but I wonder if there was any other factor.

jourdain commented 1 month ago

I just added it to prevent auto-stop in case the web client is not connected. That is not part of the issue.

While it is hard to pin-point the actual issue. I think it is a blend of "No output error" (at the time) and some inconsistency with the pip packages and the conda environment.

By making a conda environment we definitely solved the second point. And we ran into other issues where some of our dependency required libOpenGL. But we managed to update our package to make those optional. But at that time, we had output logs that were letting us know why it was not working. When the issue was created, we had no feedback of why the server was not running/working.

HTH

viniciusdc commented 1 month ago

That's great; I will close this issue then, as the original problem seems to have been resolved. We can open a separate one in case the problem occurs once again.

kcpevey commented 1 month ago

@jourdain I believe I've hit that issue with opencv as well with other nrtk apps. You'll need to add libopencv *=headless* to your environment. I have an open issue to document this as an FAQ item on Nebari - https://github.com/nebari-dev/nebari-docs/issues/443

kcpevey commented 1 month ago

To summarize - we believe this was a variety of environment related issues. This wasn't apparent initially since we didn't have Loki integrated with nebari to give us easy access to the logs.