Bug #72271 MEM 3.0 recommend 32bit JVM on 64bit Server for agent, but it failed to run.
Submitted: 8 Apr 2014 8:28 Modified: 8 Apr 2014 12:10
Reporter: Meiji Kimura Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Enterprise Monitor: Agent Severity:S3 (Non-critical)
Version:3.0.7 OS:Linux (64-bit )
Assigned to: CPU Architecture:Any

[8 Apr 2014 8:28] Meiji Kimura
Description:
MEM 3.0.7 agent package provided these bin files.

mysqlmonitoragent-3.0.7.2946-linux-jvm64-x86-64bit-installer.bin
mysqlmonitoragent-3.0.7.2946-linux-jvm64-x86-64bit-update-installer.bin
mysqlmonitoragent-3.0.7.2946-linux-x86-64bit-installer.bin
mysqlmonitoragent-3.0.7.2946-linux-x86-64bit-update-installer.bin

jvm64 means 64-bit jvm. In my environment CentOS 5.10 (x86_64), I think I should use 
mysqlmonitoragent-3.0.7.2946-linux-jvm64-x86-64bit-installer.bin

But the manual of MEM recommended to use 32-bit jvm, thus the manual recommended to install this package.

mysqlmonitoragent-3.0.7.2946-linux-x86-64bit-installer.bin

See this manual.
http://dev.mysql.com/doc/mysql-monitor/3.0/en/mem-install-agent-unix.html

Its installation will be success, but it failed to run this error in 
/opt/mysql/enterprise/agent/logs/mysql-monitor-agent.stderr

Cannot dynamically link to /opt/mysql/enterprise/agent/java/lib/i386/server/libjvm.so
/opt/mysql/enterprise/agent/java/lib/i386/server/libjvm.so: cannot restore segment prot after reloc: Permission denied
Service exit with a return value of 1

It seems that the libjvm.so in MEM package, so I think the manual should not recommend 32-bit jvm.

How to repeat:
Install 32-bit vm's agent of 64-bit package to x86_64 linux (e.g. CentOS 5.10 x86_64).

Suggested fix:
Before installing 32-bit vm's package, check libjvm.so can run without error.

OR

Provide only 64-bit vm's installer.
[8 Apr 2014 12:10] Umesh Shastry
Hello Meiji-San,

Thank you for the report.

Thanks,
Umesh
[8 May 2014 17:46] Shannon Wade
maybe not related but this error too:

Cannot dynamically link to /opt/mysql/enterprise/agent/java/lib/i386/server/libjvm.so
/opt/mysql/enterprise/agent/java/lib/i386/server/libjvm.so: cannot restore segment prot after reloc: Permission denied
Service exit with a return value of 1

is seen when selinux is enabled and preventing access.