Unable to Access VST web server

I am following this tutorial on NVS
and I am able to do

Uploading Videos to NVStreamer

http://[NVStreamer-IP]:31000
but when I try to go to

Adding RTSP Stream to VST

Access VST web server here: http://[JETSON-IP]:30080/vst/.

I get ERR_CONNECTION_REFUSED

Can you show all the running container?

I am following this:

There is only one container after running:

sudo docker compose -f compose_nvstreamer.yaml up -d --force-recreate

after running that instructions say:

Uploading Videos to NVStreamer

Now that you are able to setup NVStreamer you may try uploading videos in NVStreamer. Open a web browser (we suggest Chrome) and navigate to this address (on the same system or another one on the same network):

http://[NVStreamer-IP]:31000

Next it says
Adding RTSP Stream to VST

Access VST web server here: http://[JETSON-IP]:30080/vst/. (Note: HTTP, not HTTPS) where [JETSON-IP] is the IP address of the Jetson device on which you are running the docker container.

When I run:
sudo docker compose -f compose_nvstreamer.yaml up -d --force-recreate

I only get one container running

$ docker ps -a
CONTAINER ID   IMAGE                                          COMMAND                  CREATED         STATUS                      PORTS     NAMES
c57a7b25edab   nvcr.io/nvidia/jps/vst:1.3.0-24.08.1-aarch64   "sh -c '/opt/vst_rel…"   4 minutes ago   Up 4 minutes                          nvstreamer

is http://[JETSON-IP]:30080/vst/ in a different container?
what do I run to get that working?

after running
sudo systemctl start jetson-vst

I get:

CONTAINER ID   IMAGE                                                  COMMAND                  CREATED          STATUS                          PORTS     NAMES
3c43c0b34ee1   nvcr.io/nvidia/jps/vst:1.3.0-24.07.1-aarch64           "sh -c '/opt/vst_rel…"   2 minutes ago    Restarting (0) 16 seconds ago             vst
c84ddfeafc4b   nvcr.io/nvidia/jps/jps-init-container:v1.0.2_arm64v8   "/usr/bin/shelless_u…"   2 minutes ago    Exited (0) 58 seconds ago                 vst-jps-init-vst-1

logs from journalctl -fe -u jetson-vst

Jul 24 22:07:34 ubuntu docker[14464]:  6706ba856103 Extracting [==================================================>]  107.7kB/107.7kB
Jul 24 22:07:34 ubuntu docker[14464]:  6706ba856103 Pull complete
Jul 24 22:07:34 ubuntu docker[14464]:  vst Pulled
Jul 24 22:07:34 ubuntu docker[14464]:  Container vst-jps-init-vst-1  Creating
Jul 24 22:07:35 ubuntu docker[14464]:  Container vst-jps-init-vst-1  Created
Jul 24 22:07:35 ubuntu docker[14464]:  Container vst  Creating
Jul 24 22:07:35 ubuntu docker[14464]:  Container vst  Created
Jul 24 22:07:35 ubuntu docker[14464]:  Container vst-jps-init-vst-1  Starting
Jul 24 22:07:35 ubuntu docker[14464]:  Container vst-jps-init-vst-1  Started
Jul 24 22:07:35 ubuntu docker[14464]:  Container vst-jps-init-vst-1  Waiting
Jul 24 22:07:36 ubuntu docker[14464]:  Container vst-jps-init-vst-1  Exited
Jul 24 22:07:36 ubuntu docker[14464]:  Container vst  Starting
Jul 24 22:07:36 ubuntu docker[14464]:  Container vst  Started
Jul 24 22:07:36 ubuntu systemd[1]: Finished VST Platform Service.
Jul 24 22:10:35 ubuntu systemd[1]: Stopping VST Platform Service...
Jul 24 22:10:35 ubuntu docker[16768]: time="2025-07-24T22:10:35-04:00" level=warning msg="/opt/nvidia/jetson/services/vst/compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion"
Jul 24 22:10:35 ubuntu docker[16768]: time="2025-07-24T22:10:35-04:00" level=warning msg="Warning: No resource found to remove for project \"vst\"."
Jul 24 22:10:35 ubuntu systemd[1]: jetson-vst.service: Deactivated successfully.
Jul 24 22:10:35 ubuntu systemd[1]: Stopped VST Platform Service.
Jul 24 22:10:37 ubuntu systemd[1]: Starting VST Platform Service...
Jul 24 22:10:38 ubuntu docker[16838]: time="2025-07-24T22:10:38-04:00" level=warning msg="/opt/nvidia/jetson/services/vst/compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion"
Jul 24 22:10:38 ubuntu docker[16838]:  Container vst-jps-init-vst-1  Creating
Jul 24 22:10:38 ubuntu docker[16838]:  Container vst-jps-init-vst-1  Created
Jul 24 22:10:38 ubuntu docker[16838]:  Container vst  Creating
Jul 24 22:10:38 ubuntu docker[16838]:  Container vst  Created
Jul 24 22:10:38 ubuntu docker[16838]:  Container vst-jps-init-vst-1  Starting
Jul 24 22:10:38 ubuntu docker[16838]:  Container vst-jps-init-vst-1  Started
Jul 24 22:10:38 ubuntu docker[16838]:  Container vst-jps-init-vst-1  Waiting
Jul 24 22:10:39 ubuntu docker[16838]:  Container vst-jps-init-vst-1  Exited
Jul 24 22:10:39 ubuntu docker[16838]:  Container vst  Starting
Jul 24 22:10:39 ubuntu docker[16838]:  Container vst  Started
Jul 24 22:10:39 ubuntu systemd[1]: Finished VST Platform Service.

log from vst container:

[2025-7-25T2:16:31.778Z:281473082118176:Main.cpp:62: dumpstack] [2025-7-25T2:16:31.778Z:281473082118176:Main.cpp:138: sig_handler]    Entered Signal Handler, sig:6
terminate called recursively
[2025-7-25T2:16:31.778Z:281473082118176:Main.cpp:62: dumpstack] [2025-7-25T2:16:31.778Z:281473082118176:Main.cpp:138: sig_handler]    Entered Signal Handler, sig:6
terminate called recursively
[2025-7-25T2:16:31.778Z:281473082118176:Main.cpp:62: dumpstack] [2025-7-25T2:16:31.778Z:281473082118176:Main.cpp:138: sig_handler]    Entered Signal Handler, sig:6
terminate called recursively
[2025-7-25T2:16:31.778Z:281473082118176:Main.cpp:62: dumpstack] [2025-7-25T2:16:31.778Z:281473082118176:Main.cpp:138: sig_handler]    Entered Signal Handler, sig:6
terminate called recursively
[2025-7-25T2:16:31.778Z:281473082118176:Main.cpp:62: dumpstack] [2025-7-25T2:16:31.778Z:281473082118176:Main.cpp:138: sig_handler]    Entered Signal Handler, sig:6
terminate called recursively
Segmentation fault (core dumped)

log from vst-jps-init-vst-1:


[02:10:38] {app.py:44} {MainProcess:1} - INFO - starting socket connect
[02:10:38] {app.py:58} {MainProcess:1} - INFO - port 6379 is reachable and service is up and running...
[02:11:20] {app.py:44} {MainProcess:1} - INFO - starting socket connect
[02:11:20] {app.py:58} {MainProcess:1} - INFO - port 6379 is reachable and service is up and running...
[02:11:46] {app.py:44} {MainProcess:1} - INFO - starting socket connect
[02:11:46] {app.py:58} {MainProcess:1} - INFO - port 6379 is reachable and service is up and running...
[02:16:07] {app.py:44} {MainProcess:1} - INFO - starting socket connect
[02:16:07] {app.py:58} {MainProcess:1} - INFO - port 6379 is reachable and service is up and running...
[02:16:39] {app.py:44} {MainProcess:1} - INFO - starting socket connect
[02:16:39] {app.py:58} {MainProcess:1} - INFO - port 6379 is reachable and service is up and running...

Which platform are you working on? Which Jetpack version are you using? Here is the quick start guide for setup: Quick Start Guide — Jetson Platform Services documentation. Which JPS workflow are you needed? You can refer the workflow setup guide.

Yes @kesong I have been following Quick Start Guide — Jetson Platform Services documentation
Jetpack:

$ cat /etc/nv_tegra_release

# R36 (release), REVISION: 4.3, GCID: 38968081, BOARD: generic, EABI: aarch64, DATE: Wed Jan  8 01:49:37 UTC 2025

Jetson ORIN AGX

instructions say after running :
Orin AGX: sudo docker compose -f compose_agx.yaml up -d --force-recreate


some seem to be stuck on ā€˜waiting’ ?

I need to Add NVStreamer RTSP stream to VST…
but I cannot access http://[JETSON-IP]:30080/vst/
I get 502 Bad Gateway


nginx

Are you download AI NVR package from here: Jetson Platform Services Reference Workflow & Resources | NVIDIA NGC? Seems you use very old docker container with ā€œmojā€. The latest should be ā€œjpsā€ in docker container name.

I used this command to donwload it:
ngc registry resource download-version "nvidia/jps/reference-workflow-and-resources:2.0.1"
I get this directory:
reference-workflow-and-resources_v2.0.1
inside I run
tar -xvf ai_nvr-2.0.1.tar.gz
I get this:

reference-workflow-and-resources_v2.0.1/ai_nvr$ ls
base_compose.yaml  compose_agx_yolov8s.yaml  compose_nx16.yaml          compose_nx8.yaml
compose_agx.yaml   compose_nano.yaml         compose_nx16_yolov8s.yaml  config

is 2.0.1 the right version? I see that is the latest.

Yes, 2.0.1 is the latest version. Can you run the: docker ps in another terminal and check the log of those container to check if there is any error?

sure

$ docker ps -a
CONTAINER ID   IMAGE                                                       COMMAND                  CREATED        STATUS                          PORTS     NAMES
a9922f76452d   nvcr.io/nvidia/jps/sdr:2.2-8-14-v1                          "sh -c '/wdm/dist/sd…"   2 days ago     Created                                   sdr-emdx
7991bc1d8aa3   nvcr.io/nvidia/jps/sdr:2.2-8-14-v1                          "sh -c '/wdm/dist/sd…"   2 days ago     Created                                   sdr
79e557c5f9a9   nvcr.io/nvidia/jps/emdx-analytics:jps_v1.2.9                "python3 gunicorn --…"   2 days ago     Up 2 days                                 emdx-analytics-02
5830b2e09e1b   nvcr.io/nvidia/jps/emdx-analytics:jps_v1.2.9                "python3 gunicorn --…"   2 days ago     Up 2 days                                 emdx-analytics-01
7a137188329e   nvcr.io/nvidia/jps/deepstream:7.1-public-v1                 "sh -c '/opt/nvidia/…"   2 days ago     Up 2 days                                 deepstream
39823a2dab8b   nvcr.io/nvidia/jps/sdr-proxy-controller:2.2-8-14-v1         "/bin/sh -c ./entryp…"   2 days ago     Created                                   sdr-proxy-controller
d29bf58f0d5c   nvcr.io/nvidia/jps/sdr-alertmanager-controller:2.3.1        "/bin/sh -c ./entryp…"   2 days ago     Created                                   sdr-alertmanager-controller
432c78a62048   nvcr.io/nvidia/jps/sdr-reprovision-controller:2.2-8-14-v1   "/bin/sh -c ./entryp…"   2 days ago     Created                                   sdr-reprovision-controller
268246e06f97   nvcr.io/nvidia/jps/jps-init-container:v1.0.2_arm64v8        "/usr/bin/shelless_u…"   2 days ago     Restarting (1) 27 seconds ago             ai_nvr-moj-http-based-init-sdr-emdx-1
aeed6ff593b8   nvcr.io/nvidia/jps/jps-init-container:v1.0.2_arm64v8        "/usr/bin/shelless_u…"   2 days ago     Restarting (1) 33 seconds ago             ai_nvr-moj-http-based-init-sdr-1
5cfc5edb1306   nvcr.io/nvidia/jps/jps-init-container:v1.0.2_arm64v8        "/usr/bin/shelless_u…"   2 days ago     Up 2 days                                 ai_nvr-moj-http-based-init-sdr-reprovision-controller-1
380732da021b   nvcr.io/nvidia/jps/jps-init-container:v1.0.2_arm64v8        "/usr/bin/shelless_u…"   2 days ago     Exited (0) 2 days ago                     ai_nvr-moj-http-based-init-emdx-analytics-1
e55083c5d45e   nvcr.io/nvidia/jps/emdx-analytics-web-api:jps_v1.2.9        "python3 gunicorn --…"   2 days ago     Up 2 days                                 emdx-webapi
012eadb50e0e   nvcr.io/nvidia/jps/jps-init-container:v1.0.2_arm64v8        "/usr/bin/shelless_u…"   2 days ago     Exited (0) 2 days ago                     ai_nvr-moj-init-ds-1
3c43c0b34ee1   nvcr.io/nvidia/jps/vst:1.3.0-24.07.1-aarch64                "sh -c '/opt/vst_rel…"   3 days ago     Restarting (0) 3 seconds ago              vst
c84ddfeafc4b   nvcr.io/nvidia/jps/jps-init-container:v1.0.2_arm64v8        "/usr/bin/shelless_u…"   3 days ago     Exited (0) 3 days ago                     vst-jps-init-vst-1
20d0b35f8878   nvcr.io/nvidia/jps/ialpha-ingress-arm64v8:0.12              "sh -c '/nginx.sh 2>…"   3 days ago     Up 3 days                                 ingress
d260c4e99395   redisfab/redistimeseries:master-arm64v8-jammy               "docker-entrypoint.s…"   3 days ago     Up 3 days                                 redis
c57a7b25edab   nvcr.io/nvidia/jps/vst:1.3.0-24.08.1-aarch64                "sh -c '/opt/vst_rel…"   3 days ago     Up 3 days                                 nvstreamer

Logs:

268246e06f97 nvcr.io/nvidia/jps/jps-init-container:v1.0.2_arm64v8 ā€œ/usr/bin/shelless_uā€¦ā€ 2 days ago Restarting (1) 10 seconds ago ai_nvr-moj-http-based-init-sdr-emdx-1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/jps-init-container/app.py", line 96, in <module>
    curl("http://127.0.0.1", endpoints)
  File "/opt/jps-init-container/app.py", line 76, in curl
    response = urllib.request.urlopen(location + ":" + endpoint)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/urllib/request.py", line 215, in urlopen
    return opener.open(url, data, timeout)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/urllib/request.py", line 515, in open
    response = self._open(req, data)
               ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/urllib/request.py", line 532, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/urllib/request.py", line 492, in _call_chain
    result = func(*args)
             ^^^^^^^^^^^
  File "/usr/local/lib/python3.12/urllib/request.py", line 1373, in http_open
    return self.do_open(http.client.HTTPConnection, req)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/urllib/request.py", line 1347, in do_open
    raise URLError(err)
urllib.error.URLError: <urlopen error [Errno 111] Connection refused>
[15:34:19] {app.py:44} {MainProcess:1} - INFO - starting socket connect
[15:34:19] {app.py:58} {MainProcess:1} - INFO - port 6379 is reachable and service is up and running...
[15:34:19] {app.py:69} {MainProcess:1} - INFO - starting endpoint check
[15:34:19] {app.py:75} {MainProcess:1} - INFO - checking endpoint 5000/api/core/healthz
[15:34:19] {app.py:85} {MainProcess:1} - INFO - endpoint 5000/api/core/healthz is reachable and service is up and running...
[15:34:19] {app.py:75} {MainProcess:1} - INFO - checking endpoint 30000/api/v1/live/streams
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/urllib/request.py", line 1344, in do_open
    h.request(req.get_method(), req.selector, req.data, headers,
  File "/usr/local/lib/python3.12/http/client.py", line 1336, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/local/lib/python3.12/http/client.py", line 1382, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/local/lib/python3.12/http/client.py", line 1331, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/local/lib/python3.12/http/client.py", line 1091, in _send_output
    self.send(msg)
  File "/usr/local/lib/python3.12/http/client.py", line 1035, in send
    self.connect()
  File "/usr/local/lib/python3.12/http/client.py", line 1001, in connect
    self.sock = self._create_connection(
                ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/socket.py", line 865, in create_connection
    raise exceptions[0]
  File "/usr/local/lib/python3.12/socket.py", line 850, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused

logs:

aeed6ff593b8 nvcr.io/nvidia/jps/jps-init-container:v1.0.2_arm64v8 ā€œ/usr/bin/shelless_uā€¦ā€ 2 days ago Restarting (1) 16 seconds ago ai_nvr-moj-http-based-init-sdr-1

[04:20:18] {app.py:44} {MainProcess:1} - INFO - starting socket connect
[04:20:18] {app.py:58} {MainProcess:1} - INFO - port 6379 is reachable and service is up and running...
[04:20:18] {app.py:69} {MainProcess:1} - INFO - starting endpoint check
[04:20:18] {app.py:75} {MainProcess:1} - INFO - checking endpoint 9010/api/v1/stream/add
[04:20:18] {app.py:85} {MainProcess:1} - INFO - endpoint 9010/api/v1/stream/add is reachable and service is up and running...
[04:20:18] {app.py:75} {MainProcess:1} - INFO - checking endpoint 9010/api/v1/stream/add
[04:20:18] {app.py:85} {MainProcess:1} - INFO - endpoint 9010/api/v1/stream/add is reachable and service is up and running...
[04:20:18] {app.py:75} {MainProcess:1} - INFO - checking endpoint 30000/api/v1/live/streams
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/urllib/request.py", line 1344, in do_open
    h.request(req.get_method(), req.selector, req.data, headers,
  File "/usr/local/lib/python3.12/http/client.py", line 1336, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/local/lib/python3.12/http/client.py", line 1382, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/local/lib/python3.12/http/client.py", line 1331, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/local/lib/python3.12/http/client.py", line 1091, in _send_output
    self.send(msg)
  File "/usr/local/lib/python3.12/http/client.py", line 1035, in send
    self.connect()
  File "/usr/local/lib/python3.12/http/client.py", line 1001, in connect
    self.sock = self._create_connection(
                ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/socket.py", line 865, in create_connection
    raise exceptions[0]
  File "/usr/local/lib/python3.12/socket.py", line 850, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/jps-init-container/app.py", line 96, in <module>
    curl("http://127.0.0.1", endpoints)
  File "/opt/jps-init-container/app.py", line 76, in curl
    response = urllib.request.urlopen(location + ":" + endpoint)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/urllib/request.py", line 215, in urlopen
    return opener.open(url, data, timeout)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/urllib/request.py", line 515, in open
    response = self._open(req, data)
               ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/urllib/request.py", line 532, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/urllib/request.py", line 492, in _call_chain
    result = func(*args)
             ^^^^^^^^^^^
  File "/usr/local/lib/python3.12/urllib/request.py", line 1373, in http_open
    return self.do_open(http.client.HTTPConnection, req)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/urllib/request.py", line 1347, in do_open
    raise URLError(^C
  File "/usr/local/lib/python3.12/http/client.py", line 1331, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/local/lib/python3.12/http/client.py", line 1091, in _send_output
    self.send(msg)
  File "/usr/local/lib/python3.12/http/client.py", line 1035, in send
    self.connect()
  File "/usr/local/lib/python3.12/http/client.py", line 1001, in connect
    self.sock = self._create_connection(
                ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/socket.py", line 865, in create_connection
    raise exceptions[0]
  File "/usr/local/lib/python3.12/socket.py", line 850, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused

logs for:

3c43c0b34ee1 nvcr.io/nvidia/jps/vst:1.3.0-24.07.1-aarch64 ā€œsh -c '/opt/vst_relā€¦ā€ 3 days ago Restarting (0) 47 seconds ago vst

[2025-7-25T2:31:42.391Z:281473727705120:Main.cpp:62: dumpstack] [2025-7-25T2:31:42.391Z:281473727705120:Main.cpp:138: sig_handler]      Entered Signal Handler, sig:6
terminate called recursively
[2025-7-25T2:31:42.391Z:281473727705120:Main.cpp:62: dumpstack] [2025-7-25T2:31:42.391Z:281473727705120:Main.cpp:138: sig_handler]      Entered Signal Handler, sig:6
terminate called recursively
[2025-7-25T2:31:42.391Z:281473727705120:Main.cpp:62: dumpstack] [2025-7-25T2:31:42.391Z:281473727705120:Main.cpp:138: sig_handler]      Entered Signal Handler, sig:6
terminate called recursively
[2025-7-25T2:31:42.391Z:281473727705120:Main.cpp:62: dumpstack] [2025-7-25T2:31:42.391Z:281473727705120:Main.cpp:138: sig_handler]      Entered Signal Handler, sig:6
terminate called recursively
[2025-7-25T2:31:42.391Z:281473727705120:Main.cpp:62: dumpstack] [2025-7-25T2:31:42.391Z:281473727705120:Main.cpp:138: sig_handler]      Entered Signal Handler, sig:6
terminate called recursively
[2025-7-25T2:31:42.391Z:281473727705120:Main.cpp:62: dumpstack] [2025-7-25T2:31:42.391Z:281473727705120:Main.cpp:138: sig_handler]      Entered Signal Handler, sig:6
terminate called recursively
[2025-7-25T2:31:42.391Z:281473727705120:Main.cpp:62: dumpstack] [2025-7-25T2:31:42.391Z:281473727705120:Main.cpp:138: sig_handler]      Entered Signal Handler, sig:6
terminate called recursively
[2025-7-25T2:31:42.391Z:281473727705120:Main.cpp:62: dumpstack] [2025-7-25T2:31:42.391Z:281473727705120:Main.cpp:138: sig_handler]      Entered Signal Handler, sig:6
terminate called recursively
[2025-7-25T2:31:42.391Z:281473727705120:Main.cpp:62: dumpstack] [2025-7-25T2:31:42.391Z:281473727705120:Main.cpp:138: sig_handler]      Entered Signal Handler, sig:6
terminate called recursively
[2025-7-25T2:31:42.391Z:281473727705120:Main.cpp:62: dumpstack] [2025-7-25T2:31:42.391Z:281473727705120:Main.cpp:138: sig_handler]      Entered Signal Handler, sig:6
terminate called recursively
[2025-7-25T2:31:42.391Z:281473727705120:Main.cpp:62: dumpstack] [2025-7-25T2:31:42.391Z:281473727705120:Main.cpp:138: sig_handler]      Entered Signal Handler, sig:6
terminate called recursively

Seems VST crashed. Can you share the full log of VST container?

1 Like

@kesong Logs vst

3c43c0b34ee1   nvcr.io/nvidia/jps/vst:1.3.0-24.07.1-aarch64                "sh -c '/opt/vst_rel…"   4 days ago     Restarting (0) 25 seconds ago             vst

okay I think I found the issue,
I changed the path of data_path and video_path to a 1tb ssd to save the videos here and not fill the jetson memory.

logs indicate Failed to create directory dir_path
I also created the directories but still get the error

[2025-7-25T2:10:39.813Z:281473488433184:fs_utils.cpp:265: createDir]    Creating dir_path: /media/user/ssd-orin/JPS/data/vst-volume/video/
Failed to create directory:/media/user/ssd-orin/JPS/data/vst-volume/video/, Exception error:boost::filesystem::create_directories: Permission denied: "/media/user/ssd-orin/JPS/data/vst-volume"
[2025-7-25T2:10:39.814Z:281473488433184:fs_utils.cpp:285: createDir]    Failed to create directory dir_path: /media/user/ssd-orin/JPS/data/vst-volume/video/
[2025-7-25T2:10:39.814Z:281473488433184:fs_utils.cpp:265: createDir]    Creating dir_path: /media/user/ssd-orin/JPS/data/vst-volume/data/
Failed to create directory:/media/user/ssd-orin/JPS/data/vst-volume/data/, Exception error:boost::filesystem::create_directories: Permission denied: "/media/user/ssd-orin/JPS/data/vst-volume"
[2025-7-25T2:10:39.814Z:281473488433184:fs_utils.cpp:285: createDir]    Failed to create directory dir_path: /media/user/ssd-orin/JPS/data/vst-volume/data/
--#-- Terminating the service, Please check directory permissions --#--

my user has all permissions

$ ls -ld /media/user/ssd-orin/JPS/data/vst-volume
drwxrwxr-x 5 user user 4096 Jul 29 10:37 /media/user/ssd-orin/JPS/data/vst-volume

but I believe I need to mount the volume in the docker, how do I do that?

do I need to do that for all images or just vst and vst-jps-init-vst-1?

Can you have a try to change those folds to: chmod -R 777 .?

I gave -R 777 still the containers wont start

$ ls -ld /media/user/ssd-orin/JPS/data/vst-volume
drwxrwxrwx 5 user user 4096 Jul 29 10:37 /media/user/ssd-orin/JPS/data/vst-volume
$ ls -ld /media/user/ssd-orin/JPS/data/vst-volume/video
drwxrwxrwx 2 user user 4096 Jul 29 10:37 /media/user/ssd-orin/JPS/data/vst-volume/video
$ ls -ld /media/user/ssd-orin/JPS/data/vst-volume/data
drwxrwxrwx 2 user user 4096 Jul 29 10:36 /media/user/ssd-orin/JPS/data/vst-volume/data

I am doing to stop it:
sudo systemctl stop jetson-vst

and to start it:
sudo systemctl start jetson-vst

however if I run this image:

nvcr.io/nvidia/jps/vst 1.3.0-24.07.1-aarch64 202d08bfad86 12 months ago 3.63GB

using:

docker run 202d08bfad86

I get this:

docker run 202d08bfad86
[2025-7-30T1:47:13.177Z:281473264168992:fs_utils.cpp:265: createDir]    Creating dir_path: ./vst_video/
[2025-7-30T1:47:13.177Z:281473264168992:fs_utils.cpp:265: createDir]    Creating dir_path: ./vst_data/
[2025-7-30T1:47:13.177Z:281473264168992:fs_utils.cpp:265: createDir]    Creating dir_path: /home/vst/vst_release/streamer_videos/
        Host HTTP port: 30000
        Recorded Video Root: /opt/vst_release/vst_video
        stunurl list: stun.l.google.com:19302, stun1.l.google.com:19302
        static_turnurl_list: 
        use_coturn_auth_secret: 0
        use_twilio_stun_turn: 0
        use reverse proxy RP: 0
        reverse proxy server address: REVERSE_PROXY_SERVER_ADDRESS:100
        NTP servers: 
        Use sensor ntp time: 0
        Sensor Discovery Timeout(secs): 10
        Sensor Discovery Freq(secs): 15
        Onvif request Timeout(secs): 10
        Sensor Discovery Network Interfaces: 
        Enable perf logging: 1
        Max Webrtc output connections: 8
        Max Webrtc input connections: 8
        Storage Config file: ./configs/vst_storage.json
        Total video storage size: 10000
        VST database path: /opt/vst_release/vst_data
        storage threshold percentage: 95
        storage monitoring frequency secs: 2
        enable aging policy: 0
        Max Video Download Size in MB: 1000
        Always Recording: 0
        Event Recording: 0
        Event Recording Length Secs: 10
        Recording Buffer Length Secs: 2
        Use Software Path: 0
        Use Webrtc out inbuilt encoder: 
        Enable rtsp server sei support: 0
        Enable Proxy server sei support: 0
        Webrtc IN Resolution: 1280x720
        Webrtc IN max frameRate: 30
        Webrtc IN video bitrate thresold: 50
        Webrtc IN Pass-through mode: 0
        Webrtc Sender Quality: pass_through
        Is camera auto discovery enabled ?: 1
        Webservice allowed/denied Subnet/IP list?: 
        RTSP preferred network interface: 
        RTSP server port: -1
        RTSP server instances: 1
        Incoming rtsp initial port: -1
        Outgoing rtsp initial port: -1
        rtsp streaming over tcp: 0
        RTSP server reclamation client timeout sec: 10
        Server domain name: 
        Enable Notfication: 0
        Message Broker used: kafka
        Notification event: vst_events
        Message Broker payload key: sensor.id
        Message Broker metadata topic: test
        Redis server env var: REDIS_SVC_SERVICE_HOST:6379
        Kafka Server address: 10.0.0.1:9092
        Max Sensors Supported: 16
        Enable Stream Monitoring: 1
        Max stream_monitor_interval (secs): 5
        rtp_udp_port_range: 31000-31200
        Max udp_latency_ms: 200
        udp_drop_on_latency: 0
        webRTC Latency ms: 1000
        Frame Drop Enabled: 1
        Video Metadata Server URL: 
        Video Metadata Max results fetched: 300
        Video Use old specs for metadata parsing: 0
        Enable QoS Monitoring: 1
        QoS logfile path: 
        QoS data capture interval sec: 1
        QoS data publish interval sec: 5
        Enable GST debug Probes: 1
        Recieve Socket Buffer Size: 1000000
        Send Socket Buffer Size: 1000000
        Enable Prometheus: 0
        Prometheus Port: 8080
        NV Streamer directory path: /home/vst/vst_release/streamer_videos/
        NV Streamer loop playback: 1
        NV Streamer max upload file size: 10000
        NV Streamer seekable: 0
        NV Streamer Sync Playback: 0
        NV Streamer RTSP server buffer size kb: 1000
        NV Streamer supported containers: mp4, mkv
        Video codecs supported: h264, h265
        Audio codecs supported: pcmu, pcma, mpeg4-generic
        Bitrate Kbps: 8000
        Framerate: 30
        Resolution: 1920x1080
        GOV Length: 60
        Profile: Main
        Quality: 3
        Encoding Interval: 1
        Enable Highlighting logs: 1
        Enable debug options: 1
        Enable dump webrtc input stats: 0
        Enable network bandwidth notification: 0
        Enable frameId in webrtc stream: 0
        Use HTTP digest authentication: 0
        Use multi user: 0
        Enable user cleanup: 0
        Session max age sec: 2592000
        Multi user extra flags: Secure, SameSite=none
        Use HTTPS authentication: 0
        Nv org ID: 
        Nv NGC kry: 
        Use RTSP authentication: 0
        webrtc_video_quality_tunning: {
        "resolution_1080" : 
        {
                "bitrate_range" : 
                [
                        3000,
                        8000
                ],
                "bitrate_start" : 5000,
                "qp_range_I" : 
                [
                        10,
                        30
                ],
                "qp_range_P" : 
                [
                        10,
                        30
                ]
        },
        "resolution_1440" : 
        {
                "bitrate_range" : 
                [
                        8000,
                        15000
                ],
                "bitrate_start" : 10000,
                "qp_range_I" : 
                [
                        10,
                        30
                ],
                "qp_range_P" : 
                [
                        10,
                        30
                ]
        },
        "resolution_2160" : 
        {
                "bitrate_range" : 
                [
                        15000,
                        25000
                ],
                "bitrate_start" : 20000,
                "qp_range_I" : 
                [
                        0,
                        30
                ],
                "qp_range_P" : 
                [
                        0,
                        51
                ]
        },
        "resolution_480" : 
        {
                "bitrate_range" : 
                [
                        800,
                        3000
                ],
                "bitrate_start" : 1000,
                "qp_range_I" : 
                [
                        10,
                        30
                ],
                "qp_range_P" : 
                [
                        10,
                        30
                ]
        },
        "resolution_720" : 
        {
                "bitrate_range" : 
                [
                        2000,
                        5000
                ],
                "bitrate_start" : 3000,
                "qp_range_I" : 
                [
                        10,
                        30
                ],
                "qp_range_P" : 
                [
                        10,
                        30
                ]
        }
}

        webrtc_pee_conn_timeout_sec: 10
        enable_grpc: 0
        grpc_server_port: 50051
        webrtc_in_audio_sender_max_bitrate: 128000
        webrtc_in_video_degradation_preference: resolution
        enable_websocket_pingpong: 0
        websocket_keep_alive_ms: 5000
        webrtc_in_video_sender_max_framerate: 30
        gpu_indices: 
        Remote VST address: 
        Enable latency logging: 1
        WebRTC Out Encode Fallback Mechanism (software/pass_through): software
        Enable IPC Path: 0
        IPC Socket Path: /tmp/
        Use Webrtc HW decoder: 1
        Enable frame drop in Stream Recorder: 1
        Max frame queue size in Stream Recorder: 16000000
        analytic_server_address: http://:30080/emdx
        Enable loopback multicast: 0

[2025-7-30T1:47:13.178Z:281473264168992:utils.cpp:1147: setRecvMaxSocketBufferSize]     Setting OS's socket receive max buffer size to = 1000000
sysctl: cannot stat /proc/sys/net/core/rmem_max: No such file or directory
[2025-7-30T1:47:13.182Z:281473264168992:utils.cpp:1158: setSendMaxSocketBufferSize]     Setting OS's socket send max buffer size to = 1000000
sysctl: cannot stat /proc/sys/net/core/wmem_max: No such file or directory
(Argus) Error FileOperationFailed: Connecting to nvargus-daemon failed: No such file or directory (in src/rpc/socket/client/SocketClientDispatch.cpp, function openSocketConnection(), line 205)
(Argus) Error FileOperationFailed: Cannot create camera provider (in src/rpc/socket/client/SocketClientDispatch.cpp, function createCameraProvider(), line 107)
[2025-7-30T1:47:13.879Z:281473264168992:Main.cpp:184: main]     g_main_loop is running now
[2025-7-30T1:47:13.931Z:281473264168992:redis_subscriber.cpp:180: redisInit]    Redis Subscriber Connect failed. Exiting
[2025-7-30T1:47:13.931Z:281473264168992:utils.cpp:2213: detectGPU]      ############## GPU ID DETECTED = 0 ##############
[2025-7-30T1:47:13.931Z:281473264168992:utils.cpp:2214: detectGPU]      ############## GPU Device =  ##############
[2025-7-30T1:47:13.931Z:281473264168992:server.cpp:83: initialize]      Host Ip = 172.17.0.2
[2025-7-30T1:47:13.931Z:281473264168992:adaptor_loader.cpp:145: loadAdaptor]    device_manager->name:onvif
[2025-7-30T1:47:13.931Z:281473264168992:adaptor_loader.cpp:161: loadAdaptor]    Loading control adaptor: prebuilts/arch/onvif_client.so
[2025-7-30T1:47:13.932Z:281473264168992:adaptor_loader.cpp:175: loadAdaptor]    Loading Discovery adaptor: prebuilts/arch/onvif_discovery.so
        Adaptor name: onvif
        Adaptor id: 044bc643-33c5-479a-b988-10d0bbc4e05c
        Adaptor ip: 
        Adaptor user: 
        Adaptor password: 
        Adaptor port: 
        Adaptor type: vst
        Adaptor url: http://
        Adaptor enabled: 1
        Need RTSP Server?: 1
        Need Stream Monitoring?: 1
        Need Recording?: 1
        Adaptor isOnline: 0

[2025-7-30T1:47:14.22Z:281473264168992:sqlite_helper.cpp:2695: setDbVersion]    SQL query: INSERT OR IGNORE INTO DB_DETAILS(DB_VERSION,CREATED_DATE_TIME,MODIFIED_DATE_TIME)VALUES ("0","2025-07-30T01:47:14Z","2025-07-30T01:47:14Z");
[2025-7-30T1:47:14.52Z:281473264168992:vstmodule.cpp:49: ModuleLoader]  Created ModuleLoader instance
[2025-7-30T1:47:14.52Z:281473264168992:rtspservermanager.cpp:267: RtspServerManager]    Creating RtspServerManager instance
[2025-7-30T1:47:14.52Z:281473264168992:rtspserver.cpp:72: RtspServer]   Creating RtspServer instance on port:8554
[2025-7-30T1:47:14.52Z:281473264168992:rtspserver.cpp:109: RtspServer]  rtsp server created on port:8554
RTSP-server: Preferred network is not set, Selecting first valid interface
[2025-7-30T1:47:14.52Z:281472661187552:rtspserver.cpp:214: start]       LIVE555 Media Server stating....
[2025-7-30T1:47:14.53Z:281472661187552:rtspserver.cpp:241: start]       Play streams from this server using the URL
        rtsp://172.17.0.2:8554/
[2025-7-30T1:47:14.53Z:281472661187552:rtspserver.cpp:249: start]       (We use port 80 for optional RTSP-over-HTTP tunneling, or for HTTP live streaming (for indexed Transport Stream files only).)
[2025-7-30T1:47:14.53Z:281473264168992:rtspserver.cpp:128: RtspServer]  RTSP server is started
[2025-7-30T1:47:14.53Z:281473264168992:RtspLoadBalancer.h:89: start]    Created 1 instances of rtsp-server starting from port:26704
[2025-7-30T1:47:14.53Z:281473264168992:vstmodule.cpp:178: loadRtspServerLib]    Loaded rtspServer module: 1
[2025-7-30T1:47:14.53Z:281473264168992:streamrecorder.cpp:74: StreamRecorder]   Creating StreamRecorder m_deviceId:b9f2205f-7983-40e7-93f4-3c025f2a4b42
[2025-7-30T1:47:14.54Z:281473264168992:vstmodule.cpp:226: loadStreamRecorderLib]        Loaded stream recorder module: 1
[2025-7-30T1:47:14.55Z:281473264168992:storage_management.cpp:545: initialiseUsedStorageSize]   Initial record size: 0
[2025-7-30T1:47:14.55Z:281473264168992:storage_management.cpp:85: StorageManagement]    Sensortype: vst
[2025-7-30T1:47:14.55Z:281473264168992:storage_management.cpp:86: StorageManagement]    DeviceId: b9f2205f-7983-40e7-93f4-3c025f2a4b42
[2025-7-30T1:47:14.55Z:281473264168992:vstmodule.cpp:274: loadStorageManagementLib]     Loaded storage management module: 1
[2025-7-30T1:47:14.55Z:281471989050336:prometheus_client.cpp:29: PrometheusClient]      PrometheusClient Creation
[2025-7-30T1:47:14.55Z:281473264168992:sensor_management.cpp:175: SensorManagement]     Creating SensorManagement object
[2025-7-30T1:47:14.55Z:281473264168992:sensor_management.cpp:164: setConfigValues]      enable_camera_auto_discovery: 1
[2025-7-30T1:47:14.55Z:281473264168992:sensor_management.cpp:165: setConfigValues]      enable_stream_monitoring: 1
[2025-7-30T1:47:14.55Z:281473264168992:sensor_management.cpp:182: SensorManagement]     Stream Monitoring feature is enabled
[2025-7-30T1:47:14.55Z:281473264168992:stream_monitor.cpp:55: StreamMonitor]    StreamMonitor::StreamMonitor
[2025-7-30T1:47:14.55Z:281473264168992:stream_monitor.cpp:59: StreamMonitor]    QoS monitoring is enabled
[2025-7-30T1:47:14.55Z:281473264168992:stream_monitor.cpp:65: start]    StreamMonitor::start
[2025-7-30T1:47:14.56Z:281471972142048:stream_monitor.cpp:310: livenessMonitorTask]     Started the thread livenessMonitorTask
[2025-7-30T1:47:14.56Z:281471889697760:stream_monitor.cpp:1666: qosMeasurementTask]     Started the QoS measurement thread
[2025-7-30T1:47:14.56Z:281471881243616:stream_monitor.cpp:408: streamNotifyTask]        Started the stream notify task
[2025-7-30T1:47:14.56Z:281473264168992:logger.cpp:90: setupQoSLogging]  QoS logging started at:/opt/vst_release/vst_data/vms_qos_2025-07-30T01:47:14Z.csv
[2025-7-30T1:47:14.56Z:281473264168992:onvif_discovery.cpp:49: start]   Starting Sensor discovery tasks
[2025-7-30T1:47:14.56Z:281473264168992:vstmodule.cpp:514: loadSensorManagementLib]      Loaded sensor management module: 1
[2025-7-30T1:47:14.56Z:281471872789472:network_utils.cpp:618: openProbe]        Either interface list is empty or wrong interfaces provided, use INADDR_ANY
[2025-7-30T1:47:14.57Z:281471872789472:network_utils.cpp:638: openProbe]        Opening the datagram socket...OK.
[2025-7-30T1:47:14.57Z:281471872789472:network_utils.cpp:680: openProbe]        Loopback multicast: 0
[2025-7-30T1:47:14.57Z:281471872789472:network_utils.cpp:694: openProbe]        PROBE PORT FD : 13, interface:INADDR_ANY
[2025-7-30T1:47:14.57Z:281471872789472:network_utils.cpp:705: openProbe]        Setting SO_REUSEADDR...OK.
[2025-7-30T1:47:14.57Z:281471872789472:network_utils.cpp:722: openProbe]        Binding datagram socket...OK.
[2025-7-30T1:47:14.57Z:281471872789472:onvif_discovery.cpp:104: onvifListnerTask]       Opening of probe port success
[2025-7-30T1:47:14.57Z:281473264168992:PeerConnectionManager.cpp:1903: InitializePeerConnection]        Webrtc port range min:0, max:0
[2025-7-30T1:47:14.57Z:281473264168992:vstmodule.cpp:370: loadPeerConnectionLiveLib]    Loaded LivePeerConnection module: 1
[2025-7-30T1:47:14.57Z:281473264168992:PeerConnectionManager.cpp:1903: InitializePeerConnection]        Webrtc port range min:0, max:0
[2025-7-30T1:47:14.57Z:281473264168992:vstmodule.cpp:418: loadPeerConnectionReplayLib]  Loaded ReplayPeerConnection module: 1
[2025-7-30T1:47:14.58Z:281473264168992:PeerConnectionManager.cpp:1903: InitializePeerConnection]        Webrtc port range min:0, max:0
[2025-7-30T1:47:14.58Z:281473264168992:vstmodule.cpp:466: loadStreamBridgeLib]  Loaded StreamBridge module: 1
[2025-7-30T1:47:14.136Z:281473264168992:vst_common.cpp:408: getSslCertificate]  Written ssl certificate Successfully at:/opt/vst_release/vst_data/self_signed_certificate.pem
[2025-7-30T1:47:14.141Z:281473264168992:HttpServerRequestHandler.cpp:425: HttpServerRequestHandler]     Civetweb version: v1.16
[2025-7-30T1:47:14.141Z:281473264168992:webServer.cpp:124: WebServer]   HTTP Listen at 172.17.0.2:30000
[2025-7-30T1:47:14.142Z:281473264168992:nvbufwrapper.h:96: NvBufWrapper]        NvBufWrapper
[2025-7-30T1:47:14.142Z:281473264168992:nvbufwrapper.h:97: NvBufWrapper]        m_useNvV4l2Enc:[2025-7-30T1:47:14.142Z:281473264168992:nvhwdetection.h:52: NvHwDetection]        NvHwDetection
1, m_useNvV4l2Dec:1
[2025-7-30T1:47:14.167Z:281473264168992:nvbufwrapper.h:156: NvBufWrapper]       Nv Buffer format: 1
[2025-7-30T1:47:14.169Z:281473264168992:server.cpp:193: start]  Main Loop...
[2025-7-30T1:47:14.170Z:281473264168992:sensor_management.cpp:713: notifyVmsRedinessEvent]      Notification Manager instance is not created
[2025-7-30T1:47:14.170Z:281473264168992:sensor_management.cpp:715: notifyVmsRedinessEvent]      {
        "alert_type" : "service_status_change",
        "created_at" : "2025-07-30T01:47:14Z",
        "event" : 
        {
                "service_status" : "init_ready"
        },
        "source" : "vst"
}

Are you run JPS successfully? Can you run the default JPS without any changes firstly if still meet fail?

1 Like

I changed the path to /home/user/Downloads/vst-volume
and still getting the error…

what were the default values?
also, how do I removed all the files and start from scratch?

You can re-flash the Jetson device to Jetpack 6.2 with SDKManager.

Im not reflashing, what is the default value then?

Do you mean below default value?

$ cat /opt/nvidia/jetson/services/vst/config/vst_storage.json 
{
    "data_path": "/data/vst-volume/data/",
    "video_path": "/data/vst-volume/video/",
    "total_video_storage_size_MB": 10000
}

1 Like

Thanks! changing the path was breaking the application.