"java.net.BindException: Permission denied" exception occurs when APIX engines connect through JMX.

"java.net.BindException: Permission denied" exception occurs when APIX engines connect through JMX.

book

Article ID: KB0087601

calendar_today

Updated On:

Products Versions
TIBCO API Exchange -
Not Applicable -

Description

Description:
When JMX property in the asg-engine.tra is enabled, the following error message is thrown during startup.

Error Logs:
 
2016 Mar 10 16:14:06:666 GMT -5 apigw-lx01-core-cache Info [main] - [runtime.service] Starting secure JMX connector server @127.0.0.2:555
2016 Mar 10 16:14:06:741 GMT -5 apigw-lx01-core-cache Error [main] - [runtime.service] Could not create registry @127.0.0.2:555 - verify if port is not in use. Excep Msg: Port already in use: 555; nested exception is:     java.net.BindException: Permission denied
2016 Mar 10 16:14:06:742 GMT -5 apigw-lx01-core-cache Error [main] - [root] java.rmi.server.ExportException: Port already in use: 555; nested exception is: java.net.BindException: Permission denied
2016 Mar 10 16:14:06:742 GMT -5 apigw-lx01-core-cache Error [main] - [root]     at sun.rmi.transport.tcp.TCPTransport.listen(Unknown Source)
2016 Mar 10 16:14:06:742 GMT -5 apigw-lx01-core-cache Error [main] - [root]     at sun.rmi.transport.tcp.TCPTransport.exportObject(Unknown Source)
2016 Mar 10 16:14:06:742 GMT -5 apigw-lx01-core-cache Error [main] - [root]     at sun.rmi.transport.tcp.TCPEndpoint.exportObject(Unknown Source)
2016 Mar 10 16:14:06:742 GMT -5 apigw-lx01-core-cache Error [main] - [root]     at sun.rmi.transport.LiveRef.exportObject(Unknown Source)
2016 Mar 10 16:14:06:742 GMT -5 apigw-lx01-core-cache Error [main] - [root]     at sun.rmi.server.UnicastServerRef.exportObject(Unknown Source)
2016 Mar 10 16:14:06:742 GMT -5 apigw-lx01-core-cache Error [main] - [root]     at sun.rmi.registry.RegistryImpl.setup(Unknown Source)
2016 Mar 10 16:14:06:742 GMT -5 apigw-lx01-core-cache Error [main] - [root]     at sun.rmi.registry.RegistryImpl.<init>(Unknown Source)
2016 Mar 10 16:14:06:742 GMT -5 apigw-lx01-core-cache Error [main] - [root]     at java.rmi.registry.LocateRegistry.createRegistry(Unknown Source)
2016 Mar 10 16:14:06:742 GMT -5 apigw-lx01-core-cache Error [main] - [root]     at com.tibco.cep.runtime.service.management.jmx.connectors.JMXConnServer.createRegistry(JMXConnServer.java:156)
2016 Mar 10 16:14:06:742 GMT -5 apigw-lx01-core-cache Error [main] - [root]     at com.tibco.cep.runtime.service.management.jmx.connectors.JMXConnServer.handleConnServerCreation(JMXConnServer.java:39)
2016 Mar 10 16:14:06:742 GMT -5 apigw-lx01-core-cache Error [main] - [root]     at com.tibco.cep.runtime.service.management.jmx.connectors.JMXConnServer.createSecureJMXConnectorServer(JMXConnServer.java:114)
2016 Mar 10 16:14:06:742 GMT -5 apigw-lx01-core-cache Error [main] - [root]     at com.tibco.cep.runtime.service.management.jmx.connectors.JMXConnServer.createSinglePortSecureJMXConnectorServer(JMXConnServer.java:151)
2016 Mar 10 16:14:06:742 GMT -5 apigw-lx01-core-cache Error [main] - [root]     at com.tibco.cep.runtime.service.management.process.EngineMBeansManager.registerJMXConnectorServer(EngineMBeansManager.java:85)
2016 Mar 10 16:14:06:742 GMT -5 apigw-lx01-core-cache Error [main] - [root]     at com.tibco.cep.runtime.service.management.process.EngineMBeansManager.registerEngineMBeans(EngineMBeansManager.java:55)
2016 Mar 10 16:14:06:742 GMT -5 apigw-lx01-core-cache Error [main] - [root]     at com.tibco.cep.runtime.session.impl.RuleServiceProviderImpl.configure(RuleServiceProviderImpl.java:280)
2016 Mar 10 16:14:06:742 GMT -5 apigw-lx01-core-cache Error [main] - [root]     at com.tibco.asg.container.standalone.ASGMain.jumpStart(ASGMain.java:275)
2016 Mar 10 16:14:06:742 GMT -5 apigw-lx01-core-cache Error [main] - [root]     at com.tibco.asg.container.standalone.ASGMain.main(ASGMain.java:122)
2016 Mar 10 16:14:06:742 GMT -5 apigw-lx01-core-cache Error [main] - [root] Caused by: java.net.BindException: Permission denied
2016 Mar 10 16:14:06:742 GMT -5 apigw-lx01-core-cache Error [main] - [root]     at java.net.PlainSocketImpl.socketBind(Native Method)
2016 Mar 10 16:14:06:742 GMT -5 apigw-lx01-core-cache Error [main] - [root]     at java.net.AbstractPlainSocketImpl.bind(Unknown Source)
2016 Mar 10 16:14:06:742 GMT -5 apigw-lx01-core-cache Error [main] - [root]     at java.net.ServerSocket.bind(Unknown Source)
2016 Mar 10 16:14:06:742 GMT -5 apigw-lx01-core-cache Error [main] - [root]     at java.net.ServerSocket.<init>(Unknown Source)
2016 Mar 10 16:14:06:742 GMT -5 apigw-lx01-core-cache Error [main] - [root]     at java.net.ServerSocket.<init>(Unknown Source)
2016 Mar 10 16:14:06:742 GMT -5 apigw-lx01-core-cache Error [main] - [root]     at sun.rmi.transport.proxy.RMIDirectSocketFactory.createServerSocket(Unknown Source)
2016 Mar 10 16:14:06:742 GMT -5 apigw-lx01-core-cache Error [main] - [root]     at sun.rmi.transport.proxy.RMIMasterSocketFactory.createServerSocket(Unknown Source)
2016 Mar 10 16:14:06:742 GMT -5 apigw-lx01-core-cache Error [main] - [root]     at sun.rmi.transport.tcp.TCPEndpoint.newServerSocket(Unknown Source)
 
Symptoms:
Unable to connect to JMX. Error "java.rmi.server.ExportException: Port already in use: 555; nested exception is: java.net.BindException: Permission denied".
Cause:
The is because JMX port number 555 was configured with the engine.

Issue/Introduction

"java.net.BindException: Permission denied" exception occurs when APIX engines connect through JMX.

Resolution

Opening a JMX port number below 1024 requires root privileges. Unix based systems declare ports < 1024 as "privileged" and admin rights/ root privileges are required to start a service. This issue can be resolved by using a JMX port number greater than 1024.