Wrapper stopped - Can't make SonarQube Sql Server integration work on Win10

Hello,

I’ve been trying to install sonarqube on my laptop and make it work with sql server on windows 10, but I keep getting this error

jvm 1 | 2021.01.31 01:16:49 INFO app[o.s.a.SchedulerImpl] Process[web] is stopped
jvm 1 | 2021.01.31 01:16:49 INFO app[o.s.a.SchedulerImpl] Process[es] is stopped
jvm 1 | 2021.01.31 01:16:49 INFO app[o.s.a.SchedulerImpl] SonarQube is stopped
wrapper | ← Wrapper Stopped

When I look at the logs, it says “Failed to initialize connector [Connector[HTTP/1.1-8080]]”
I’ve tried to change the ports to see if it would help but no success.

I’m running Sonarqube 8.6 community edition, sqlserver express 2017, java 11
Here are the logs (web and es) and the conf and properties files (I changed to txt so I could upload them here).
es.log (24.0 KB) web.log (11.7 KB) sonarproperties.txt (20.1 KB) wrapperconf.txt (3.2 KB)

Can someone shed a light on this, please? I read a lot but nothing worked so far.

Thanks!

Hi @karen_carvalho ,

i can see from the log that you already tried to change the web port to another value. sadly all values you have tried so far are already blocked. maybe i can give you some more insights why this is the case:

  • 80: standard webserver http port (maybe you have a webserver running on your system?)
  • 9000: standard port of sonarqube but also of some other windows related tooling.
  • 8080: alternative http port. often used by applications that want to run with lower privileges and still expose http

you can check all ports that are already allocated using:

netstat -ab

in windows cmd.

hope that helps you to select a port that is not yet blocked (try 9100 :wink: )

Hi @Tobias_Trabelsi ,

I’ve tried changing to several other ports but nothing worked. This problem could be caused by anything else or is this the only cause?

Thanks again!

did you check for ports that are already allocated?

Hi @Tobias_Trabelsi ,

I did and none of the ports I tried were in use. Some of these ports were 65000, 5000…
Here’s what netstat returned:

netstat.txt (14.3 KB)

I have another webserver running here and I tried to run sonar when this other one was running, to check what was gonna happen. Well, they clashed, of course (es.log below):

2021.02.01 09:18:54 INFO es[o.e.n.Node] version[7.9.3], pid[19440], build[unknown/unknown/c4138e51121ef06a6404866cddc601906fe5c868/2020-10-16T10:36:16.141335Z], OS[Windows 10/10.0/amd64], JVM[Oracle Corporation/Java HotSpot™ 64-Bit Server VM/11.0.9/11.0.9+7-LTS]
2021.02.01 09:18:54 INFO es[o.e.n.Node] JVM home [C:\Program Files\Java\jdk-11.0.9]
2021.02.01 09:18:54 INFO es[o.e.n.Node] JVM arguments [-XX:+UseConcMarkSweepGC, -XX:CMSInitiatingOccupancyFraction=75, -XX:+UseCMSInitiatingOccupancyOnly, -Djava.io.tmpdir=C:\Program Files\sonarqube-8.6.0.39681\temp, -XX:ErrorFile=…/logs/es_hs_err_pid%p.log, -Des.networkaddress.cache.ttl=60, -Des.networkaddress.cache.negative.ttl=10, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djna.nosys=true, -XX:-OmitStackTraceInFastThrow, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=0, -Dio.netty.allocator.numDirectArenas=0, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -Djava.locale.providers=COMPAT, -Des.enforce.bootstrap.checks=true, -Xmx512m, -Xms512m, -XX:MaxDirectMemorySize=256m, -XX:+HeapDumpOnOutOfMemoryError, -Delasticsearch, -Des.path.home=C:\Program Files\sonarqube-8.6.0.39681\elasticsearch, -Des.path.conf=C:\Program Files\sonarqube-8.6.0.39681\temp\conf\es]
2021.02.01 09:18:55 INFO es[o.e.p.PluginsService] loaded module [analysis-common]
2021.02.01 09:18:55 INFO es[o.e.p.PluginsService] loaded module [lang-painless]
2021.02.01 09:18:55 INFO es[o.e.p.PluginsService] loaded module [parent-join]
2021.02.01 09:18:55 INFO es[o.e.p.PluginsService] loaded module [percolator]
2021.02.01 09:18:55 INFO es[o.e.p.PluginsService] loaded module [transport-netty4]
2021.02.01 09:18:55 INFO es[o.e.p.PluginsService] no plugins loaded
2021.02.01 09:18:55 INFO es[o.e.e.NodeEnvironment] using [1] data paths, mounts [[Windows (C:)]], net usable_space [351.3gb], net total_space [475.6gb], types [NTFS]
2021.02.01 09:18:55 INFO es[o.e.e.NodeEnvironment] heap size [494.9mb], compressed ordinary object pointers [true]
2021.02.01 09:18:55 WARN es[o.e.d.c.s.Settings] [node.master] setting was deprecated in Elasticsearch and will be removed in a future release! See the breaking changes documentation for the next major version.
2021.02.01 09:18:55 WARN es[o.e.d.c.s.Settings] [node.data] setting was deprecated in Elasticsearch and will be removed in a future release! See the breaking changes documentation for the next major version.
2021.02.01 09:18:55 INFO es[o.e.n.Node] node name [sonarqube], node ID [qIakwEK7RQeqOewlPeQk7A], cluster name [sonarqube]
2021.02.01 09:18:57 WARN es[o.e.d.c.r.OperationRouting] searches will not be routed based on awareness attributes starting in version 8.0.0; to opt into this behaviour now please set the system property [es.search.ignore_awareness_attributes] to [true]
2021.02.01 09:18:58 INFO es[o.e.t.NettyAllocator] creating NettyAllocator with the following configs: [name=unpooled, factors={es.unsafe.use_unpooled_allocator=false, g1gc_enabled=false, g1gc_region_size=0b, heap_size=494.9mb}]
2021.02.01 09:18:58 INFO es[o.e.d.DiscoveryModule] using discovery type [zen] and seed hosts providers [settings]
2021.02.01 09:18:58 WARN es[o.e.g.DanglingIndicesState] gateway.auto_import_dangling_indices is disabled, dangling indices will not be automatically detected or imported and must be managed manually
2021.02.01 09:18:58 INFO es[o.e.n.Node] initialized
2021.02.01 09:18:58 INFO es[o.e.n.Node] starting …
2021.02.01 09:18:59 INFO es[o.e.t.TransportService] publish_address {127.0.0.1:50046}, bound_addresses {127.0.0.1:50046}
2021.02.01 09:18:59 INFO es[o.e.b.BootstrapChecks] explicitly enforcing bootstrap checks
2021.02.01 09:18:59 INFO es[o.e.c.c.Coordinator] cluster UUID [6Qgb2xG-QZqsVm6HoJ91uw]
2021.02.01 09:18:59 INFO es[o.e.c.s.MasterService] elected-as-master ([1] nodes joined)[{sonarqube}{qIakwEK7RQeqOewlPeQk7A}{k3nMZMTOSI2SVICsdbKpaw}{127.0.0.1}{127.0.0.1:50046}{dimr}{rack_id=sonarqube} elect leader, BECOME_MASTER_TASK, FINISH_ELECTION], term: 34, version: 67, delta: master node changed {previous , current [{sonarqube}{qIakwEK7RQeqOewlPeQk7A}{k3nMZMTOSI2SVICsdbKpaw}{127.0.0.1}{127.0.0.1:50046}{dimr}{rack_id=sonarqube}]}
2021.02.01 09:18:59 INFO es[o.e.c.s.ClusterApplierService] master node changed {previous , current [{sonarqube}{qIakwEK7RQeqOewlPeQk7A}{k3nMZMTOSI2SVICsdbKpaw}{127.0.0.1}{127.0.0.1:50046}{dimr}{rack_id=sonarqube}]}, term: 34, version: 67, reason: Publication{term=34, version=67}
2021.02.01 09:18:59 ERROR es[o.e.b.Bootstrap] Exception
org.elasticsearch.http.BindHttpException: Failed to bind to 127.0.0.1:9001
at org.elasticsearch.http.AbstractHttpServerTransport.bindAddress(AbstractHttpServerTransport.java:183) ~[elasticsearch-7.9.3.jar:7.9.3]
at org.elasticsearch.http.AbstractHttpServerTransport.bindServer(AbstractHttpServerTransport.java:148) ~[elasticsearch-7.9.3.jar:7.9.3]
at org.elasticsearch.http.netty4.Netty4HttpServerTransport.doStart(Netty4HttpServerTransport.java:243) ~[?:?]
at org.elasticsearch.common.component.AbstractLifecycleComponent.start(AbstractLifecycleComponent.java:59) ~[elasticsearch-7.9.3.jar:7.9.3]
at org.elasticsearch.node.Node.start(Node.java:857) ~[elasticsearch-7.9.3.jar:7.9.3]
at org.elasticsearch.bootstrap.Bootstrap.start(Bootstrap.java:317) ~[elasticsearch-7.9.3.jar:7.9.3]
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:402) [elasticsearch-7.9.3.jar:7.9.3]
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:170) [elasticsearch-7.9.3.jar:7.9.3]
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:161) [elasticsearch-7.9.3.jar:7.9.3]
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) [elasticsearch-7.9.3.jar:7.9.3]
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:127) [elasticsearch-cli-7.9.3.jar:7.9.3]
at org.elasticsearch.cli.Command.main(Command.java:90) [elasticsearch-cli-7.9.3.jar:7.9.3]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:126) [elasticsearch-7.9.3.jar:7.9.3]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:92) [elasticsearch-7.9.3.jar:7.9.3]
Caused by: java.net.BindException: Address already in use: bind
at sun.nio.ch.Net.bind0(Native Method) ~[?:?]
at sun.nio.ch.Net.bind(Net.java:461) ~[?:?]
at sun.nio.ch.Net.bind(Net.java:453) ~[?:?]
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:227) ~[?:?]
at io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java:134) ~[?:?]
at io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.java:550) ~[?:?]
at io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.java:1334) ~[?:?]
at io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:506) ~[?:?]
at io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.java:491) ~[?:?]
at io.netty.channel.DefaultChannelPipeline.bind(DefaultChannelPipeline.java:973) ~[?:?]
at io.netty.channel.AbstractChannel.bind(AbstractChannel.java:248) ~[?:?]
at io.netty.bootstrap.AbstractBootstrap$2.run(AbstractBootstrap.java:356) ~[?:?]
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164) ~[?:?]
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472) ~[?:?]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500) ~[?:?]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) ~[?:?]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[?:?]
at java.lang.Thread.run(Thread.java:834) ~[?:?]
2021.02.01 09:18:59 ERROR es[o.e.b.ElasticsearchUncaughtExceptionHandler] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: BindHttpException[Failed to bind to 127.0.0.1:9001]; nested: BindException[Address already in use: bind];
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:174) ~[elasticsearch-7.9.3.jar:7.9.3]
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:161) ~[elasticsearch-7.9.3.jar:7.9.3]
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-7.9.3.jar:7.9.3]
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:127) ~[elasticsearch-cli-7.9.3.jar:7.9.3]
at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-7.9.3.jar:7.9.3]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:126) ~[elasticsearch-7.9.3.jar:7.9.3]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:92) ~[elasticsearch-7.9.3.jar:7.9.3]
Caused by: org.elasticsearch.http.BindHttpException: Failed to bind to 127.0.0.1:9001
at org.elasticsearch.http.AbstractHttpServerTransport.bindAddress(AbstractHttpServerTransport.java:183) ~[elasticsearch-7.9.3.jar:7.9.3]
at org.elasticsearch.http.AbstractHttpServerTransport.bindServer(AbstractHttpServerTransport.java:148) ~[elasticsearch-7.9.3.jar:7.9.3]
at org.elasticsearch.http.netty4.Netty4HttpServerTransport.doStart(Netty4HttpServerTransport.java:243) ~[?:?]
at org.elasticsearch.common.component.AbstractLifecycleComponent.start(AbstractLifecycleComponent.java:59) ~[elasticsearch-7.9.3.jar:7.9.3]
at org.elasticsearch.node.Node.start(Node.java:857) ~[elasticsearch-7.9.3.jar:7.9.3]
at org.elasticsearch.bootstrap.Bootstrap.start(Bootstrap.java:317) ~[elasticsearch-7.9.3.jar:7.9.3]
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:402) ~[elasticsearch-7.9.3.jar:7.9.3]
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:170) ~[elasticsearch-7.9.3.jar:7.9.3]
… 6 more
Caused by: java.net.BindException: Address already in use: bind
at sun.nio.ch.Net.bind0(Native Method) ~[?:?]
at sun.nio.ch.Net.bind(Net.java:461) ~[?:?]
at sun.nio.ch.Net.bind(Net.java:453) ~[?:?]
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:227) ~[?:?]
at io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java:134) ~[?:?]
at io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.java:550) ~[?:?]
at io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.java:1334) ~[?:?]
at io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:506) ~[?:?]
at io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.java:491) ~[?:?]
at io.netty.channel.DefaultChannelPipeline.bind(DefaultChannelPipeline.java:973) ~[?:?]
at io.netty.channel.AbstractChannel.bind(AbstractChannel.java:248) ~[?:?]
at io.netty.bootstrap.AbstractBootstrap$2.run(AbstractBootstrap.java:356) ~[?:?]
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164) ~[?:?]
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472) ~[?:?]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500) ~[?:?]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) ~[?:?]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[?:?]
at java.lang.Thread.run(Thread.java:834) [?:?]
2021.02.01 09:18:59 INFO es[o.e.n.Node] stopping …
2021.02.01 09:18:59 INFO es[o.e.g.GatewayService] recovered [0] indices into cluster_state
2021.02.01 09:18:59 INFO es[o.e.n.Node] stopped
2021.02.01 09:18:59 INFO es[o.e.n.Node] closing …
2021.02.01 09:18:59 INFO es[o.e.n.Node] closed

The web log didn’t log anything because the process stopped before it could get there.

Hmm this is very odd. i can see from the netstat output that you have some security software running on your system (Code42Service) that could block the allocation of new ports from unknown software. i assume you can not deactivate these right?
Maybe it would be a good idea to shift the installation in a fresh VM (windows/linux) and try without interference from these programs.

btw: you can have more than one sonarqube instance running on the same machine when they are connected to separate databases and there is no collision on sonar.web.port and sonar.search.port.

Hmm, ok, I’ll try setting up a VM here and see where it goes.

Thanks!