Sonar started but builds are failing

3.4k views Asked by At

My Sonarqube 5.1 instance says it's started but my builds keep failing. This may have something to do with Sonar Search not starting properly:

2015.06.22 15:01:07 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:426) ~[elasticsearch-1.4.4.jar:na]
    at org.elasticsearch.transport.netty.NettyTransport.doStart(NettyTransport.java:295) ~[elasticsearch-1.4.4.jar:na]
    at org.elasticsearch.common.component.AbstractLifecycleComponent.start(AbstractLifecycleComponent.java:85) ~[elasticsearch-1.4.4.jar:na]
    at org.elasticsearch.transport.TransportService.doStart(TransportService.java:91) ~[elasticsearch-1.4.4.jar:na]
    at org.elasticsearch.common.component.AbstractLifecycleComponent.start(AbstractLifecycleComponent.java:85) ~[elasticsearch-1.4.4.jar:na]
    at org.elasticsearch.node.internal.InternalNode.start(InternalNode.java:242) ~[elasticsearch-1.4.4.jar:na]
    at org.sonar.search.SearchServer.start(SearchServer.java:46) [sonar-search-5.1.1.jar:na]
    at org.sonar.process.ProcessEntryPoint.launch(ProcessEntryPoint.java:77) ~[sonar-process-5.1.1.jar:na]
    at org.sonar.search.SearchServer.main(SearchServer.java:80) [sonar-search-5.1.1.jar:na]
Caused by: org.elasticsearch.common.netty.channel.ChannelException: Failed to bind to: 0.0.0.0/0.0.0.0:9001
    at org.elasticsearch.common.netty.bootstrap.ServerBootstrap.bind(ServerBootstrap.java:272) ~[elasticsearch-1.4.4.jar:na]
    at org.elasticsearch.transport.netty.NettyTransport$1.onPortNumber(NettyTransport.java:417) ~[elasticsearch-1.4.4.jar:na]
    at org.elasticsearch.common.transport.PortsRange.iterate(PortsRange.java:58) ~[elasticsearch-1.4.4.jar:na]
    at org.elasticsearch.transport.netty.NettyTransport.bindServerBootstrap(NettyTransport.java:413) ~[elasticsearch-1.4.4.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.7.0_55]
    at sun.nio.ch.Net.bind(Net.java:444) ~[na:1.7.0_55]
    at sun.nio.ch.Net.bind(Net.java:436) ~[na:1.7.0_55]
    at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:214) ~[na:1.7.0_55]
    at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74) ~[na:1.7.0_55]
    at org.elasticsearch.common.netty.channel.socket.nio.NioServerBoss$RegisterTask.run(NioServerBoss.java:193) ~[elasticsearch-1.4.4.jar:na]
    at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioSelector.processTaskQueue(AbstractNioSelector.java:372) ~[elasticsearch-1.4.4.jar:na]
    at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:296) ~[elasticsearch-1.4.4.jar:na]
    at org.elasticsearch.common.netty.channel.socket.nio.NioServerBoss.run(NioServerBoss.java:42) ~[elasticsearch-1.4.4.jar:na]
    at org.elasticsearch.common.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108) ~[elasticsearch-1.4.4.jar:na]
    at org.elasticsearch.common.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42) ~[elasticsearch-1.4.4.jar:na]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) ~[na:1.7.0_55]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) ~[na:1.7.0_55]
    at java.lang.Thread.run(Thread.java:745) ~[na:1.7.0_55]
2015.06.22 15:01:07 INFO   es[o.elasticsearch.node]  [sonar-1434999664155] stopping ...
2015.06.22 15:01:07 INFO   es[o.elasticsearch.node]  [sonar-1434999664155] stopped
2015.06.22 15:01:07 INFO   es[o.elasticsearch.node]  [sonar-1434999664155] closing ...
2015.06.22 15:01:07 INFO   es[o.elasticsearch.node]  [sonar-1434999664155] closed
<-- Wrapper Stopped

Or this error, which is still a problem even though I've updated to sonar-java-plugin-3.3:

ERROR: Error during Sonar runner execution
org.sonar.runner.impl.RunnerException: Unable to execute Sonar
    at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:91)
    at org.sonar.runner.impl.BatchLauncher$1.run(BatchLauncher.java:75)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:69)
    at org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50)
    at org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:102)
    at org.sonar.runner.api.Runner.execute(Runner.java:100)
    at org.sonar.runner.Main.executeTask(Main.java:70)
    at org.sonar.runner.Main.execute(Main.java:59)
    at org.sonar.runner.Main.main(Main.java:53)
Caused by: java.lang.NoSuchMethodError: org.sonar.api.resources.Project.getConfiguration()Lorg/apache/commons/configuration/Configuration;
    at org.sonar.plugins.java.JavaSquidSensor.createConfiguration(JavaSquidSensor.java:106)
    at org.sonar.plugins.java.JavaSquidSensor.analyse(JavaSquidSensor.java:82

I'm running Sonar as a service and I restarted it thinking it would pick up the new plugin but it hasn't.

How do I restart Sonar properly in order for it to pick up the file changes?

3

There are 3 answers

0
Qualilogy On

I suppose you are running SonarQube under Windows.

Are you able to launch SonarQube as a service, from the Windows Services screen? If yes, are you able to open Sonar dashboard (without launching any analysis) and have the SonarQube service still up?

0
Fabrice - SonarSource Team On

The error that you can read in SonarQube logs is clear:

Address already in use: bind

Please read my answer on Upgrade SonarQube issues to know what happens and what to do.

0
Nijisha Kg On

Elastic search is not stopped properly. you can remove the process running the port 9001 and try to start sonar again. it will work. to kill the process on 9001 you can try the following command. sudo lsof -t -i:9001 --- it will list all the process running on the port 9001. then you can try **sudo kill sudo lsof -t -i:9001** ---this command will kill all the process on 9001.