Azure DevOps: SonarCloud picking up new issues on really old code after switching to ubuntu image

  • ALM used: Azure DevOps
  • CI system used: Azure DevOps
  • Scanner command used when applicable: N/A
  • Languages of the repository: C#

Hello.

We have been running SonarCloud for more than a year now without any issues. It has been running on hosted Azure DevOps agents with vmImage: windows-latest

For other reasons I needed to change the agent to vmImage: ubuntu-latest last night.

This caused SonarCloud to suddenly detect all code as new code, while simultaneously complain about a 0% test coverage (we have > 80%). It also found all possible old code smells, before SonarCloud was introduced. These were never an issue before.

It’s like SonarCloud forgot about the past code and starting treating the whole codebase as new.
But the pull-request behind these results doesn’t touch any of the old code, so it’s a mystery why this is happening.

The moment I switch back to vmImage: windows-latest everything works again and only new code in the pull-request is considered for coverage and code smells.

Our New Code configuration has been a fixed date in the past (I believe it was set to the date when we started using SonarCloud). I tried changing it to a future date without any luck. I ended up setting it to “Number of days” with a value of 30. This didn’t change anything.

Both images are using similar versions of the DevOps tasks:

Image SonarCloudPrepare@1 SonarCloudAnalyze@1 SonarCloudPublish@1
windows-latest 1.40.2 1.43.2 1.15.2
ubuntu-latest 1.40.2 1.43.2 1.15.2

Let me know if you need more information.

Thanks!

Hey there.

It would be great if you could provide DEBUG level analysis logs from both your last windows-latest run before switching to ubuntu-latest, and your first ubuntu-latest run (or any logs from two successive runs that demonstrate the behavior you describe)

Hi Colin
Thanks for the reply.

I have two sets of logs ready, one from windows-latest & one from ubuntu-latest

Can I relay them to you (or another SonarCloud employee) for future troubleshooting? I don’t feel comfortable posting logs containing source code information on a public forum (and filtering through 2x ~36000 LOC and redacting information is too big a task right now.)

Best regards.

I’ve sent you a private message.

Thanks! These (non-sensitive) log message called out to me:

Ubuntu

2023-10-23T08:48:00.5918244Z 08:48:00.591 WARN: SCM provider autodetection failed. Please use "sonar.scm.provider" to define SCM of your project, or disable the SCM Sensor in the project settings.
...
2023-10-23T08:48:00.8216819Z 08:48:00.821 DEBUG: SCM information about changed files in the branch is not available

Meanwhile, Git is detected as the SCM provider for the Windows run.

If you run an ls -la before SonarCloud analysis is run, do you see a .git folder?

Hi Colin

Yes, this is the output:

2023-10-23T14:46:04.1022854Z Generating script.
2023-10-23T14:46:04.1038100Z Script contents:
2023-10-23T14:46:04.1038344Z ls -la
2023-10-23T14:46:04.1038667Z ========================== Starting Command Output ===========================
2023-10-23T14:46:04.1067221Z [command]/usr/bin/bash --noprofile --norc /home/vsts/work/_temp/4a271a6c-3237-43f2-96c1-e47a6b731ee3.sh
2023-10-23T14:46:04.1159397Z total 56
....
2023-10-23T14:46:04.1162948Z drwxr-xr-x 8 vsts docker  4096 Oct 23 14:30 .git
2023-10-23T14:46:04.1216570Z -rw-r--r-- 1 vsts docker    13 Oct 23 14:30 .gitattributes
2023-10-23T14:46:04.1217315Z -rw-r--r-- 1 vsts docker 12808 Oct 23 14:30 .gitignore
....
2023-10-23T14:46:04.1238623Z ##[section]Finishing: CmdLine

Best regards,
Simon

That’s weird. Can you try explicitly setting sonar.scm.provider=git?

I added sonar.scm.provider=git to SonarCloudPrepare@1 and now SonarCloudAnalyze@1 fails with:

2023-10-25T09:24:51.7190999Z 09:24:51.718 INFO: EXECUTION FAILURE
2023-10-25T09:24:51.7192282Z 09:24:51.718 INFO: ------------------------------------------------------------------------
2023-10-25T09:24:51.7205965Z 09:24:51.719 INFO: Total time: 11.895s
2023-10-25T09:24:51.7749769Z 09:24:51.773 INFO: Final Memory: 14M/57M
2023-10-25T09:24:51.7751164Z 09:24:51.774 INFO: ------------------------------------------------------------------------
2023-10-25T09:24:51.7761802Z ##[error]09:24:51.774 ERROR: Error during SonarScanner execution
java.lang.IllegalStateException: Unable to load component class org.sonar.scanner.scan.filesystem.ProjectFileIndexer
2023-10-25T09:24:51.7763796Z 09:24:51.774 ERROR: Error during SonarScanner execution
2023-10-25T09:24:51.7764736Z java.lang.IllegalStateException: Unable to load component class org.sonar.scanner.scan.filesystem.ProjectFileIndexer
2023-10-25T09:24:51.7880500Z ##[error]at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.java:52)
	at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:678)
	at org.sonar.core.platform.ComponentContainer.getComponentByType(ComponentContainer.java:273)
	at org.sonar.scanner.bootstrap.ScannerContainer.doAfterStart(ScannerContainer.java:391)
	at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:123)
	at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:109)
	at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart(GlobalContainer.java:128)
	at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:123)
	at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:109)
	at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:57)
	at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:51)
	at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:46)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
	at jdk.proxy1/jdk.proxy1.$Proxy0.execute(Unknown Source)
	at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:189)
	at org.sonarsource.scanner.api.EmbeddedScanner.execute(EmbeddedScanner.java:138)
	at org.sonarsource.scanner.cli.Main.execute(Main.java:126)
	at org.sonarsource.scanner.cli.Main.execute(Main.java:81)
	at org.sonarsource.scanner.cli.Main.main(Main.java:62)
Caused by: java.lang.IllegalStateException: Unable to load component class org.sonar.scanner.scan.filesystem.FileIndexer
	at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.java:52)
	at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:632)
	at org.picocontainer.parameters.BasicComponentParameter$1.resolveInstance(BasicComponentParameter.java:118)
	at org.picocontainer.parameters.ComponentParameter$1.resolveInstance(ComponentParameter.java:136)
	at org.picocontainer.injectors.SingleMemberInjector.getParameter(SingleMemberInjector.java:78)
	at org.picocontainer.injectors.ConstructorInjector$CtorAndAdapters.getParameterArguments(ConstructorInjector.java:309)
	at org.picocontainer.injectors.ConstructorInjector$1.run(ConstructorInjector.java:335)
	at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270)
	at org.picocontainer.injectors.ConstructorInjector.getComponentInstance(ConstructorInjector.java:364)
	at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.getComponentInstance(AbstractInjectionFactory.java:56)
	at org.picocontainer.behaviors.AbstractBehavior.getComponentInstance(AbstractBehavior.java:64)
	at org.picocontainer.behaviors.Stored.getComponentInstance(Stored.java:91)
	at org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:699)
	at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:647)
	at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.java:50)
	... 22 more
Caused by: java.lang.IllegalStateException: Unable to load component class org.sonar.scanner.scan.filesystem.MetadataGenerator
	at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.java:52)
	at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:632)
	at org.picocontainer.parameters.BasicComponentParameter$1.resolveInstance(BasicComponentParameter.java:118)
	at org.picocontainer.parameters.ComponentParameter$1.resolveInstance(ComponentParameter.java:136)
	at org.picocontainer.injectors.SingleMemberInjector.getParameter(SingleMemberInjector.java:78)
	at org.picocontainer.injectors.ConstructorInjector$CtorAndAdapters.getParameterArguments(ConstructorInjector.java:309)
	at org.picocontainer.injectors.ConstructorInjector$1.run(ConstructorInjector.java:335)
	at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270)
	at org.picocontainer.injectors.ConstructorInjector.getComponentInstance(ConstructorInjector.java:364)
	at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.getComponentInstance(AbstractInjectionFactory.java:56)
	at org.picocontainer.behaviors.AbstractBehavior.getComponentInstance(AbstractBehavior.java:64)
	at org.picocontainer.behaviors.Stored.getComponentInstance(Stored.java:91)
	at org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:699)
	at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:647)
	at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.java:50)
	... 36 more
Caused by: java.lang.IllegalStateException: Unable to load component class org.sonar.scanner.scan.filesystem.StatusDetection
	at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.java:52)
	at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:632)
	at org.picocontainer.parameters.BasicComponentParameter$1.resolveInstance(BasicComponentParameter.java:118)
	at org.picocontainer.parameters.ComponentParameter$1.resolveInstance(ComponentParameter.java:136)
	at org.picocontainer.injectors.SingleMemberInjector.getParameter(SingleMemberInjector.java:78)
	at org.picocontainer.injectors.ConstructorInjector$CtorAndAdapters.getParameterArguments(ConstructorInjector.java:309)
	at org.picocontainer.injectors.ConstructorInjector$1.run(ConstructorInjector.java:335)
	at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270)
	at org.picocontainer.injectors.ConstructorInjector.getComponentInstance(ConstructorInjector.java:364)
	at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.getComponentInstance(AbstractInjectionFactory.java:56)
	at org.picocontainer.behaviors.AbstractBehavior.getComponentInstance(AbstractBehavior.java:64)
	at org.picocontainer.behaviors.Stored.getComponentInstance(Stored.java:91)
	at org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:699)
	at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:647)
	at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.java:50)
	... 50 more
Caused by: java.lang.IllegalStateException: Unable to load component class org.sonar.scanner.scm.ScmChangedFiles
	at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.java:52)
	at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:632)
	at org.picocontainer.parameters.BasicComponentParameter$1.resolveInstance(BasicComponentParameter.java:118)
	at org.picocontainer.parameters.ComponentParameter$1.resolveInstance(ComponentParameter.java:136)
	at org.picocontainer.injectors.SingleMemberInjector.getParameter(SingleMemberInjector.java:78)
	at org.picocontainer.injectors.ConstructorInjector$CtorAndAdapters.getParameterArguments(ConstructorInjector.java:309)
	at org.picocontainer.injectors.ConstructorInjector$1.run(ConstructorInjector.java:335)
	at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270)
	at org.picocontainer.injectors.ConstructorInjector.getComponentInstance(ConstructorInjector.java:364)
	at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.getComponentInstance(AbstractInjectionFactory.java:56)
	at org.picocontainer.behaviors.AbstractBehavior.getComponentInstance(AbstractBehavior.java:64)
	at org.picocontainer.behaviors.Stored.getComponentInstance(Stored.java:91)
	at org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:699)
2023-10-25T09:24:51.7935088Z 	at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.java:52)
2023-10-25T09:24:51.7936008Z 	at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:678)
2023-10-25T09:24:51.7936775Z 	at org.sonar.core.platform.ComponentContainer.getComponentByType(ComponentContainer.java:273)
2023-10-25T09:24:51.7937817Z 	at org.sonar.scanner.bootstrap.ScannerContainer.doAfterStart(ScannerContainer.java:391)
2023-10-25T09:24:51.7938596Z 	at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:123)
2023-10-25T09:24:51.7939482Z 	at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:109)
2023-10-25T09:24:51.7940232Z 	at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart(GlobalContainer.java:128)
2023-10-25T09:24:51.7941025Z 	at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:123)
2023-10-25T09:24:51.7941804Z 	at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:109)
2023-10-25T09:24:51.7942442Z 	at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:57)
2023-10-25T09:24:51.7942959Z 	at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:51)
2023-10-25T09:24:51.7943684Z 	at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:46)
2023-10-25T09:24:51.7944536Z 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2023-10-25T09:24:51.7945335Z 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
2023-10-25T09:24:51.7946440Z 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2023-10-25T09:24:51.7947182Z 	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
2023-10-25T09:24:51.7947867Z 	at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
2023-10-25T09:24:51.7948529Z 	at jdk.proxy1/jdk.proxy1.$Proxy0.execute(Unknown Source)
2023-10-25T09:24:51.7949089Z 	at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:189)
2023-10-25T09:24:51.7949774Z 	at org.sonarsource.scanner.api.EmbeddedScanner.execute(EmbeddedScanner.java:138)
2023-10-25T09:24:51.7950359Z 	at org.sonarsource.scanner.cli.Main.execute(Main.java:126)
2023-10-25T09:24:51.7950830Z 	at org.sonarsource.scanner.cli.Main.execute(Main.java:81)
2023-10-25T09:24:51.7951275Z 	at org.sonarsource.scanner.cli.Main.main(Main.java:62)
2023-10-25T09:24:51.7951994Z Caused by: java.lang.IllegalStateException: Unable to load component class org.sonar.scanner.scan.filesystem.FileIndexer
2023-10-25T09:24:51.7953022Z 	at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.java:52)
2023-10-25T09:24:51.7953913Z 	at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:632)
2023-10-25T09:24:51.7954759Z 	at org.picocontainer.parameters.BasicComponentParameter$1.resolveInstance(BasicComponentParameter.java:118)
2023-10-25T09:24:51.7955666Z 	at org.picocontainer.parameters.ComponentParameter$1.resolveInstance(ComponentParameter.java:136)
2023-10-25T09:24:51.7956491Z 	at org.picocontainer.injectors.SingleMemberInjector.getParameter(SingleMemberInjector.java:78)
2023-10-25T09:24:51.7957757Z 	at org.picocontainer.injectors.ConstructorInjector$CtorAndAdapters.getParameterArguments(ConstructorInjector.java:309)
2023-10-25T09:24:51.7958685Z 	at org.picocontainer.injectors.ConstructorInjector$1.run(ConstructorInjector.java:335)
2023-10-25T09:24:51.7959578Z 	at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270)
2023-10-25T09:24:51.7960543Z 	at org.picocontainer.injectors.ConstructorInjector.getComponentInstance(ConstructorInjector.java:364)
2023-10-25T09:24:51.7961574Z 	at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.getComponentInstance(AbstractInjectionFactory.java:56)
2023-10-25T09:24:51.7962573Z 	at org.picocontainer.behaviors.AbstractBehavior.getComponentInstance(AbstractBehavior.java:64)
2023-10-25T09:24:51.7963339Z 	at org.picocontainer.behaviors.Stored.getComponentInstance(Stored.java:91)
2023-10-25T09:24:51.7964024Z 	at org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:699)
2023-10-25T09:24:51.7965003Z 	at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:647)
2023-10-25T09:24:51.7966391Z 	at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.java:50)
2023-10-25T09:24:51.7967408Z 	... 22 more
2023-10-25T09:24:51.7968010Z Caused by: java.lang.IllegalStateException: Unable to load component class org.sonar.scanner.scan.filesystem.MetadataGenerator
2023-10-25T09:24:51.7969703Z 	at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.java:52)
2023-10-25T09:24:51.7970565Z 	at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:632)
2023-10-25T09:24:51.7971386Z 	at org.picocontainer.parameters.BasicComponentParameter$1.resolveInstance(BasicComponentParameter.java:118)
2023-10-25T09:24:51.7972267Z 	at org.picocontainer.parameters.ComponentParameter$1.resolveInstance(ComponentParameter.java:136)
2023-10-25T09:24:51.7973081Z 	at org.picocontainer.injectors.SingleMemberInjector.getParameter(SingleMemberInjector.java:78)
2023-10-25T09:24:51.7973994Z 	at org.picocontainer.injectors.ConstructorInjector$CtorAndAdapters.getParameterArguments(ConstructorInjector.java:309)
2023-10-25T09:24:51.7975239Z 	at org.picocontainer.injectors.ConstructorInjector$1.run(ConstructorInjector.java:335)
2023-10-25T09:24:51.7976941Z 	at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270)
2023-10-25T09:24:51.7978171Z 	at org.picocontainer.injectors.ConstructorInjector.getComponentInstance(ConstructorInjector.java:364)
2023-10-25T09:24:51.7979271Z 	at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.getComponentInstance(AbstractInjectionFactory.java:56)
2023-10-25T09:24:51.7980337Z 	at org.picocontainer.behaviors.AbstractBehavior.getComponentInstance(AbstractBehavior.java:64)
2023-10-25T09:24:51.7981628Z 	at org.picocontainer.behaviors.Stored.getComponentInstance(Stored.java:91)
2023-10-25T09:24:51.7982288Z 	at org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:699)
2023-10-25T09:24:51.7982996Z 	at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:647)
2023-10-25T09:24:51.7983856Z 	at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.java:50)
2023-10-25T09:24:51.7984481Z 	... 36 more
2023-10-25T09:24:51.7985017Z Caused by: java.lang.IllegalStateException: Unable to load component class org.sonar.scanner.scan.filesystem.StatusDetection
2023-10-25T09:24:51.7986036Z 	at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.java:52)
2023-10-25T09:24:51.7986896Z 	at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:632)
2023-10-25T09:24:51.7987717Z 	at org.picocontainer.parameters.BasicComponentParameter$1.resolveInstance(BasicComponentParameter.java:118)
2023-10-25T09:24:51.7988598Z 	at org.picocontainer.parameters.ComponentParameter$1.resolveInstance(ComponentParameter.java:136)
2023-10-25T09:24:51.7992421Z 	at org.picocontainer.injectors.SingleMemberInjector.getParameter(SingleMemberInjector.java:78)
2023-10-25T09:24:51.7993437Z 	at org.picocontainer.injectors.ConstructorInjector$CtorAndAdapters.getParameterArguments(ConstructorInjector.java:309)
2023-10-25T09:24:51.7994323Z 	at org.picocontainer.injectors.ConstructorInjector$1.run(ConstructorInjector.java:335)
2023-10-25T09:24:51.7995351Z 	at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270)
2023-10-25T09:24:51.7996320Z 	at org.picocontainer.injectors.ConstructorInjector.getComponentInstance(ConstructorInjector.java:364)
2023-10-25T09:24:51.7998723Z 	at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.getComponentInstance(AbstractInjectionFactory.java:56)
2023-10-25T09:24:51.7999780Z 	at org.picocontainer.behaviors.AbstractBehavior.getComponentInstance(AbstractBehavior.java:64)
2023-10-25T09:24:51.8000719Z 	at org.picocontainer.behaviors.Stored.getComponentInstance(Stored.java:91)
2023-10-25T09:24:51.8001987Z 	at org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:699)
2023-10-25T09:24:51.8003086Z 	at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:647)
2023-10-25T09:24:51.8003951Z 	at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.java:50)
2023-10-25T09:24:51.8004588Z 	... 50 more
2023-10-25T09:24:51.8005444Z Caused by: java.lang.IllegalStateException: Unable to load component class org.sonar.scanner.scm.ScmChangedFiles
2023-10-25T09:24:51.8006543Z 	at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.java:52)
2023-10-25T09:24:51.8007783Z 	at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:632)
2023-10-25T09:24:51.8008823Z 	at org.picocontainer.parameters.BasicComponentParameter$1.resolveInstance(BasicComponentParameter.java:118)
2023-10-25T09:24:51.8009710Z 	at org.picocontainer.parameters.ComponentParameter$1.resolveInstance(ComponentParameter.java:136)
2023-10-25T09:24:51.8010738Z 	at org.picocontainer.injectors.SingleMemberInjector.getParameter(SingleMemberInjector.java:78)
2023-10-25T09:24:51.8011665Z 	at org.picocontainer.injectors.ConstructorInjector$CtorAndAdapters.getParameterArguments(ConstructorInjector.java:309)
2023-10-25T09:24:51.8012548Z 	at org.picocontainer.injectors.ConstructorInjector$1.run(ConstructorInjector.java:335)
2023-10-25T09:24:51.8013411Z 	at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270)
2023-10-25T09:24:51.8014343Z 	at org.picocontainer.injectors.ConstructorInjector.getComponentInstance(ConstructorInjector.java:364)
2023-10-25T09:24:51.8015327Z 	at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.getComponentInstance(AbstractInjectionFactory.java:56)
2023-10-25T09:24:51.8016296Z 	at org.picocontainer.behaviors.AbstractBehavior.getComponentInstance(AbstractBehavior.java:64)
2023-10-25T09:24:51.8017009Z 	at org.picocontainer.behaviors.Stored.getComponentInstance(Stored.java:91)
2023-10-25T09:24:51.8017661Z 	at org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:699)
2023-10-25T09:24:51.8020795Z ##[error]at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:647)
	at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.java:50)
	... 64 more
Caused by: Not inside a Git work tree: /
2023-10-25T09:24:51.8026594Z 	at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:647)
2023-10-25T09:24:51.8028101Z 	at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.java:50)
2023-10-25T09:24:51.8028958Z 	... 64 more
2023-10-25T09:24:51.8029148Z Caused by: Not inside a Git work tree: /
2023-10-25T09:24:52.1103335Z Process returned exit code 1
2023-10-25T09:24:52.1173103Z ##[error]The SonarScanner did not complete successfully
2023-10-25T09:24:52.1174387Z The SonarScanner did not complete successfully
2023-10-25T09:24:52.1176441Z ##[error]09:24:52.116  Post-processing failed. Exit code: 1
2023-10-25T09:24:52.1177707Z 09:24:52.116  Post-processing failed. Exit code: 1
2023-10-25T09:24:52.1310035Z ##[error]The process '/opt/hostedtoolcache/dotnet/dotnet' failed with exit code 1
2023-10-25T09:24:52.1358630Z ##[section]Finishing: SonarCloudAnalyze

Thanks.

Same situation. :confused: For whatever reason, the scanner cannot detect that you’re inside a Git directory.

Can you share your Azure DevOPS YML pipeline, and any relevant Dockerfiles?

Hi Colin

Below is the YAML for our SonarCloud pipeline with ‘ubuntu-latest’ instead of ‘windows-latest’:

resources:
  - repo: self

trigger:
  batch: true
  branches:
    exclude:
      - <some-branch>
  paths:
    include:
      - <folder>
      - <folder>
      - <folder>
    exclude:
      - <folder>

pool:
  vmImage: 'ubuntu-latest'

variables:
  - group: 'Slack Variables for Builds'
  - name: buildNumber
    value: $(Build.BuildId)
  - name: buildRequestedFor
    value: $(Build.RequestedFor)
  - name: buildDefinitionName
    value: $(Build.DefinitionName)
  - name: ProjectsToBuild
    value: '<.sln file>'
  - name: ProjectsToTest
    value: '<.csproj file>'
  - name: BuildConfiguration
    value: 'Release'

stages:
  - stage: build
    displayName: Build and Scan Stage
    jobs:
      - job: build
        displayName: Build Projects
        timeoutInMinutes: 25
        steps:
          - task: UseDotNet@2
            displayName: 'Use .NET 7 sdk'
            inputs:
              packageType: sdk
              version: 7.0.103
              installationPath: $(Agent.ToolsDirectory)/dotnet

          - task: DotNetCoreCLI@2
            displayName: Restore
            inputs:
              command: restore
              projects: '$(ProjectsToBuild)'

          - task: SonarCloudPrepare@1
            inputs:
              SonarCloud: 'SonarCloud'
              scannerMode: 'MSBuild'
              organization: '<org>'
              projectKey: '<projectkey>'
              projectName: '<projectname>'
              extraProperties: |
                sonar.verbose=false
                sonar.analysis.buildNumber=$(Build.BuildId)
                sonar.analysis.pipeline=$(Build.BuildId)
                sonar.analysis.sha1=$(System.PullRequest.SourceCommitId)
                sonar.analysis.prNumber=$(System.PullRequest.PullRequestNumber)
                sonar.analysis.repository=$(Build.Repository.ID)

          - task: DotNetCoreCLI@2
            displayName: Build
            inputs:
              projects: '$(ProjectsToBuild)'
              arguments: --configuration $(BuildConfiguration)

          - task: DotNetCoreCLI@2
            displayName: Test
            inputs:
              command: test
              projects: '$(ProjectsToTest)'
              arguments: '--configuration $(buildConfiguration) --collect "Code coverage"'

          - task: SonarCloudAnalyze@1

          - task: SonarCloudPublish@1
            inputs:
              pollingTimeoutSec: '300'

Best regards
Simon

Does this somehow make sure the .git folder is included?

My assumption is that exclude & include is to tell the DevOps pipeline what to trigger on?
Not a scope for what the pipeline can look at?

In this case the git repo is residing a level above the included folders.

A bonus info: we have another SonarCloud pipeline running on ubuntu-latest without any issues and without the git root included. I just tried changing this other pipeline to run windows-latest and it worked without any issues. This pipeline has an even narrower include for a deeper path.

Best regards
Simon