SonarAnalyze failing with java.nio.file.InvalidPathException: Trailing char < >

Azure Pipeline jobs for a C++ application starts to fail without reason. It was running ok a few hours ago. No system changes were made. We did a number of obvious remediation steps but it does not resolve this issue:

  1. Remove SonarCache directories
  2. Remove Azure pipeline working directory C:\agent_work\7
  3. Upgrade SonarScanner (C++) to the latest version v6.31
  4. Reboot the Azure CI Build server


2022-03-15T17:06:27.9786573Z ##[error]ERROR: Exception in thread pool-4-thread-1
2022-03-15T17:06:27.9837072Z ERROR: Exception in thread pool-4-thread-1
2022-03-15T17:06:27.9845906Z ##[error]java.nio.file.InvalidPathException: Trailing char < > at index 63: C:\agent\_work\7\s\third_party\glm-0.9.9.8\include\gtx/norm.hpp 
	at java.base/sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:191)
	at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153)
	at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77)
	at java.base/sun.nio.fs.WindowsPath.parse(WindowsPath.java:92)
	at java.base/sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:232)
	at java.base/java.nio.file.Path.of(Path.java:147)
	at com.sonar.cpp.jni.FileSystemOperations.realPath(FileSystemOperations.java:38)
	at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1219)
	at com.sonar.cpp.fs.CanonicalPathCache.computeIfAbsent(CanonicalPathCache.java:17)
	at com.sonar.cpp.plugin.CFamilySensor.save(CFamilySensor.java:864)
	at com.sonar.cpp.plugin.CFamilySensor.lambda$process$14(CFamilySensor.java:797)
	at com.sonar.cpp.analyzer.AnalysisExecutor.lambda$submit$0(AnalysisExecutor.java:59)
2022-03-15T17:06:27.9852210Z java.nio.file.InvalidPathException: Trailing char < > at index 63: C:\agent\_work\7\s\third_party\glm-0.9.9.8\include\gtx/norm.hpp 
2022-03-15T17:06:27.9853324Z 	at java.base/sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:191)
2022-03-15T17:06:27.9854274Z 	at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153)
2022-03-15T17:06:27.9855205Z 	at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77)
2022-03-15T17:06:27.9856325Z 	at java.base/sun.nio.fs.WindowsPath.parse(WindowsPath.java:92)
2022-03-15T17:06:27.9857215Z 	at java.base/sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:232)
2022-03-15T17:06:27.9858065Z 	at java.base/java.nio.file.Path.of(Path.java:147)
2022-03-15T17:06:27.9858953Z 	at com.sonar.cpp.jni.FileSystemOperations.realPath(FileSystemOperations.java:38)
2022-03-15T17:06:27.9859904Z 	at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1219)
2022-03-15T17:06:27.9860918Z 	at com.sonar.cpp.fs.CanonicalPathCache.computeIfAbsent(CanonicalPathCache.java:17)
2022-03-15T17:06:27.9861861Z 	at com.sonar.cpp.plugin.CFamilySensor.save(CFamilySensor.java:864)
2022-03-15T17:06:27.9862796Z 	at com.sonar.cpp.plugin.CFamilySensor.lambda$process$14(CFamilySensor.java:797)
2022-03-15T17:06:27.9863772Z 	at com.sonar.cpp.analyzer.AnalysisExecutor.lambda$submit$0(AnalysisExecutor.java:59)
2022-03-15T17:06:27.9866699Z ##[error]at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
2022-03-15T17:06:27.9868870Z 	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
2022-03-15T17:06:27.9869812Z 	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
2022-03-15T17:06:27.9870767Z 	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
2022-03-15T17:06:27.9871785Z 	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
2022-03-15T17:06:27.9873138Z ##[error]at java.base/java.lang.Thread.run(Thread.java:833)
2022-03-15T17:06:27.9874404Z 	at java.base/java.lang.Thread.run(Thread.java:833)
2022-03-15T17:06:27.9874904Z 
2022-03-15T17:06:45.8407936Z ##[error]ERROR: Failed to delete temp folder
2022-03-15T17:06:45.8417437Z ERROR: Failed to delete temp folder
2022-03-15T17:06:45.8423598Z ##[error]java.nio.file.AccessDeniedException: C:\agent\_work\7\.sonarqube\out\.sonar\.sonartmp\16502075980685513278\jni.dll
	at java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:89)
	at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103)
	at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108)
	at java.base/sun.nio.fs.WindowsFileSystemProvider.implDelete(WindowsFileSystemProvider.java:275)
	at java.base/sun.nio.fs.AbstractFileSystemProvider.deleteIfExists(AbstractFileSystemProvider.java:110)
	at java.base/java.nio.file.Files.deleteIfExists(Files.java:1191)
	at org.sonar.api.impl.utils.DefaultTempFolder$DeleteRecursivelyFileVisitor.visitFile(DefaultTempFolder.java:101)
	at org.sonar.api.impl.utils.DefaultTempFolder$DeleteRecursivelyFileVisitor.visitFile(DefaultTempFolder.java:96)
2022-03-15T17:06:45.8428608Z java.nio.file.AccessDeniedException: C:\agent\_work\7\.sonarqube\out\.sonar\.sonartmp\16502075980685513278\jni.dll
2022-03-15T17:06:45.8429523Z 	at java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:89)
2022-03-15T17:06:45.8430731Z 	at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103)
2022-03-15T17:06:45.8431603Z 	at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108)
2022-03-15T17:06:45.8432481Z 	at java.base/sun.nio.fs.WindowsFileSystemProvider.implDelete(WindowsFileSystemProvider.java:275)
2022-03-15T17:06:45.8433408Z 	at java.base/sun.nio.fs.AbstractFileSystemProvider.deleteIfExists(AbstractFileSystemProvider.java:110)
2022-03-15T17:06:45.8434182Z 	at java.base/java.nio.file.Files.deleteIfExists(Files.java:1191)
2022-03-15T17:06:45.8440158Z 	at org.sonar.api.impl.utils.DefaultTempFolder$DeleteRecursivelyFileVisitor.visitFile(DefaultTempFolder.java:101)
2022-03-15T17:06:45.8446349Z 	at org.sonar.api.impl.utils.DefaultTempFolder$DeleteRecursivelyFileVisitor.visitFile(DefaultTempFolder.java:96)
2022-03-15T17:06:45.8451117Z ##[error]at java.base/java.nio.file.Files.walkFileTree(Files.java:2811)
2022-03-15T17:06:45.8644597Z 	at java.base/java.nio.file.Files.walkFileTree(Files.java:2811)
2022-03-15T17:06:45.8645918Z ##[error]at java.base/java.nio.file.Files.walkFileTree(Files.java:2882)
2022-03-15T17:06:45.8647791Z 	at java.base/java.nio.file.Files.walkFileTree(Files.java:2882)
2022-03-15T17:06:45.8719271Z ##[error]at org.sonar.api.impl.utils.DefaultTempFolder.clean(DefaultTempFolder.java:83)
	at org.sonar.api.impl.utils.DefaultTempFolder.stop(DefaultTempFolder.java:92)
	at org.sonar.scanner.analysis.AnalysisTempFolderProvider.stop(AnalysisTempFolderProvider.java:47)
2022-03-15T17:06:45.8900274Z 	at org.sonar.api.impl.utils.DefaultTempFolder.clean(DefaultTempFolder.java:83)
2022-03-15T17:06:45.8901396Z 	at org.sonar.api.impl.utils.DefaultTempFolder.stop(DefaultTempFolder.java:92)
2022-03-15T17:06:45.8902251Z 	at org.sonar.scanner.analysis.AnalysisTempFolderProvider.stop(AnalysisTempFolderProvider.java:47)
2022-03-15T17:06:45.8904416Z ##[error]at org.picocontainer.DefaultPicoContainer.stopAdapters(DefaultPicoContainer.java:1048)
	at org.picocontainer.DefaultPicoContainer.stop(DefaultPicoContainer.java:803)
2022-03-15T17:06:45.8906803Z 	at org.picocontainer.DefaultPicoContainer.stopAdapters(DefaultPicoContainer.java:1048)
2022-03-15T17:06:45.8907566Z 	at org.picocontainer.DefaultPicoContainer.stop(DefaultPicoContainer.java:803)
2022-03-15T17:06:45.8909383Z ##[error]at org.sonar.core.platform.ComponentContainer.stopComponents(ComponentContainer.java:152)
	at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:111)
2022-03-15T17:06:45.8911138Z 	at org.sonar.core.platform.ComponentContainer.stopComponents(ComponentContainer.java:152)
2022-03-15T17:06:45.8911918Z 	at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:111)
2022-03-15T17:06:45.8913749Z ##[error]at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart(GlobalContainer.java:128)
	at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:123)
2022-03-15T17:06:45.8915549Z 	at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart(GlobalContainer.java:128)
2022-03-15T17:06:45.8916331Z 	at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:123)
2022-03-15T17:06:45.8918029Z ##[error]at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:109)
	at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:58)
2022-03-15T17:06:45.8919690Z 	at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:109)
2022-03-15T17:06:45.8920391Z 	at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:58)
2022-03-15T17:06:45.8926360Z ##[error]at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:52)
	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:112)
	at org.sonarsource.scanner.cli.Main.execute(Main.java:75)
	at org.sonarsource.scanner.cli.Main.main(Main.java:61)
2022-03-15T17:06:45.8930616Z 	at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:52)
2022-03-15T17:06:45.8931528Z 	at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:46)
2022-03-15T17:06:45.8932302Z 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2022-03-15T17:06:45.8933049Z 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
2022-03-15T17:06:45.8933894Z 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2022-03-15T17:06:45.8934632Z 	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
2022-03-15T17:06:45.8935349Z 	at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
2022-03-15T17:06:45.8936039Z 	at jdk.proxy1/jdk.proxy1.$Proxy0.execute(Unknown Source)
2022-03-15T17:06:45.8936686Z 	at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:189)
2022-03-15T17:06:45.8937426Z 	at org.sonarsource.scanner.api.EmbeddedScanner.execute(EmbeddedScanner.java:138)
2022-03-15T17:06:45.8938107Z 	at org.sonarsource.scanner.cli.Main.execute(Main.java:112)
2022-03-15T17:06:45.8938731Z 	at org.sonarsource.scanner.cli.Main.execute(Main.java:75)
2022-03-15T17:06:45.8939318Z 	at org.sonarsource.scanner.cli.Main.main(Main.java:61)
2022-03-15T17:06:45.8939649Z

Hello @simonyeung,

It seems that there is a trailing space in the name of the failing file gtx/norm.hpp . Can you remove the space and try again?

Thanks,

Thanks for explaining. I have removed the extra space at the end and it now works.

Just a note, this file has not been changed since this January so was AzureAnalyze task default settings in Azure pipeline changed today?

Hi @simonyeung,

SonarCloud analyzers get continuous upgrades and in this case, the new CFamily analyzer exposed this invalid path. Glad it worked for you!

Let me know if you have other questions,
Abbas

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.