After upgrading an LTS with latest plugins i am unable to scan on centos6 and ubuntu1604 (64bit)

Hello all, i am using a (commercial) LTS sonarqube 6.7.3 (build 38370) and i simply upgraded all my plugins to latest versions.
After such operation i am unable to scan anymore on CentOS 6 and Ubuntu 16.04 (both 64bit machines). Nothing was changed on the scanning platform machines.

On CentOS i noticed that glibc 2.14 is requested by some scanning components while on that platform the latest glibc is 2.12, now i am wondering what is the purpose of an LTS if glibc version changes within upgrades? Is there a way to restore scanning on a CentOS6 platform?

On Ubuntu, on the other hand, the scanning crashes with the following stack trace (tried even upgrading previous sonar-scanner 2.6.1 with altest 3.3.0 but nothing changed)

10:55:33.411 ERROR: Error during SonarQube Scanner execution
        at com.sonar.cpp.analyzer.ClangDriver.envListToMap(
        at com.sonar.cpp.analyzer.ClangDriver.lambda$probeCompiler$6(
        at java.util.HashMap.computeIfAbsent(
        at com.sonar.cpp.analyzer.ClangDriver.probeCompiler(
        at com.sonar.cpp.analyzer.ClangDriver.onCapture(
        at com.sonar.cpp.plugin.CFamilySensor.process(
        at com.sonar.cpp.plugin.CFamilySensor.execute(
        at org.sonar.scanner.sensor.SensorWrapper.analyse(
        at org.sonar.scanner.phases.SensorsExecutor.executeSensor(
        at org.sonar.scanner.phases.SensorsExecutor.execute(
        at org.sonar.scanner.phases.SensorsExecutor.execute(
        at org.sonar.scanner.phases.AbstractPhaseExecutor.execute(
        at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(
        at org.sonar.core.platform.ComponentContainer.startComponents(
        at org.sonar.core.platform.ComponentContainer.execute(
        at org.sonar.scanner.scan.ProjectScanContainer.scan(
        at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(
        at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(
        at org.sonar.core.platform.ComponentContainer.startComponents(
        at org.sonar.core.platform.ComponentContainer.execute(
        at org.sonar.scanner.task.ScanTask.execute(
        at org.sonar.scanner.task.TaskContainer.doAfterStart(
        at org.sonar.core.platform.ComponentContainer.startComponents(
        at org.sonar.core.platform.ComponentContainer.execute(
        at org.sonar.scanner.bootstrap.GlobalContainer.executeTask(
        at org.sonar.batch.bootstrapper.Batch.doExecuteTask(
        at org.sonar.batch.bootstrapper.Batch.execute(
        at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(
        at java.lang.reflect.Method.invoke(
        at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(
        at com.sun.proxy.$Proxy0.execute(Unknown Source)
        at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(
        at org.sonarsource.scanner.api.EmbeddedScanner.execute(
        at org.sonarsource.scanner.cli.Main.execute(
        at org.sonarsource.scanner.cli.Main.execute(
        at org.sonarsource.scanner.cli.Main.main(

I solved the problem on ubuntu by updating the both sonar-scanner and build-wrapper (sonar-scanner was not enough).

The missing glibc problem on CentOS however is still a no-go :frowning:

Hi @alienpenguin,

thank you for your feedback. The C/C++ analyzer has been completely rewritten starting with version 6.0, it is a pity you are not able to use it in your environment as the analyzer has more rules, and it is much more accurate than previous versions.

I understand your concerns about glibc and 32 bit machines with LTS. What is certain is that we are not going to restore such compatibility. What I am going to check internally is whether we should flag C/C++ analyzer 6.X version as not compatible with LTS version 6.7.X.

For the records, ticket CPP-2184 restores compatibility with glibc 2.12 and has been released with version 6.2 of the C/C++ analyser.

1 Like