api/users/search url is not encoded when run sonar-maven-plugin do local incremental analysis

45 views
Skip to first unread message

liudo...@gmail.com

unread,
Dec 24, 2015, 2:39:57 AM12/24/15
to SonarQube
api/users/search url is not encoded when run sonar-maven-plugin do local incremental analysis

-------------- Here is the log:

mvn sonar:sonar -DskipTests=true -Dsonar.language=java  -Dsonar.analysis.mode=preview -Dsonar.host.url=http://localhost:9090/ -Dsonar.login=admin -Dsonar.password=xxx -Dsonar.issuesReport.console.enable=true -Dsonar.projectKey=test -Dsonar.projectName=test

[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.7.1:sonar (default-cli) on project test: 



------------- Summary

== Reason:

The user's login and name in our sonar system/sso system are Chinese, we could not change this as english name. So it's better to encode the url for /api/users.

== How to reproduce:

1.) Change someone username as Chinese or with blank space
2.) Poll one git repository, but you need to modify the code files of that person, not yourself.
3.) run the sonarqube local incremental analysis.

You will find the maven report error.


------------- More log 

org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.7.1:sonar 
(default-cli) on project test: 
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.MojoExecutionException: Illegal character in fragment at index 105: http://localhost:9090/api/users/search?format=json&includeDeactivated=true&logins=徐勤
at org.codehaus.mojo.sonar.bootstrap.ExceptionHandling.handle(ExceptionHandling.java:41)
at org.codehaus.mojo.sonar.bootstrap.RunnerBootstrapper.execute(RunnerBootstrapper.java:104)
at org.codehaus.mojo.sonar.SonarMojo.execute(SonarMojo.java:135)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
... 20 more
Caused by: java.lang.IllegalArgumentException: Illegal character in fragment at index 105: http://localhost:9090/api/users/search?format=json&includeDeactivated=true&logins=徐勤
at java.net.URI.create(URI.java:852)
at org.sonar.batch.bootstrap.ServerClient.doRequest(ServerClient.java:117)
at org.sonar.batch.bootstrap.ServerClient.request(ServerClient.java:103)
at org.sonar.batch.bootstrap.ServerClient.request(ServerClient.java:99)
at org.sonar.batch.bootstrap.ServerClient.request(ServerClient.java:87)
at org.sonar.batch.repository.user.UserRepository.loadFromWs(UserRepository.java:53)
at org.sonar.batch.scan.report.JSONReport.writeJson(JSONReport.java:125)
at org.sonar.batch.scan.report.JSONReport.exportResults(JSONReport.java:106)
at org.sonar.batch.scan.report.JSONReport.execute(JSONReport.java:97)
at org.sonar.batch.scan.report.IssuesReports.execute(IssuesReports.java:38)
at org.sonar.batch.phases.DatabaseLessPhaseExecutor.issuesReport(DatabaseLessPhaseExecutor.java:128)
at org.sonar.batch.phases.DatabaseLessPhaseExecutor.execute(DatabaseLessPhaseExecutor.java:100)
at org.sonar.batch.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:264)
at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:92)
at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77)
at org.sonar.batch.scan.ProjectScanContainer.scan(ProjectScanContainer.java:235)
at org.sonar.batch.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:230)
at org.sonar.batch.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:220)
at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:92)
at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77)
at org.sonar.batch.scan.ScanTask.scan(ScanTask.java:57)
at org.sonar.batch.scan.ScanTask.execute(ScanTask.java:45)
at org.sonar.batch.bootstrap.TaskContainer.doAfterStart(TaskContainer.java:135)
at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:92)
at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77)
at org.sonar.batch.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:158)
at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:95)
at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:67)
at org.sonar.runner.batch.BatchIsolatedLauncher.executeOldVersion(BatchIsolatedLauncher.java:92)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.sonar.runner.impl.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:61)
at com.sun.proxy.$Proxy23.executeOldVersion(Unknown Source)
at org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:284)
at org.sonar.runner.api.EmbeddedRunner.runAnalysis(EmbeddedRunner.java:166)
at org.sonar.runner.api.EmbeddedRunner.runAnalysis(EmbeddedRunner.java:153)
at org.codehaus.mojo.sonar.bootstrap.RunnerBootstrapper.execute(RunnerBootstrapper.java:99)
... 23 more
Caused by: java.net.URISyntaxException: Illegal character in fragment at index 105: http://localhost:9090/api/users/search?format=json&includeDeactivated=true&logins=徐勤
at java.net.URI$Parser.fail(URI.java:2848)
at java.net.URI$Parser.checkChars(URI.java:3021)
at java.net.URI$Parser.parse(URI.java:3067)
at java.net.URI.<init>(URI.java:588)
at java.net.URI.create(URI.java:850)
... 61 more

liudo...@gmail.com

unread,
Dec 24, 2015, 2:46:30 AM12/24/15
to SonarQube, liudo...@gmail.com
The SonarQube server version is Version 5.1.2

在 2015年12月24日星期四 UTC+8下午3:39:57,liudo...@gmail.com写道:

Duarte Meneses

unread,
Dec 28, 2015, 12:02:05 PM12/28/15
to SonarQube, liudo...@gmail.com
Hi,

Thanks for the report.
I've created a ticket with the issue: https://jira.sonarsource.com/browse/SONAR-7165

Also note that this does not affect SQ >= 5.2 (the parameters in the URL are encoded).
Reply all
Reply to author
Forward
0 new messages