eProsima / Fast-DDS-monitor

eProsima Fast DDS Monitor is a graphical desktop application aimed at monitoring DDS environments deployed using the eProsima Fast DDS library. Looking for commercial support? Contact info@eprosima.com
https://eprosima.com
GNU General Public License v3.0
40 stars 10 forks source link

Fastdds_monitor shows a black screen #180

Closed KansaiUser closed 1 year ago

KansaiUser commented 1 year ago

I am trying to do the first example as in here I am inside the docker as in here and I can run DDSHellosWolrdExample without problem

But when I do fastdds_monitor all I got is a window completely in black and in the terminal

root@be589ef998c4:/usr/local/eprosima/fastrtps/examples/cpp/dds/HelloWorldExample/bin# fastdds_monitor 
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.

I would appreciate some help as I would really like to try the monitor

Info: Ubuntu 20.04.2LTS 64-bit 23.3GiB Memory

jparisu commented 1 year ago

We have recently found a bug in the Qt dependencies that are included in one of our docker images regarding the Fast-DDS-Suite. Could you please specify which version are you using? Version v1.5.0 of eProsima-DDS-Suite should have fixed it.

You can also try to install the missing dependency inside the docker: apt-get update && apt-get install --yes --no-install-recommends libqt5svg5

KansaiUser commented 1 year ago

I am using v1.5.0 in linux because I tried 1.3 and 1.4 and they were impossible to load.

I will try your advice of installation after work and notify.

KansaiUser commented 1 year ago

I am sorry to inform this did not work


root@ec623c34ce97:/usr/local/eprosima/fastrtps/examples/cpp/dds# apt-get update
Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease                      
Get:2 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
Get:3 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages [998 kB]    
Get:4 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 Packages [921 kB]
Get:5 http://security.ubuntu.com/ubuntu jammy-security/multiverse amd64 Packages [41.2 kB]
Get:6 http://security.ubuntu.com/ubuntu jammy-security/restricted amd64 Packages [1073 kB]
Get:7 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [119 kB]                                                                                        
Get:8 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [108 kB]                                                                                      
Get:9 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages [1163 kB]                                                                         
Get:10 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages [1341 kB]                                                                            
Get:11 http://archive.ubuntu.com/ubuntu jammy-updates/restricted amd64 Packages [1126 kB]                                                                      
Get:12 http://archive.ubuntu.com/ubuntu jammy-updates/multiverse amd64 Packages [46.6 kB]                                                                      
Get:13 http://archive.ubuntu.com/ubuntu jammy-backports/universe amd64 Packages [25.6 kB]                                                                      
Fetched 7071 kB in 19s (367 kB/s)                                                                                                                              
Reading package lists... Done
root@ec623c34ce97:/usr/local/eprosima/fastrtps/examples/cpp/dds# apt-get install --yes --no-install-recommends libqt5svg5
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libqt5svg5 is already the newest version (5.15.3-1).
The following packages were automatically installed and are no longer required:
  python3-distutils python3-lib2to3 python3-pkg-resources python3-setuptools python3-wheel
Use 'apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.
root@ec623c34ce97:/usr/local/eprosima/fastrtps/examples/cpp/dds# fastdds_monitor 
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
root@ec623c34ce97:/usr/local/eprosima/fastrtps/examples/cpp/dds# 
KansaiUser commented 1 year ago

I have to inform you of my developments I could finally made it work (I can see the monitor window) To do that I had to run the container with the following command

docker run -it --rm --net=host --env=NVIDIA_VISIBLE_DEVICES=all --env=NVIDIA_DRIVER_CAPABILITIES=all --privileged --env=DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --env=QT_X11_NO_MITSHM=1 --runtime=nvidia -e NVIDIA_VISIBLE_DEVICES=0 ubuntu-eprosima-dds-suite:v1.5.0 

I have to report though that the error messages in the console have not disappeared

fastdds_monitor 
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
Trying to update an entity that did not exist
Trying to update an entity that did not exist
Trying to update an entity that did not exist
Trying to create an entity that already exists
Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
Trying to update an entity that did not exist
Trying to update an entity that did not exist
Trying to update an entity that did not exist

But fastdds_monitor is working.

I have two other questions though:

jparisu commented 1 year ago

So it seems that problem was due to your specific drivers. We have never encountered this error before, thank you very much for the information.

Regarding the Monitoring of Fast DDS, you have all the information here https://fast-dds.docs.eprosima.com/en/latest/fastdds/statistics/statistics.html

Long story short:

I'll close this issue. Feel free to open a discussion if you have further questions.

then-ck commented 1 year ago

Hi, I am also currently running the same problem where fastdds_monitor shows black screen. I tried running the code mentioned by @KansaiUser above: docker run -it --rm --net=host --env=NVIDIA_VISIBLE_DEVICES=all --env=NVIDIA_DRIVER_CAPABILITIES=all --privileged --env=DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --env=QT_X11_NO_MITSHM=1 --runtime=nvidia -e NVIDIA_VISIBLE_DEVICES=0 ubuntu-eprosima-dds-suite:v1.5.0

However, it didn't work for me, I got the error:

ck@ck-VirtualBox:~$ sudo docker run -it --rm --net=host --env=NVIDIA_VISIBLE_DEVICES=all --env=NVIDIA_DRIVER_CAPABILITIES=all --privileged --env=DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --env=QT_X11_NO_MITSHM=1 --runtime=nvidia -e NVIDIA_VISIBLE_DEVICES=0 ubuntu-eprosima-dds-suite:v1.5.0
docker: Error response from daemon: unknown or invalid runtime name: nvidia.
See 'docker run --help'.

I am currently running on Oracle Virtual Machine: Ubuntu 20.04, ROS2 Foxy, 64-bit.

Steps I've taken to run docker:

$ sudo docker load -i ubuntu-eprosima-dds-suite\ v1.5.0.tar
$ sudo docker tag ubuntu-eprosima-dds-suite:v1.5.0 ubuntu-fastdds-suite:latest
$ xhost local:root
$ sudo docker run -it --privileged -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix ubuntu-eprosima-dds-suite:v1.5.0

Running fastdds_monitor I get this, with black screen:

root@2406c58952ef:~# fastdds_monitor
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.

Any advice on how to fix black screen?

then-ck commented 1 year ago

Hi, I am also currently running the same problem where fastdds_monitor shows black screen. I tried running the code mentioned by @KansaiUser above: docker run -it --rm --net=host --env=NVIDIA_VISIBLE_DEVICES=all --env=NVIDIA_DRIVER_CAPABILITIES=all --privileged --env=DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --env=QT_X11_NO_MITSHM=1 --runtime=nvidia -e NVIDIA_VISIBLE_DEVICES=0 ubuntu-eprosima-dds-suite:v1.5.0

However, it didn't work for me, I got the error:

ck@ck-VirtualBox:~$ sudo docker run -it --rm --net=host --env=NVIDIA_VISIBLE_DEVICES=all --env=NVIDIA_DRIVER_CAPABILITIES=all --privileged --env=DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --env=QT_X11_NO_MITSHM=1 --runtime=nvidia -e NVIDIA_VISIBLE_DEVICES=0 ubuntu-eprosima-dds-suite:v1.5.0
docker: Error response from daemon: unknown or invalid runtime name: nvidia.
See 'docker run --help'.

I am currently running Ubuntu 20.04 on Oracle Virtual Machine.

Steps I've taken to run docker:

$ sudo docker load -i ubuntu-eprosima-dds-suite\ v1.5.0.tar
$ sudo docker tag ubuntu-eprosima-dds-suite:v1.5.0 ubuntu-fastdds-suite:latest
$ xhost local:root
$ sudo docker run -it --privileged -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix ubuntu-eprosima-dds-suite:v1.5.0

Running fastdds_monitor I get this, with black screen:

root@2406c58952ef:~# fastdds_monitor
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.

Any advice on how to fix black screen?

Not a direct fix but I was able to get the Fast DDS Monitor program to work by installing and executing the eProsima Fast DDS Monitor 1.3.0 - Linux (32 & 64) - AppImage file from the official downloads website

image

jparisu commented 1 year ago

Hi @then-ck

It seems like there is a problem between Qt versions and your specific drivers. Or maybe in the communication between the virtual machine and the drivers. We would try to test the product in a wider range of environments (it would be impossible to test them all, though).

In the meanwhile, we are glad you found a way to make it work.