Skip to content
This repository has been archived by the owner on Jun 2, 2021. It is now read-only.

BuildBreaker Version 2.2 *NOT* working with SonarQube 7.7 #44

Closed
rubensgomes opened this issue Mar 27, 2019 · 14 comments
Closed

BuildBreaker Version 2.2 *NOT* working with SonarQube 7.7 #44

rubensgomes opened this issue Mar 27, 2019 · 14 comments
Assignees
Milestone

Comments

@rubensgomes
Copy link

After installing the buildbreaker plugin version 2.2 on SonarQube 7.7 I see the following errors in the SonarQube "web.log" file:

2019.03.27 12:43:28 INFO web[][o.s.p.ProcessEntryPoint] Starting web
2019.03.27 12:43:29 INFO web[][o.a.t.u.n.NioSelectorPool] Using a shared selector for servlet write/read
2019.03.27 12:43:31 INFO web[][o.e.p.PluginsService] no modules loaded
2019.03.27 12:43:31 INFO web[][o.e.p.PluginsService] loaded plugin [org.elasticsearch.join.ParentJoinPlugin]
2019.03.27 12:43:31 INFO web[][o.e.p.PluginsService] loaded plugin [org.elasticsearch.percolator.PercolatorPlugin]
2019.03.27 12:43:31 INFO web[][o.e.p.PluginsService] loaded plugin [org.elasticsearch.transport.Netty4Plugin]
2019.03.27 12:43:31 DEBUG web[][i.n.u.i.PlatformDependent0] -Dio.netty.noUnsafe: false
2019.03.27 12:43:31 DEBUG web[][i.n.u.i.PlatformDependent0] Java version: 8
2019.03.27 12:43:31 DEBUG web[][i.n.u.i.PlatformDependent0] sun.misc.Unsafe.theUnsafe: available
2019.03.27 12:43:31 DEBUG web[][i.n.u.i.PlatformDependent0] sun.misc.Unsafe.copyMemory: available
2019.03.27 12:43:31 DEBUG web[][i.n.u.i.PlatformDependent0] java.nio.Buffer.address: available
2019.03.27 12:43:31 DEBUG web[][i.n.u.i.PlatformDependent0] direct buffer constructor: available
2019.03.27 12:43:31 DEBUG web[][i.n.u.i.PlatformDependent0] java.nio.Bits.unaligned: available, true
2019.03.27 12:43:31 DEBUG web[][i.n.u.i.PlatformDependent0] jdk.internal.misc.Unsafe.allocateUninitializedArray(int): unavailable prior to Java9
2019.03.27 12:43:31 DEBUG web[][i.n.u.i.PlatformDependent0] java.nio.DirectByteBuffer.(long, int): available
2019.03.27 12:43:31 DEBUG web[][i.n.u.i.PlatformDependent] sun.misc.Unsafe: available
2019.03.27 12:43:31 DEBUG web[][i.n.u.i.PlatformDependent] -Dio.netty.tmpdir: /opt/sonarqube-7.7/temp (java.io.tmpdir)
2019.03.27 12:43:31 DEBUG web[][i.n.u.i.PlatformDependent] -Dio.netty.bitMode: 64 (sun.arch.data.model)
2019.03.27 12:43:31 DEBUG web[][i.n.u.i.PlatformDependent] -Dio.netty.maxDirectMemory: 891289600 bytes
2019.03.27 12:43:31 DEBUG web[][i.n.u.i.PlatformDependent] -Dio.netty.uninitializedArrayAllocationThreshold: -1
2019.03.27 12:43:31 DEBUG web[][i.n.u.i.CleanerJava6] java.nio.ByteBuffer.cleaner(): available
2019.03.27 12:43:31 DEBUG web[][i.n.u.i.PlatformDependent] -Dio.netty.noPreferDirect: false
2019.03.27 12:43:32 DEBUG web[][i.n.c.MultithreadEventLoopGroup] -Dio.netty.eventLoopThreads: 4
2019.03.27 12:43:32 DEBUG web[][i.n.c.n.NioEventLoop] -Dio.netty.noKeySetOptimization: false
2019.03.27 12:43:32 DEBUG web[][i.n.c.n.NioEventLoop] -Dio.netty.selectorAutoRebuildThreshold: 512
2019.03.27 12:43:32 DEBUG web[][i.n.u.i.PlatformDependent] org.jctools-core.MpscChunkedArrayQueue: available
2019.03.27 12:43:32 DEBUG web[][i.n.c.DefaultChannelId] -Dio.netty.processId: 2682 (auto-detected)
2019.03.27 12:43:32 DEBUG web[][i.netty.util.NetUtil] -Djava.net.preferIPv4Stack: false
2019.03.27 12:43:32 DEBUG web[][i.netty.util.NetUtil] -Djava.net.preferIPv6Addresses: false
2019.03.27 12:43:32 DEBUG web[][i.netty.util.NetUtil] Loopback interface: lo (lo, 127.0.0.1)
2019.03.27 12:43:32 DEBUG web[][i.netty.util.NetUtil] /proc/sys/net/core/somaxconn: 128
2019.03.27 12:43:32 DEBUG web[][i.n.c.DefaultChannelId] -Dio.netty.machineId: 00:50:56:ff:fe:b8:33:36 (auto-detected)
2019.03.27 12:43:32 DEBUG web[][i.n.u.i.InternalThreadLocalMap] -Dio.netty.threadLocalMap.stringBuilder.initialSize: 1024
2019.03.27 12:43:32 DEBUG web[][i.n.u.i.InternalThreadLocalMap] -Dio.netty.threadLocalMap.stringBuilder.maxSize: 4096
2019.03.27 12:43:32 DEBUG web[][i.n.u.ResourceLeakDetector] -Dio.netty.leakDetection.level: simple
2019.03.27 12:43:32 DEBUG web[][i.n.u.ResourceLeakDetector] -Dio.netty.leakDetection.targetRecords: 4
2019.03.27 12:43:32 DEBUG web[][i.n.b.PooledByteBufAllocator] -Dio.netty.allocator.numHeapArenas: 4
2019.03.27 12:43:32 DEBUG web[][i.n.b.PooledByteBufAllocator] -Dio.netty.allocator.numDirectArenas: 4
2019.03.27 12:43:32 DEBUG web[][i.n.b.PooledByteBufAllocator] -Dio.netty.allocator.pageSize: 8192
2019.03.27 12:43:32 DEBUG web[][i.n.b.PooledByteBufAllocator] -Dio.netty.allocator.maxOrder: 11
2019.03.27 12:43:32 DEBUG web[][i.n.b.PooledByteBufAllocator] -Dio.netty.allocator.chunkSize: 16777216
2019.03.27 12:43:32 DEBUG web[][i.n.b.PooledByteBufAllocator] -Dio.netty.allocator.tinyCacheSize: 512
2019.03.27 12:43:32 DEBUG web[][i.n.b.PooledByteBufAllocator] -Dio.netty.allocator.smallCacheSize: 256
2019.03.27 12:43:32 DEBUG web[][i.n.b.PooledByteBufAllocator] -Dio.netty.allocator.normalCacheSize: 64
2019.03.27 12:43:32 DEBUG web[][i.n.b.PooledByteBufAllocator] -Dio.netty.allocator.maxCachedBufferCapacity: 32768
2019.03.27 12:43:32 DEBUG web[][i.n.b.PooledByteBufAllocator] -Dio.netty.allocator.cacheTrimInterval: 8192
2019.03.27 12:43:32 DEBUG web[][i.n.b.PooledByteBufAllocator] -Dio.netty.allocator.useCacheForAllThreads: true
2019.03.27 12:43:32 DEBUG web[][i.n.b.ByteBufUtil] -Dio.netty.allocator.type: pooled
2019.03.27 12:43:32 DEBUG web[][i.n.b.ByteBufUtil] -Dio.netty.threadLocalDirectBufferSize: 0
2019.03.27 12:43:32 DEBUG web[][i.n.b.ByteBufUtil] -Dio.netty.maxThreadLocalCharBufferSize: 16384
2019.03.27 12:43:32 DEBUG web[][i.n.b.AbstractByteBuf] -Dio.netty.buffer.checkAccessible: true
2019.03.27 12:43:32 DEBUG web[][i.n.b.AbstractByteBuf] -Dio.netty.buffer.checkBounds: true
2019.03.27 12:43:32 DEBUG web[][i.n.u.ResourceLeakDetectorFactory] Loaded default ResourceLeakDetector: io.netty.util.ResourceLeakDetector@394de9e8
2019.03.27 12:43:32 DEBUG web[][i.n.util.Recycler] -Dio.netty.recycler.maxCapacityPerThread: 4096
2019.03.27 12:43:32 DEBUG web[][i.n.util.Recycler] -Dio.netty.recycler.maxSharedCapacityFactor: 2
2019.03.27 12:43:32 DEBUG web[][i.n.util.Recycler] -Dio.netty.recycler.linkCapacity: 16
2019.03.27 12:43:32 DEBUG web[][i.n.util.Recycler] -Dio.netty.recycler.ratio: 8
2019.03.27 12:43:32 INFO web[][o.s.s.e.EsClientProvider] Connected to local Elasticsearch: [127.0.0.1:9001]
2019.03.27 12:43:32 INFO web[][o.s.s.p.LogServerVersion] SonarQube Server / 7.7.0.23042 / 1dcac8b8de36b377a1810cc8f1c4c31744e12729
2019.03.27 12:43:32 INFO web[][o.sonar.db.Database] Create JDBC data source for jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStat ements=true&useConfigs=maxPerformance&useSSL=false
2019.03.27 12:43:32 WARN web[][o.s.db.dialect.MySql] MySQL support is deprecated and will be dropped soon.
2019.03.27 12:43:34 INFO web[][o.s.s.p.ServerFileSystemImpl] SonarQube home: /opt/sonarqube-7.7
2019.03.27 12:43:34 INFO web[][o.s.s.u.SystemPasscodeImpl] System authentication by passcode is disabled
2019.03.27 12:43:35 INFO web[][o.s.s.p.ServerPluginRepository] Deploy plugin Build Breaker / 2.2 / 641556a
2019.03.27 12:43:35 INFO web[][o.s.s.p.ServerPluginRepository] Deploy plugin Git / 1.8.0.1574 / aec3dc8f5228aabd218e1cd31ac6e6515a43715d
2019.03.27 12:43:35 INFO web[][o.s.s.p.ServerPluginRepository] Deploy plugin JaCoCo / 1.0.1.143 / 65c55e41e32c114704fd597ccea91fc55becb4ec
2019.03.27 12:43:35 INFO web[][o.s.s.p.ServerPluginRepository] Deploy plugin SonarCSS / 1.0.3.724 / 3ad5232345519caed38a24c70fb77e91757833bf
2019.03.27 12:43:35 INFO web[][o.s.s.p.ServerPluginRepository] Deploy plugin SonarHTML / 3.1.0.1615 / 4181edb5eff5605bec82dc0aa15ecd70eaa5857f
2019.03.27 12:43:35 INFO web[][o.s.s.p.ServerPluginRepository] Deploy plugin SonarJS / 5.1.1.7506 / 7537ba97d4de0e1dbc862ddff9fadaed8cc02127
2019.03.27 12:43:35 INFO web[][o.s.s.p.ServerPluginRepository] Deploy plugin SonarJava / 5.11.0.17289 / af4a10d32a35370facd63e239fd8d452d981798a
2019.03.27 12:43:35 INFO web[][o.s.s.p.ServerPluginRepository] Deploy plugin SonarTS / 1.9.0.3766 / 4a4080b78001a78d758d1d0fa0190fb9496b6f57
2019.03.27 12:43:35 INFO web[][o.s.s.p.ServerPluginRepository] Deploy plugin SonarXML / 2.0.1.2020 / c5b84004face582d56f110e24c29bf9c6a679e69
2019.03.27 12:43:35 DEBUG web[][o.s.c.i.DefaultI18n] Loaded 2526 properties from l10n bundles
2019.03.27 12:43:35 INFO web[][o.s.s.p.w.MasterServletFilter] Initializing servlet filter org.sonar.server.ws.WebServiceFilter@358107d6 [pattern=UrlPattern{inclusions=[/api/system/migrate_db., ...], exclusions=[/api/properties, ...]}]
2019.03.27 12:43:35 DEBUG web[][o.s.s.a.TomcatAccessLog] Tomcat is started
2019.03.27 12:43:35 INFO web[][o.s.s.a.EmbeddedTomcat] HTTP connector enabled on port 9000
2019.03.27 12:43:37 ERROR web[][o.s.s.p.Platform] Background initialization failed. Stopping SonarQube
java.lang.IllegalStateException: Fail to load plugin Build Breaker [buildbreaker]
at org.sonar.server.plugins.ServerExtensionInstaller.installExtensions(ServerExtensionInstaller.java:82)
at org.sonar.server.platform.platformlevel.PlatformLevel4.start(PlatformLevel4.java:571)
at org.sonar.server.platform.Platform.start(Platform.java:211)
at org.sonar.server.platform.Platform.startLevel34Containers(Platform.java:185)
at org.sonar.server.platform.Platform.access$500(Platform.java:46)
at org.sonar.server.platform.Platform$1.lambda$doRun$0(Platform.java:119)
at org.sonar.server.platform.Platform$AutoStarterRunnable.runIfNotAborted(Platform.java:371)
at org.sonar.server.platform.Platform$1.doRun(Platform.java:119)
at org.sonar.server.platform.Platform$AutoStarterRunnable.run(Platform.java:355)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NoClassDefFoundError: org/sonar/api/batch/CheckProject
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at org.sonar.classloader.ClassRealm.loadClassFromSelf(ClassRealm.java:125)
at org.sonar.classloader.ParentFirstStrategy.loadClass(ParentFirstStrategy.java:37)
at org.sonar.classloader.ClassRealm.loadClass(ClassRealm.java:87)
at org.sonar.classloader.ClassRealm.loadClass(ClassRealm.java:76)
at org.sonar.plugins.buildbreaker.BuildBreakerPlugin.getExtensions(BuildBreakerPlugin.java:56)
at org.sonar.api.SonarPlugin.define(SonarPlugin.java:51)
at org.sonar.server.plugins.ServerExtensionInstaller.installExtensions(ServerExtensionInstaller.java:72)
... 9 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.sonar.api.batch.CheckProject
at org.sonar.classloader.ParentFirstStrategy.loadClass(ParentFirstStrategy.java:39)
at org.sonar.classloader.ClassRealm.loadClass(ClassRealm.java:87)
at org.sonar.classloader.ClassRealm.loadClass(ClassRealm.java:76)
... 25 common frames omitted
2019.03.27 12:43:37 DEBUG web[][o.s.s.p.Platform] Background initialization of SonarQube done
2019.03.27 12:43:37 INFO web[][o.s.p.StopWatcher] Stopping process

@gaurav517
Copy link

I am also getting following with 7.7. Looks like it got unsupported :-(

[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.6.0.1398:sonar (default-cli) on project test-project: Unable to register extension org.sonar.plugins.buildbreaker.IssuesSeverityBreaker from plugin 'buildbreaker': Lorg/sonar/api/issue/ProjectIssues;: org.sonar.api.issue.ProjectIssues -> [Help 1]

@jclements2
Copy link

I'm seeing the same thing as well. Works fine on 7.6, but I really need a couple bug fixes for 7.6 that are in 7.7. I'm going to see if I can get a developer here to take a look at it for us.

@AxelFoleyNr1
Copy link

AxelFoleyNr1 commented May 23, 2019

I also had problems with 7.7 so I switched to the Sonarqube Jenkins Plugin. Works like a charm :) It can also break the build if issues are found

@rkrisztian
Copy link
Contributor

rkrisztian commented May 27, 2019

SonarQube 7.7 removed the preview mode feature, thus the ProjectIssues class became no longer existent after having been deprecated due to preview mode being its only purpose. Therefore the issue severity level build breaker part of the plugin has to go, in my opinion. I don't see any use for it anymore, and in publish mode, the quality gate settings can do much more than just checking for new issues. As for what will substitute preview mode in the future, that shouldn't be a concern of this plugin anymore. Just to say one example, there's the Developer edition of SonarQube with support for GitHub pull requests...

=> Thus the fix is quite trivial: take the fork for SQ 7.3 fix, remove the reference to IssuesSeverityBreaker.class in BuildBreakerPlugin.java, remove IssuesSeverityBreaker.java and IssuesSeverityBreakerTest.java, as well as update the test in BuildBreakerPluginTest.java to count the right new number of extensions.

(Update: There is also a sonar.buildbreaker.preview.issuesSeverity property that is now unnecessary.)

I tested the plugin, and it worked fine to me, i.e. the quality gate check worked for both the failing and passing cases.

Did anyone make the fix above yet? I myself aren't planning to fork the plugin.

PS.: Sadly, the Sonarqube plugin for Jenkins is not a solution for everyone...

@rkrisztian
Copy link
Contributor

We eventually decided to publicly fork the project.

=> Here is the fix (with related code cleanups and README update):

https://github.com/adnovum/sonar-build-breaker/releases/tag/v2.3

@lg2de
Copy link

lg2de commented Jun 6, 2019

Great that you take the job!!!
Did you think about to take responsibility for the original repository? I guess you can ask in the community forum.

@rkrisztian
Copy link
Contributor

@lg2de, that will be discussed with my team...

@lg2de
Copy link

lg2de commented Jul 16, 2019

@rkrisztian
Just now I tested your release with SQ 7.9.1.
It is (still) running fine.

What do you think, do you want to take ownership for this repo?
If not, I'll do - hope guys like you will help in future.

@rkrisztian
Copy link
Contributor

@lg2de , sorry for forgetting to respond. Yes, I and @sandro-h are going to look into taking ownership for the repo. And sure, you're welcome.

@lg2de
Copy link

lg2de commented Jul 16, 2019

I just want the plugin alive.
Recently I took over the SCM-TFVC plugin. Now, you can take this. ;)
In the next weeks I want to update to SQ 7.9.X, therefore I would like to have "official" plugins.

@sandro-h
Copy link
Collaborator

I've opened a thread in the community forums to ask for maintainership. Let's see how that goes.

@kkaarrss
Copy link

kkaarrss commented Jul 19, 2019

Apparently I wasted some time on another 7.9 version in the pull requests based off the previous 7.3 pull request as I hadn't seen this thread. I would have branched from the 7.7 version would I have seen it in time. Mine runs against the latest 7.9 sonar api and Java 9 which also made me upgrade to a newer version of mockito and fix unittests. And I did try to save ProjectIssues although I didn't test that yet. If the preview feature doesn´t exist anymore it´s probebly better to drop ProjectIssues.

Lets hope someone gets ownership of this project.

@sandro-h
Copy link
Collaborator

sandro-h commented Nov 15, 2019

Hey all,

I've finally been transferred mantainership of this repo. I will go through the issues and PRs regarding 7.9 compatibility and merge a fitting one.

@sandro-h sandro-h added this to the 2.3.0 milestone Nov 22, 2019
@sandro-h sandro-h self-assigned this Nov 22, 2019
@sandro-h
Copy link
Collaborator

Hey all, we now have a 2.3.0 release which supports SonarQube 7.3 - 7.9.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants