Pull request decoration did not happen SQ 7.8 Enterprise

Hello,
we are evalating sonarqube 7.8 enterprise version, with bitbucket.

mvn sonar:sonar
-Dsonar.pullrequest.branch=bugfix/test
-Dsonar.pullrequest.base=develop
-Dsonar.pullrequest.key=22

Whan doing PR sonar analysis i get this message
2019.08.28 16:39:01 WARN ce[AWzYqkKUQbjE7iKviEDl][c.s.C.C.A.G] Pull request decoration did not happen. Failed to access Bitbucket Server, the repository or the pull request: Unable to contact Bitbucket server

Bitbucket server i setup in admin/config
and bitbucket Keu and repo and token is configured in the project admin/config

Upload to sonarqube looks good, in buildserver logs.
Regards
/Anders

1 Like

I would like to know the answer aswell as I am in the same boat with this error

I can’t see we have certificate issue between, sonar and bitbucket server.
We use Bitbucket datacenter.
and i have verified that with ncat -v host 443 and
I have also tested with sslpoke sonar > bb server and it works

I have started the sonarserver with debug flag, know i get this in ce.log
Starting to be pretty annoying since we can proceed with our PoC of the enterprise version.

2019.09.05 16:05:45 WARN  ce[AW0BvsnGdBJKn41qdbEb][c.s.C.C.A.G] Pull request decoration did not happen. Failed to access Bitbucket Server, the repository or the pull request
java.lang.IllegalStateException: Unable to contact Bitbucket server
        at com.sonarsource.C.C.A.A.C.A(Unknown Source)
        at com.sonarsource.C.C.A.A.C.A(Unknown Source)
        at com.sonarsource.C.C.A.A.C.A(Unknown Source)
        at com.sonarsource.C.C.A.G.A(Unknown Source)
        at com.sonarsource.C.C.A.G.A(Unknown Source)
        at com.sonarsource.C.C.A.C.A(Unknown Source)
        at com.sonarsource.C.C.Z.A(Unknown Source)
        at java.base/java.util.Optional.ifPresent(Optional.java:183)
        at com.sonarsource.C.C.Z.B(Unknown Source)
        at com.sonarsource.C.C.Z.A(Unknown Source)
        at org.sonar.ce.async.SynchronousAsyncExecution.addToQueue(SynchronousAsyncExecution.java:27)
        at com.sonarsource.C.C.Z.A(Unknown Source)
        at java.base/java.util.Optional.ifPresent(Optional.java:183)
        at com.sonarsource.C.C.Z.finished(Unknown Source)
        at org.sonar.ce.task.projectanalysis.api.posttask.PostProjectAnalysisTasksExecutor.executeTask(PostProjectAnalysisTasksExecutor.java:113)
        at org.sonar.ce.task.projectanalysis.api.posttask.PostProjectAnalysisTasksExecutor.finished(PostProjectAnalysisTasksExecutor.java:107)
        at org.sonar.ce.task.step.ComputationStepExecutor.executeListener(ComputationStepExecutor.java:91)
        at org.sonar.ce.task.step.ComputationStepExecutor.execute(ComputationStepExecutor.java:63)
        at org.sonar.ce.task.projectanalysis.taskprocessor.ReportTaskProcessor.process(ReportTaskProcessor.java:81)
        at org.sonar.ce.taskprocessor.CeWorkerImpl$ExecuteTask.executeTask(CeWorkerImpl.java:207)
        at org.sonar.ce.taskprocessor.CeWorkerImpl$ExecuteTask.run(CeWorkerImpl.java:189)
        at org.sonar.ce.taskprocessor.CeWorkerImpl.findAndProcessTask(CeWorkerImpl.java:156)
        at org.sonar.ce.taskprocessor.CeWorkerImpl$TrackRunningState.get(CeWorkerImpl.java:131)
        at org.sonar.ce.taskprocessor.CeWorkerImpl.call(CeWorkerImpl.java:83)
        at org.sonar.ce.taskprocessor.CeWorkerImpl.call(CeWorkerImpl.java:51)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: javax.net.ssl.SSLProtocolException: Connection reset
        at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:126)
        at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:321)
        at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:264)
        at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:259)
        at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:137)
        at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1152)
        at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1063)
        at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:402)
        at okhttp3.internal.connection.RealConnection.connectTls(RealConnection.java:336)
        at okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.java:300)
        at okhttp3.internal.connection.RealConnection.connect(RealConnection.java:185)
        at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.java:224)
        at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.java:107)
        at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.java:87)
        at okhttp3.internal.connection.Transmitter.newExchange(Transmitter.java:162)
        at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:41)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117)
        at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:94)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117)
        at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
        at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:88)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117)
        at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:221)
        at okhttp3.RealCall.execute(RealCall.java:81)
        ... 32 common frames omitted
Caused by: java.net.SocketException: Connection reset
        at java.base/java.net.SocketInputStream.read(SocketInputStream.java:186)
        at java.base/java.net.SocketInputStream.read(SocketInputStream.java:140)
        at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:448)
        at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:165)
        at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:108)
        ... 55 common frames omitted
2019.09.05 16:05:45 INFO  ce[AW0BvsnGdBJKn41qdbEb][o.s.c.t.CeWorkerImpl] Executed task |

Hi,

We will investigate on our side if we have an issue.
In the meantime, could you activate additional logs in your sonar.properties and send them to us please ?
(-Djavax.net.debug=all for the prop sonar.ce.javaAdditionalOpts)

Thanks,

Hello,
i have change some things so now sslpoke works from bitbucket haproxy to sonar server. The other way works to since before.
But question is if PR decoration is supported to Bitbucket datacenter ?

this is fron sonar.log

Worker 0 (UUID=AW3UJQ5u9PIgccNuEycv) on ce-worker-8, handling exception: java.net.SocketException: Connection reset
Worker 0 (UUID=AW3UJQ5u9PIgccNuEycv) on ce-worker-8, SEND TLSv1.2 ALERT:  fatal, description = unexpected_message
Worker 0 (UUID=AW3UJQ5u9PIgccNuEycv) on ce-worker-8, WRITE: TLSv1.2 Alert, length = 2
Worker 0 (UUID=AW3UJQ5u9PIgccNuEycv) on ce-worker-8, Exception sending alert: java.net.SocketException: Broken pipe (Write failed)
Worker 0 (UUID=AW3UJQ5u9PIgccNuEycv) on ce-worker-8, called closeSocket()
Worker 0 (UUID=AW3UJQ5u9PIgccNuEycv) on ce-worker-8, called close()

in the ce.log we get:

java.lang.IllegalStateException: Unable to contact Bitbucket server
        at com.sonarsource.C.C.A.A.C.A(Unknown Source)
        at com.sonarsource.C.C.A.A.C.A(Unknown Source)
        at com.sonarsource.C.C.A.A.C.A(Unknown Source)
        at com.sonarsource.C.C.A.G.A(Unknown Source)
        at com.sonarsource.C.C.A.G.A(Unknown Source)
        at com.sonarsource.C.C.A.C.A(Unknown Source)
        at com.sonarsource.C.C.Z.A(Unknown Source)
        at java.util.Optional.ifPresent(Optional.java:159)
        at com.sonarsource.C.C.Z.B(Unknown Source)
        at com.sonarsource.C.C.Z.A(Unknown Source)
        at org.sonar.ce.async.SynchronousAsyncExecution.addToQueue(SynchronousAsyncExecution.java:27)
        at com.sonarsource.C.C.Z.A(Unknown Source)
        at java.util.Optional.ifPresent(Optional.java:159)
        at com.sonarsource.C.C.Z.finished(Unknown Source)
        at org.sonar.ce.task.projectanalysis.api.posttask.PostProjectAnalysisTasksExecutor.executeTask(PostProjectAnalysisTasksExecutor.java:113)
        at org.sonar.ce.task.projectanalysis.api.posttask.PostProjectAnalysisTasksExecutor.finished(PostProjectAnalysisTasksExecutor.java:107)
        at org.sonar.ce.task.step.ComputationStepExecutor.executeListener(ComputationStepExecutor.java:91)
        at org.sonar.ce.task.step.ComputationStepExecutor.execute(ComputationStepExecutor.java:63)
        at org.sonar.ce.task.projectanalysis.taskprocessor.ReportTaskProcessor.process(ReportTaskProcessor.java:81)
        at org.sonar.ce.taskprocessor.CeWorkerImpl$ExecuteTask.executeTask(CeWorkerImpl.java:207)
        at org.sonar.ce.taskprocessor.CeWorkerImpl$ExecuteTask.run(CeWorkerImpl.java:189)
        at org.sonar.ce.taskprocessor.CeWorkerImpl.findAndProcessTask(CeWorkerImpl.java:156)
        at org.sonar.ce.taskprocessor.CeWorkerImpl$TrackRunningState.get(CeWorkerImpl.java:131)
        at org.sonar.ce.taskprocessor.CeWorkerImpl.call(CeWorkerImpl.java:83)
        at org.sonar.ce.taskprocessor.CeWorkerImpl.call(CeWorkerImpl.java:51)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.net.SocketException: Connection reset
        at java.net.SocketInputStream.read(SocketInputStream.java:210)
        at java.net.SocketInputStream.read(SocketInputStream.java:141)
        at sun.security.ssl.InputRecord.readFully(InputRecord.java:465)
        at sun.security.ssl.InputRecord.read(InputRecord.java:503)
        at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:975)
        at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1367)
        at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1395)
        at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1379)
        at okhttp3.internal.connection.RealConnection.connectTls(RealConnection.java:336)
        at okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.java:300)
        at okhttp3.internal.connection.RealConnection.connect(RealConnection.java:185)
        at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.java:224)
        at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.java:107)
        at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.java:87)
        at okhttp3.internal.connection.Transmitter.newExchange(Transmitter.java:162)
        at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:41)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117)
        at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:94)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117)
        at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
        at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:88)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117)
        at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:221)
        at okhttp3.RealCall.execute(RealCall.java:81)
        ... 33 common frames omitted

i can do openssl s_client -connect haproxy:443 -servername haproxy
but PR still fails.

The problem was that servername for bitbucket ha proxy was not present in the bitbucket git server cert.

3 Likes