1

Iam trying run StartSonar.bat from command line in order to start sonar serve but its giving me below exception. It seems to related to memory issue or Java version issue but iam unable to find the root cause. Appreciate any help on this.

Sonarqube version is - 5.4 sonar-scanner version - 2.6.1

log file below.

--> Wrapper Started as Console
Launching a JVM...
Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
  Copyright 1999-2006 Tanuki Software, Inc.  All Rights Reserved.

2017.01.12 18:30:42 INFO  app[o.s.a.AppFileSystem] Cleaning or creating temp directory C:\Users\502698332\Downloads\Code Review\sonarqube-5.4\sonarqube-5.4\temp
2017.01.12 18:30:42 INFO  app[o.s.p.m.JavaProcessLauncher] Launch process[search]: C:\Program Files\Java\jre1.8.0_112\bin\java -Djava.awt.headless=true -Xmx1G -Xms256m -Xss256k -Djava.net.preferIPv4Stack=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -Djava.io.tmpdir=C:\Users\502698332\Downloads\Code Review\sonarqube-5.4\sonarqube-5.4\temp -cp ./lib/common/*;./lib/search/* org.sonar.search.SearchServer C:\Users\502698~1\AppData\Local\Temp\sq-process506451527421407979properties
2017.01.12 18:30:43 INFO   es[o.s.p.ProcessEntryPoint]  Starting search
2017.01.12 18:30:43 INFO   es[o.s.s.SearchSettings]  Elasticsearch listening on 127.0.0.1:9001
2017.01.12 18:30:43 INFO   es[o.elasticsearch.node]  [sonar-1484226042365] version[1.7.2], pid[12896], build[e43676b/2015-09-14T09:49:53Z]
2017.01.12 18:30:43 INFO   es[o.elasticsearch.node]  [sonar-1484226042365] initializing ...
2017.01.12 18:30:43 INFO   es[o.e.plugins]  [sonar-1484226042365] loaded [], sites []
2017.01.12 18:30:43 INFO   es[o.elasticsearch.env]  [sonar-1484226042365] using [1] data paths, mounts [[Windows7 (C:)]], net usable_space [379.4gb], net total_space [465.7gb], types [NTFS]
2017.01.12 18:30:44 WARN   es[o.e.bootstrap]  JNA not found. native methods will be disabled.
2017.01.12 18:30:44 INFO   es[o.elasticsearch.node]  [sonar-1484226042365] initialized
2017.01.12 18:30:44 INFO   es[o.elasticsearch.node]  [sonar-1484226042365] starting ...
2017.01.12 18:30:44 WARN   es[o.s.p.ProcessEntryPoint]  Fail to start search
org.elasticsearch.transport.BindTransportException: Failed to bind to [9001]
    at org.elasticsearch.transport.netty.NettyTransport.bindServerBootstrap(NettyTransport.java:422) ~[elasticsearch-1.7.2.jar:na]
    at org.elasticsearch.transport.netty.NettyTransport.doStart(NettyTransport.java:283) ~[elasticsearch-1.7.2.jar:na]
    at org.elasticsearch.common.component.AbstractLifecycleComponent.start(AbstractLifecycleComponent.java:85) ~[elasticsearch-1.7.2.jar:na]
    at org.elasticsearch.transport.TransportService.doStart(TransportService.java:153) ~[elasticsearch-1.7.2.jar:na]
    at org.elasticsearch.common.component.AbstractLifecycleComponent.start(AbstractLifecycleComponent.java:85) ~[elasticsearch-1.7.2.jar:na]
    at org.elasticsearch.node.internal.InternalNode.start(InternalNode.java:257) ~[elasticsearch-1.7.2.jar:na]
    at org.sonar.search.SearchServer.start(SearchServer.java:45) [sonar-search-5.4.jar:na]
    at org.sonar.process.ProcessEntryPoint.launch(ProcessEntryPoint.java:81) ~[sonar-process-5.4.jar:na]
    at org.sonar.search.SearchServer.main(SearchServer.java:79) [sonar-search-5.4.jar:na]
Caused by: org.elasticsearch.common.netty.channel.ChannelException: Failed to bind to: /127.0.0.1:9001
    at org.elasticsearch.common.netty.bootstrap.ServerBootstrap.bind(ServerBootstrap.java:272) ~[elasticsearch-1.7.2.jar:na]
    at org.elasticsearch.transport.netty.NettyTransport$1.onPortNumber(NettyTransport.java:413) ~[elasticsearch-1.7.2.jar:na]
    at org.elasticsearch.common.transport.PortsRange.iterate(PortsRange.java:58) ~[elasticsearch-1.7.2.jar:na]
    at org.elasticsearch.transport.netty.NettyTransport.bindServerBootstrap(NettyTransport.java:409) ~[elasticsearch-1.7.2.jar:na]
    ... 8 common frames omitted
Caused by: java.net.BindException: Address already in use: bind
    at sun.nio.ch.Net.bind0(Native Method) ~[na:1.8.0_112]
    at sun.nio.ch.Net.bind(Unknown Source) ~[na:1.8.0_112]
    at sun.nio.ch.Net.bind(Unknown Source) ~[na:1.8.0_112]
    at sun.nio.ch.ServerSocketChannelImpl.bind(Unknown Source) ~[na:1.8.0_112]
    at sun.nio.ch.ServerSocketAdaptor.bind(Unknown Source) ~[na:1.8.0_112]
    at org.elasticsearch.common.netty.channel.socket.nio.NioServerBoss$RegisterTask.run(NioServerBoss.java:193) ~[elasticsearch-1.7.2.jar:na]
    at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioSelector.processTaskQueue(AbstractNioSelector.java:391) ~[elasticsearch-1.7.2.jar:na]
    at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:315) ~[elasticsearch-1.7.2.jar:na]
    at org.elasticsearch.common.netty.channel.socket.nio.NioServerBoss.run(NioServerBoss.java:42) ~[elasticsearch-1.7.2.jar:na]
    at org.elasticsearch.common.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108) ~[elasticsearch-1.7.2.jar:na]
    at org.elasticsearch.common.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42) ~[elasticsearch-1.7.2.jar:na]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[na:1.8.0_112]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[na:1.8.0_112]
    at java.lang.Thread.run(Unknown Source) ~[na:1.8.0_112]
2017.01.12 18:30:44 INFO   es[o.elasticsearch.node]  [sonar-1484226042365] stopping ...
2017.01.12 18:30:44 INFO   es[o.elasticsearch.node]  [sonar-1484226042365] stopped
2017.01.12 18:30:44 INFO   es[o.elasticsearch.node]  [sonar-1484226042365] closing ...
2017.01.12 18:30:44 INFO   es[o.elasticsearch.node]  [sonar-1484226042365] closed
<-- Wrapper Stopped

2 Answers2

4

Error is pretty explicit:

org.elasticsearch.transport.BindTransportException: Failed to bind to [9001]
...
Caused by: java.net.BindException: Address already in use: bind

Port 9001 is not free for SonarQube to use. Maybe another SonarQube instance already using it, maybe some other/zombie process. See this StackOverflow question for guidance on how to identify the process using a specific port on Windows.

Solution from their on:

  • deal with the process already listening on port 9001

  • tell your SonarQube server to listen on different ports: sonar.web.port and sonar.search.port in sonar.properties

Community
  • 1
  • 1
  • Thanks Niclos I did changed the port but go another error. could please review ? The web application [ROOT] appears to have started a thread named [elasticsearch[sonar-1484228094961][generic][T#1]] but has failed to stop it. This is very likely to create a memory leak. – nikhil nautiyal Jan 12 '17 at 13:39
  • Keep one question per thread. [Accept this answer](http://stackoverflow.com/help/accepted-answer) if it solved your initial problem, raise a different one if you're still stuck after a preliminary round of troubleshooting. – Nicolas B. - SonarSource Team Jan 12 '17 at 14:23
0

Sometimes, unable to stop currently running application with port (9001). That might be running any system related operations. Instead of disabling existing app, need to change port of SonarQube from 9001 to other.

For example, In sonar.properties Change this line "#sonar.search.port=9001" to "sonar.search.port=9002" (Which works for me)