Tarin Gamberini

A software engineer and a passionate java programmer

Address already in use: bind localhost

Few days ago I was asked to configure a JBoss EAP 6.4.3.GA environment on my computer because of a new project I should work on in the next months.

The first annoying problem I had to face was about the following error log message:

15:50:12,375 INFO  [org.jboss.modules] (main) JBoss Modules version 1.3.7.Final-redhat-1
15:50:12,551 INFO  [org.jboss.msc] (main) JBoss MSC version 1.1.5.Final-redhat-1
15:50:12,600 INFO  [org.jboss.as] (MSC service thread 1-1) JBAS015899: JBoss EAP 6.4.3.GA (AS 7.5.3.Final-redhat-SNAPSHOT) starting
15:50:17,618 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC000001: Failed to start service jboss.serverManagement.controller.management.http: org.jboss.msc.service.StartException in service jboss.serverManagement.controller.management.http: Address already in use: bind localhost/
  at org.jboss.as.server.mgmt.HttpManagementService.start(HttpManagementService.java:227) [jboss-as-server-7.5.3.Final-redhat-SNAPSHOT.jar:7.5.3.Final-redhat-SNAPSHOT]
  at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1980) [jboss-msc-1.1.5.Final-redhat-1.jar:1.1.5.Final-redhat-1]
  at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1913) [jboss-msc-1.1.5.Final-redhat-1.jar:1.1.5.Final-redhat-1]
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_25]
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_25]
  at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_25]
Caused by: java.net.BindException: Address already in use: bind
  at sun.nio.ch.Net.bind0(Native Method) [rt.jar:1.8.0_25]
  at sun.nio.ch.Net.bind(Net.java:436) [rt.jar:1.8.0_25]
  at sun.nio.ch.Net.bind(Net.java:428) [rt.jar:1.8.0_25]
  at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:214) [rt.jar:1.8.0_25]
  at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74) [rt.jar:1.8.0_25]
  at org.jboss.sun.net.httpserver.ServerImpl.<init>(ServerImpl.java:144)
  at org.jboss.sun.net.httpserver.HttpServerImpl.<init>(HttpServerImpl.java:54)
  at org.jboss.sun.net.httpserver.DefaultHttpServerProvider.createHttpServer(DefaultHttpServerProvider.java:38)
  at org.jboss.com.sun.net.httpserver.HttpServer.create(HttpServer.java:147)
  at org.jboss.as.domain.http.server.ManagementHttpServer.create(ManagementHttpServer.java:168)
  at org.jboss.as.server.mgmt.HttpManagementService.start(HttpManagementService.java:193) [jboss-as-server-7.5.3.Final-redhat-SNAPSHOT.jar:7.5.3.Final-redhat-SNAPSHOT]
  ... 5 more

The log said Address already in use: bind localhost/ so the question was: which service is running on port 9990 on this microsoft windows computer?

I found a useful answer on stackoverflow, so I ran:

netstat -anb

getting a long list of services and discovering the 9990 port was used by the NVIDIA Network Service:

 TCP              LISTENING

I remembered I had installed the NVIDIA proprietary driver in order to get the NVIDIA graphic card correctly handle the two monitors of my computer, probably such driver had installed the NVIDIA Network Service too.

Then I red that NVIDIA Network Service is not essential on microsoft windows so I went to the service manager and I stopped it.

Restarting JBoss the problem has disappeared… and the two monitors still work fine :-)

Post a comment

A comment is submitted by an ordinary e-mail. Your e-mail address will not be published or broadcast.

This blog is moderated, therefore some comments might not be published. Comments are usually approved by the moderator in one/three days.