0

I’m experiencing an issue when trying to start a Java application on a RHEL server. I’m confident that the application itself is configured correctly, as it runs without any problems on other servers.

This particular server has been hardened, but I don’t believe the hardening is causing the issue. I temporarily disabled the hardening settings, and the application still failed to start. Interestingly, the same application is working on another hardened server.

I’m not very familiar with Java or RHEL in this context, so I would appreciate any guidance or suggestions. Has anyone encountered a similar issue or have any idea what might be going wrong?

Thank you in advance for your help!

OpenJDK Runtime Environment (build 17.0.7+7) from Eclipse Adoptium - OpenJDK 64-Bit Server VM (build 17.0.7+7, mixed mode, sharing) - Linux 4.18.0-477.15.1.el8_8.x86_64, architecture: amd64-64
INFO - [16:56:26|main] - Starting application CIACLIENT
Apr 04, 2025 4:56:26 PM com.sun.javafx.application.PlatformImpl startup
WARNING: Unsupported JavaFX configuration: classes were loaded from 'unnamed module @1880a322'
Loading library prism_es2 from resource failed: java.lang.UnsatisfiedLinkError: /home/cia/.openjfx/cache/18.0.1+2/libprism_es2.so: /home/cia/.openjfx/cache/18.0.1+2/libprism_es2.so: failed to map segment from shared object
java.lang.UnsatisfiedLinkError: /home/cia/.openjfx/cache/18.0.1+2/libprism_es2.so: /home/cia/.openjfx/cache/18.0.1+2/libprism_es2.so: failed to map segment from shared object
at java.base/jdk.internal.loader.NativeLibraries.load(Native Method)
 
 
 
 [cia@ciaserver 18.0.1+2]$ ldd libprism_es2.so ldd: warning: you do not
 have execution permission for ./libprism_es2.so'
 
 not a dynamic executable
 
 [cia@ciaserver 18.0.1+2]$ ldd libprism_sw.so
 
 ldd: warning: you do not have execution permission for
 ./libprism_es2.so'
 
 not a dynamic executable

1 Answer 1

0

failed to map segment from shared object

ldd: warning: you do not have execution permission for

Your process seems not allowed to map a library.

I'm assuming you've checked that the library actually has execution permissions before asking.

That sounds like an issue of apparmor origin, or a similar hardening mechanism. So, do check the logs of whatever you're using for hardening.

To be quite honest, disallowing loading of libraries from a directory called cache does sound like a very sensible idea.

6
  • Thanks. fusermount : failed to access mountpoint /run/user/1000/gvfs: Permission denied. What should i do next? Commented Apr 7 at 8:05
  • @Hola that seems to be completely unrelated. I can't tell you what to do next, I'm not logged into your server. You are the one that says it has hardening, so figure out what that is, and where that hardening writes its logs, then read the logs. Commented Apr 7 at 8:21
  • Thanks for the quick reply and the suggestion! I checked the /var/log/messages file like you mentioned, and the only error I could find seems to be related to JavaFX (GUI). I’m not an expert, so I could be wrong, but it might be connected to the issue I’m facing. Let me know if you have any other ideas or thoughts. Appreciate your help! Commented Apr 7 at 8:45
  • I did not mention that file. Again, you are the only one that knows which hardening methods apply to your server. It's something we can't find out for you. Commented Apr 7 at 8:50
  • Apologies for not being clear. This is an issue I encountered at work. The OS with hardening was delivered by another team, but they are unable to locate it. As a result, I am currently troubleshooting the issue. Commented Apr 7 at 9:28

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.