Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stuck loading files in UNetSim when launching with "-ip 0.0.0.0" #84

Open
brodiealexander opened this issue Feb 10, 2023 · 11 comments
Open
Assignees
Labels

Comments

@brodiealexander
Copy link
Contributor

Context:

All tests were performed on an M1 MacBook Air running macOS 13.2 using unet-community 3.4.0

When running UNetSim via "bin/unet -ip 0.0.0.0 sim" the simulator web page will perpetually be at "Loading files...".

This result was seen under the following testing environments:

  • Ubuntu 20.04 LTS in Docker Engine via openjdk-8-jre package (Java 8u352 aarch64)
  • Alpine Linux 3.17 in Docker Engine via openjdk8-base (Java 8u345 aarch64)
  • macOS Ventura 13.2 via Temurin openjdk 8 (Java 8u352 x86_64 via Rosetta 2)
  • Same result occurs when connecting from Chromium (Brave) and Gecko (Firefox), both with cache disabled.

When testing with IP = 127.0.0.1, everything loaded correctly under macOS 13.2

image

@notthetup
Copy link
Collaborator

Hi @brodiealexander. Apologies for taking a while to come back to this. Were there any errors in the log files? That "Failed to fetch simulation status" indicates that the ShellAgent didn't respond to the Web Interface when it queried for the status of the current simulation.

@patel999jay
Copy link
Contributor

patel999jay commented Mar 11, 2024

@notthetup and @brodiealexander : works fine on my macbook pro M2.

uname -a                                                                                                                          ─╯
Darwin Jays-MacBook-Pro.local 23.3.0 Darwin Kernel Version 23.3.0: Wed Dec 20 21:31:00 PST 2023; root:xnu-10002.81.5~7/RELEASE_ARM64_T6020 arm64
Screenshot 2024-03-10 at 10 19 48 PM Screenshot 2024-03-10 at 10 21 22 PM

P.S. : tested this on all my browser : chrome, safari and firefox.

@patel999jay
Copy link
Contributor

patel999jay commented Mar 20, 2024

@notthetup : On a side note, newer version of unet-3.4.4 - phy yoda is compiled with the newer version of glibc (it may be compiled with gcc-11 and my gcc version of ubuntu 20.04 distribution and version only is gcc-9 and therefore only provides glibc_2.31 (I guess)). There should be backward compatibility, and it should support the older version of ubuntu. Any thoughts ?

here is some more info if needed :

╭─    ~/Documents/unet-community-3.4.4/unet-3.4.4 ───────────────────────────────────────────────────────── ✔  11:22:10 PM  ─╮
╰─  bin/unet -c audio                                                                                                                                     ─╯
Native library yoda_phy_pa_amd64 not found : java.lang.UnsatisfiedLinkError: /home/jay/Documents/unet-community-3.4.4/unet-3.4.4/lib/libyoda_phy_pa_amd64.so: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /home/jay/Documents/unet-community-3.4.4/unet-3.4.4/lib/libyoda_phy_pa_amd64.so)

╭─    ~/Documents/unet-community-3.4.4/unet-3.4.4 ───────────────────────────────────────────────────────── ✔  11:22:12 PM  ─╮
╰─ gcc --version                                                                                                                                         ─╯
gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

@notthetup
Copy link
Collaborator

Thanks @patel999jay . Let me explore how we can support this.

@patel999jay
Copy link
Contributor

@notthetup : any updates on this ?

@patel999jay
Copy link
Contributor

patel999jay commented Jun 17, 2024

@notthetup : any updates, we can not run this now on our newer jetson orin nano as well, Any suggestions ?

isl@isl-jetson:~/unet-community-3.4.4/unet-3.4.4$ uname -a
Linux isl-jetson 5.15.136-tegra #1 SMP PREEMPT Mon May 6 09:56:39 PDT 2024 aarch64 aarch64 aarch64 GNU/Linux
isl@isl-jetson:~/unet-community-3.4.4/unet-3.4.4$ java -version
openjdk version "1.8.0_322"
OpenJDK Runtime Environment (Zulu 8.60.0.21-CA-linux_aarch64) (build 1.8.0_322-b06)
OpenJDK 64-Bit Server VM (Zulu 8.60.0.21-CA-linux_aarch64) (build 25.322-b06, mixed mode)
isl@isl-jetson:~/unet-community-3.4.4/unet-3.4.4$ ls lib
cloning-1.9.12.jar          gson-2.8.5.jar                       jetty-server-9.4.26.v20200117.jar   libyoda_phy_pa_amd64.so      unet-yoda-3.4.4.jar
commons-fileupload-1.4.jar  javax.servlet-api-3.1.0.jar          jetty-servlet-9.4.26.v20200117.jar  libyoda_phy_pa_x86_64.dylib  websocket-api-9.4.26.v20200117.jar
commons-io-2.6.jar          jetty-client-9.4.26.v20200117.jar    jetty-util-9.4.26.v20200117.jar     objenesis-3.0.1.jar          websocket-client-9.4.26.v20200117.jar
commons-lang3-3.9.jar       jetty-http-9.4.26.v20200117.jar      jetty-xml-9.4.26.v20200117.jar      unet-basic-3.4.4.jar         websocket-common-9.4.26.v20200117.jar
commons-math3-3.6.1.jar     jetty-io-9.4.26.v20200117.jar        jline-3.12.1.jar                    unet-framework-3.4.4.jar     websocket-server-9.4.26.v20200117.jar
fjage-1.9.1.jar             jetty-rewrite-9.4.26.v20200117.jar   jSerialComm-2.5.1.jar               unet-simulator-3.4.4.jar     websocket-servlet-9.4.26.v20200117.jar
groovy-2.5.9.jar            jetty-security-9.4.26.v20200117.jar  libyoda_phy_pa_aarch64.dylib        unet-webif-3.4.4.jar
isl@isl-jetson:~/unet-community-3.4.4/unet-3.4.4$ ls lib/libyoda_phy_pa_aarch64.dylib
lib/libyoda_phy_pa_aarch64.dylib
isl@isl-jetson:~/unet-community-3.4.4/unet-3.4.4$ ll lib/libyoda_phy_pa_aarch64.dylib
-rwxrwx--x 1 isl isl 176696 Feb 19 05:32 lib/libyoda_phy_pa_aarch64.dylib*
isl@isl-jetson:~/unet-community-3.4.4/unet-3.4.4$ echo $LD_LIBRARY_PATH
/usr/local/lib
isl@isl-jetson:~/unet-community-3.4.4/unet-3.4.4$ ls -l /usr/local/lib/libportaudio.so.2.0.0
-rwxr-xr-x 1 root root 647504 Jun 17 00:59 /usr/local/lib/libportaudio.so.2.0.0
isl@isl-jetson:~/unet-community-3.4.4/unet-3.4.4$ gcc --version
gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

isl@isl-jetson:~/unet-community-3.4.4/unet-3.4.4$ bin/unet -c audio
Native library yoda_phy_pa_aarch64 not found : java.lang.UnsatisfiedLinkError: no yoda_phy_pa_aarch64 in java.library.path
isl@isl-jetson:~/unet-community-3.4.4/unet-3.4.4$

P.S.: we re-installed the portaudio, i rebuilt the portaudio as well (NO LUCK).

@notthetup
Copy link
Collaborator

notthetup commented Jun 17, 2024

@patel999jay

Unet audio is not supported on Linux/ARM for now. We'll explore if we can also bundle a version that also supports Linux/ARM in the future. Currently supported platforms are..

Linux/x86
macOS/x86
macOS/ARM

We did publish a build for Linux/ARM in the past. You can see if you can use that. https://github.com/org-arl/unet-doc/raw/master/docs/downloads/unet-community-pi-3.1.0.tgz

We'll consider adding Linux/ARM to this list in the future. Lots of changes coming to UnetStack soon, so will have to figure out how/when things get released.


On the earlier issue with glibc combat. I did manage to get to the bottom of it. unet-v3.4.4 should be compiled on Ubuntu 18.08. So it should be compatible with anything newer than that.

@patel999jay
Copy link
Contributor

patel999jay commented Jun 17, 2024

@notthetup : Thanks, I will try this build for Linux/ARM.

@manuignatius
Copy link
Collaborator

@patel999jay This blog article that may have information regarding running Unet audio for Linux/arm: https://blog.unetstack.net/Project-Sabine-Low-cost-DIY-underwater-modem-using-COTS-components-and-Unet-audio

@patel999jay
Copy link
Contributor

@manuignatius : still have the same issue on new jetson nano orin. I followed the same steps outlined in the post you mentioned. It does work on RPi, very strange.

@notthetup
Copy link
Collaborator

@patel999jay I think it's an ARM32 vs ARM64 issue. https://github.com/org-arl/unet-doc/raw/master/docs/downloads/unet-community-pi-3.1.0.tgz is compiled for ARM32. The Jetson Nanos are ARM64.

Let me take a look to see if it's possible to recompile the the shared library for ARM64.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants