Testing SonarT-SQL plug-in and it is fails

tsql

(Bulent Coskun) #1

I am using following command line to scan the project. The project includes multiple file types , cs, css, sql files etc.

C:\Sonarqube\sonar-scanner-3.2.0.1227-windows\bin\sonar-scanner.bat -Dsonar.projectKey=DBProjectV2 -Dsonar.sources=. -Dsonar.host.url=https://sonarqube.xyz.com -Dsonar.login=XXX9fe1cf2f6e28ca7d7ae45222XXXX

I see multiple warning during the parsing and in the end the system gives and error. I can’t see any result on the sonarqube server.
I noticed that PLSQL and TSQL languages both are enabled same time. I thought that may be that is a causing an issue and I want to disable PLSQL option. However, I couldn’t figure out how can I disable/uninstall PLSQL plug-in.

Warning Samples:

WARN: Too many duplication references on file Databases/Scripts/SQL Jobs/MAPD - Exporter EGWP Refund Processing.sql for block at line 29. Keep only the first 100 references.
WARN: Too many duplication references on file Databases/Scripts/SQL Jobs/TMS Payment Processing.sql for block at line 52. Keep only the first 100 references.
WARN: Too many duplication references on file Databases/Scripts/SQL Jobs/Email Misdirected Queue Items.sql for block at line 31. Keep only the first 100 references.
WARN: Too many duplication references on file Databases/Scripts/SQL Jobs/Importer MMR Queue Load.sql for block at line 31. Keep only the first 100 references.
WARN: Too many duplication references on file Databases/Scripts/SQL Jobs/ Release locked Fallout Queue items.sql for block at line 31. Keep only the first 100 references.
WARN: Too many duplication references on file Databases/Scripts/SQL Jobs/PWHO Recon Queue Load.sql for block at line 31. Keep only the first 100 references.


WARN: Unable to fully parse: C:/Projects/XYZ/QA/Databases/Scripts/SQL Jobs/MAPD ? Importer State DSNP Payment File.sql
WARN: Parse error starting from line 17
WARN:
WARN:
WARN: Unable to fully parse: C:/Projects/XYZ/QA/Databases/Scripts/SQL Jobs/MAPD ? Importer State DSNP Payment File.sql
WARN: Parse error starting from line 19
WARN:

INFO: 6544/6544 source files have been analyzed
INFO: Sensor PL/SQL Sensor [plsql] (done) | time=612074ms

Final Result;

INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
INFO: Total time: 17:24.714s
INFO: Final Memory: 48M/2004M
INFO: ------------------------------------------------------------------------
ERROR: Error during SonarQube Scanner execution
ERROR: Failed to upload report - 404: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<title>404 - File or directory not found.</title>
<style type="text/css">
<!--
body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}
fieldset{padding:0 15px 10px 15px;}
h1{font-size:2.4em;margin:0;color:#FFF;}
h2{font-size:1.7em;margin:0;color:#CC0000;}
h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;}
#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;
background-color:#555555;}
#content{margin:0 0 0 2%;position:relative;}
.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}
-->
</style>
</head>
<body>
<div id="header"><h1>Server Error</h1></div>
<div id="content">
 <div class="content-container"><fieldset>
  <h2>404 - File or directory not found.</h2>
  <h3>The resource you are looking for might have been removed, had its name changed, or is temporarily unavailable.</h3>
 </fieldset></div>
</div>
</body>
</html>

ERROR:
ERROR: Re-run SonarQube Scanner using the -X switch to enable full debug logging.

(Colin Mueller) #2

Bulent,

Those are an interesting set of errors.

First things first, what versions of SonarQube and SonarTSQL are you running?

Checkout the “Important Notes” section of the SonarTSQL plugin documentation for information on what to do when both the TSQL and PL/SQL analyzers are installed.

The 404 error you’re getting I’m more unsure of, especially since it would appear to have gotten past downloading analyzers/quality profiles, the URLs for which would be derived from the parameters you pass to the scanner.

Can you start by fixing the first problem (overriding the plsql and tsql suffix properties to make sure the TSQL analyzer is used only, either at the global or project level) and report back? Turning on debug mode (sonar.verbose=true) and coming back with the full logs (redacted if necessary) would also be a big help.

Colin


(Nicolas Bontoux) #3

Hey guys,

Gut feeling: intermediate proxy throwing back a 404 when seeing the analysis report going through (e.g. because the report exceeds some maximum HTTP payload size). What makes me think that:

  • analysis seems to be huge (6544/6544 source files have been analyzed)
  • error HTML content (The resource you are looking for might have been removed) is not coming from any SonarQube stack
  • -Dsonar.host.url=https://... confirms that proxy is in use (to allow HTTPS)

What I would suggest:

  • get in touch with the folks maintaining proxy setup, to see if they can spot the request kicked back with 404 (e.g. in logs with associated error)
  • try an analysis which would directly hit SonarQube (bypassing proxy), to see if behaviour differs