ERROR: Error during SonarScanner execution
java.lang.IllegalArgumentException: 58 is not a valid line offset for pointer. File src/App.js has 57 character(s) at line 1
- Error isn’t raised on Macs, appears to be isolated to Windows.
- Running react/node in a mono-repo. Scan of mono-repo’s backend node stack doesn’t fail, fails on the frontend react stack.
- Investigated file encoding and line endings (UTF-8 without BOM, LF line endings)
- Possible related (no input file found for eslint import): "No input file found for" with eslint import · Issue #1985 · SonarSource/SonarJS · GitHub
system
Windows_NT 10.0.17763
node v10.15.3
npm v6.14.4
VS Code 1.46.1
npm packages
SonarQube-Scanner 2.7.0 (sonarqube-scanner - npm)
eslint: “^7.1.0”,
eslint-config-airbnb-typescript": “^7.2.1”,
eslint-config-prettie": “^6.11.0”,
eslint-plugin-import: “^2.20.2”,
eslint-plugin-jsx-a11y: “^6.2.3”,
eslint-plugin-prettier: “^3.1.3”,
eslint-plugin-react: “^7.20.0”,
eslint-plugin-react-hooks: “^2.5.1”,
esLint Config
module.exports = {
env: {
browser: true,
node: false,
commonjs: true,
es6: true,
jest: true,
},
plugins: ['prettier'],
extends: [
'airbnb-typescript', //
'prettier/@typescript-eslint', // Uses eslint-config-prettier to disable ESLint rules from @typescript-eslint/eslint-plugin that would conflict with prettier
'plugin:prettier/recommended', // Enables eslint-plugin-prettier and displays prettier errors as ESLint errors. Make sure this is always the last configuration in the extends array.
],
// parserOptions: {
// project: './tsconfig.json',
// tsconfigRootDir: __dirname,
// },
parserOptions: {
project: './tsconfig.json',
tsconfigRootDir: __dirname,
ecmaVersion: 2018, // Allows for the parsing of modern ECMAScript features
sourceType: 'module', // Allows for the use of imports
ecmaFeatures: {
jsx: true, // Allows for the parsing of JSX
},
},
settings: {
react: {
version: 'detect', // Tells eslint-plugin-react to automatically detect the version of React to use
},
},
rules: {
'prettier/prettier': 'warn',
'linebreak-style': ['error', 'unix'],
'react/prop-types': 0,
'import/prefer-default-export': 0,
},
};
package.json npm script
"scan:sonar": "cross-env REACT_APP_ENVIRONMENT=test node sonar-project.js -X",
sonar-project.js
/* eslint-disable */
const sonarqubeScanner = require('sonarqube-scanner');
sonarqubeScanner(
{
serverUrl: 'https://sonarcloud.io',
token: process.env.SONAR_USER_TOKEN,
options: {
// 'sonar.log.level': 'TRACE',
// 'sonar.verbose': 'true',
},
},
() => {}
);
sonar-project.properties
sonar.organization=example
sonar.projectKey=example
sonar.language=js
sonar.sourceEncoding=UTF-8
sonar.sources=src
sonar.exclusions=node_modules/**,build/**,_templates/**,public/**,**/*.test.js
sonar.tests=src
sonar.test.inclusions=**/*.test.js
sonar.testExecutionReportPaths=coverage/test-report.xml
sonar.javascript.lcov.reportPaths=coverage/lcov.info
sonar.eslint.reportPaths=coverage/eslint.json
sonar.dependencyCheck.jsonReportPath=coverage/npm-audit.json
sonar.dependencyCheck.htmlReportPath=coverage/npm-audit.html
error stack
ERROR: Error during SonarScanner execution
java.lang.IllegalArgumentException: 58 is not a valid line offset for pointer. File src/App.js has 57 character(s) at line 1
at org.sonar.api.utils.Preconditions.checkArgument(Preconditions.java:29)
at org.sonar.api.batch.fs.internal.DefaultInputFile.checkValid(DefaultInputFile.java:325)
at org.sonar.api.batch.fs.internal.DefaultInputFile.newPointer(DefaultInputFile.java:258)
at org.sonar.api.batch.fs.internal.DefaultInputFile.newRange(DefaultInputFile.java:274)
at org.sonar.plugins.javascript.external.EslintReportSensor.getLocation(EslintReportSensor.java:117)
at org.sonar.plugins.javascript.external.EslintReportSensor.saveEslintError(EslintReportSensor.java:85)
at org.sonar.plugins.javascript.external.EslintReportSensor.importReport(EslintReportSensor.java:68)
at org.sonar.plugins.javascript.external.AbstractExternalIssuesSensor.lambda$execute$1(AbstractExternalIssuesSensor.java:54)
at java.base/java.util.ArrayList.forEach(Unknown Source)
at org.sonar.plugins.javascript.external.AbstractExternalIssuesSensor.execute(AbstractExternalIssuesSensor.java:54)
at org.sonar.plugins.javascript.external.EslintReportSensor.execute(EslintReportSensor.java:43)
at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:34)
at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:78)
at org.sonar.scanner.sensor.ModuleSensorsExecutor.lambda$execute$1(ModuleSensorsExecutor.java:51)
at org.sonar.scanner.sensor.ModuleSensorsExecutor.withModuleStrategy(ModuleSensorsExecutor.java:69)
at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:51)
at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:68)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:122)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:108)
at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:418)
at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:414)
at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:372)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:122)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:108)
at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart(GlobalContainer.java:126)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:122)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:108)
at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:58)
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(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
at com.sun.proxy.$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)
App.js
import { ConnectedRouter } from 'connected-react-router';
import React, { Component } from 'react';
import { Provider } from 'react-redux';
import { ApolloProvider } from '@apollo/react-hooks';
import { configureStore, getHistory } from './modules/store';
import RoutesComponent from './view/shared/routes/RoutesComponent';
import client from './modules/shared/graphql/graphqlClient';
import log from './modules/shared/logger';
log.trace('app.mount');
const store = configureStore();
export default class App extends Component {
render() {
return (
<ApolloProvider client={client}>
<Provider store={store}>
<ConnectedRouter history={getHistory()}>
<RoutesComponent />
</ConnectedRouter>
</Provider>
</ApolloProvider>
);
}
}
Full execution log
[11:19:33] Starting SonarQube analysis...
[11:19:33] Checking if executable exists: C:\Users\Ryan\.sonar\native-sonar-scanner\sonar-scanner-4.3.0.2102-windows\bin\sonar-scanner.bat
[11:19:33] Platform binaries for SonarQube scanner found. Using it.
INFO: Scanner configuration file: C:\Users\Ryan\.sonar\native-sonar-scanner\sonar-scanner-4.3.0.2102-windows\bin\..\conf\sonar-scanner.properties
INFO: Project root configuration file: C:\Users\Ryan\Desktop\Dev Repo\ixc-mono\frontend\sonar-project.properties
INFO: SonarScanner 4.3.0.2102
INFO: Java 11.0.3 AdoptOpenJDK (64-bit)
INFO: Windows 10 10.0 amd64
INFO: User cache: C:\Users\Ryan\.sonar\cache
INFO: Scanner configuration file: C:\Users\Ryan\.sonar\native-sonar-scanner\sonar-scanner-4.3.0.2102-windows\bin\..\conf\sonar-scanner.properties
INFO: Project root configuration file: C:\Users\Ryan\Desktop\Dev Repo\ixc-mono\frontend\sonar-project.properties
INFO: Analyzing on SonarCloud
INFO: Default locale: "en_US", source code encoding: "UTF-8"
INFO: Load global settings
INFO: Load global settings (done) | time=705ms
INFO: Server id: 1BD809FA-AWHW8ct9-T_TB3XqouNu
INFO: User cache: C:\Users\Ryan\.sonar\cache
INFO: Load/download plugins
INFO: Load plugins index
INFO: Load plugins index (done) | time=159ms
INFO: Load/download plugins (done) | time=442ms
INFO: Loaded core extensions: developer-scanner
INFO: Process project properties
INFO: Execute project builders
INFO: Execute project builders (done) | time=19ms
INFO: Project key: ixc-mono-frontend
INFO: Base dir: C:\Users\Ryan\Desktop\Dev Repo\ixc-mono\frontend
INFO: Working dir: C:\Users\Ryan\Desktop\Dev Repo\ixc-mono\frontend\.scannerwork
INFO: Load project settings for component key: 'ixc-mono-frontend'
INFO: Load project settings for component key: 'ixc-mono-frontend' (done) | time=230ms
INFO: Load project branches
INFO: Load project branches (done) | time=142ms
INFO: Check ALM binding of project 'ixc-mono-frontend'
INFO: Detected project binding: NOT_BOUND
INFO: Check ALM binding of project 'ixc-mono-frontend' (done) | time=129ms
INFO: Load project pull requests
INFO: Load project pull requests (done) | time=129ms
INFO: Load branch configuration
INFO: Load branch configuration (done) | time=27ms
INFO: Load quality profiles
INFO: Load quality profiles (done) | time=188ms
INFO: Load active rules
INFO: Load active rules (done) | time=4033ms
INFO: Organization key: ixeng
INFO: Indexing files...
INFO: Project configuration:
INFO: Excluded sources: node_modules/**, build/**, _templates/**, public/**, **/*.test.js, **/*.test.js
INFO: Included tests: **/*.test.js
INFO: Load project repositories
INFO: Load project repositories (done) | time=150ms
INFO: 614 files indexed
INFO: 615 files ignored because of inclusion/exclusion patterns
INFO: 0 files ignored because of scm ignore settings
INFO: Quality profile for css: Sonar way
INFO: Quality profile for js: Sonar way
INFO: Quality profile for ts: Sonar way
INFO: ------------- Run sensors on module ixc-mono-frontend
INFO: Load metrics repository
INFO: Load metrics repository (done) | time=135ms
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by net.sf.cglib.core.ReflectUtils$1 (file:/C:/Users/Ryan/.sonar/cache/a89f1943fc75b65becd9fb4ecab8d913/sonar-tsql-plugin.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of net.sf.cglib.core.ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
INFO: Sensor SonarCSS Metrics [cssfamily]
INFO: Sensor SonarCSS Metrics [cssfamily] (done) | time=1161ms
INFO: Sensor SonarCSS Rules [cssfamily]
ERROR: openssl config failed: error:02001003:system library:fopen:No such process
INFO: 34 source files to be analyzed
INFO: 34/34 source files have been analyzed
INFO: Sensor SonarCSS Rules [cssfamily] (done) | time=50310ms
INFO: Sensor JavaXmlSensor [java]
INFO: Sensor JavaXmlSensor [java] (done) | time=6ms
INFO: Sensor HTML [web]
INFO: Sensor HTML [web] (done) | time=13ms
INFO: Sensor SonarTS [typescript]
INFO: Since SonarTS v2.0, TypeScript analysis is performed by SonarJS analyzer v6.0 or later. No TypeScript analysis is performed by SonarTS.
INFO: Sensor SonarTS [typescript] (done) | time=2ms
INFO: Sensor JaCoCo XML Report Importer [jacoco]
INFO: 'sonar.coverage.jacoco.xmlReportPaths' is not defined. Using default locations: target/site/jacoco/jacoco.xml,target/site/jacoco-it/jacoco.xml,build/reports/jacoco/test/jacocoTestReport.xml
INFO: No report imported, no coverage information will be imported by JaCoCo XML Report Importer
INFO: Sensor JaCoCo XML Report Importer [jacoco] (done) | time=19ms
INFO: Sensor JavaScript analysis [javascript]
INFO: Using TypeScript at: 'C:\Users\Ryan\Desktop\Dev Repo\ixc-mono\frontend\node_modules'
ERROR: openssl config failed: error:02001003:system library:fopen:No such process
INFO: 408 source files to be analyzed
INFO: 41/408 files analyzed, current file: src/modules/shared/graphql/graphqlClient.js
INFO: 146/408 files analyzed, current file: src/styleguide/NavMenu/NavMenu.js
INFO: 286/408 files analyzed, current file: src/view/account/list/AccountListTable.js
INFO: 408/408 source files have been analyzed
INFO: Sensor SonarJS [javascript]
INFO: 408 source files to be analyzed
INFO: 368/408 files analyzed, current file: src/i18n/pt-BR.js
INFO: Sensor SonarJS [javascript] (done) | time=11090ms
INFO: 408/408 source files have been analyzed
INFO: Sensor JavaScript analysis [javascript] (done) | time=149473ms
INFO: Sensor SonarJS Coverage [javascript]
INFO: Analysing [C:\Users\Ryan\Desktop\Dev Repo\ixc-mono\frontend\coverage\lcov.info]
WARN: Could not resolve 2 file paths in [C:\Users\Ryan\Desktop\Dev Repo\ixc-mono\frontend\coverage\lcov.info]
WARN: First unresolved path: C:\Users\Ryan\Desktop\Dev Repo\ixc-mono\frontend\src\App.js (Run in DEBUG mode to get full list of unresolved paths)
INFO: Sensor SonarJS Coverage [javascript] (done) | time=2184ms
INFO: Sensor Import of ESLint issues [javascript]
INFO: Importing C:\Users\Ryan\Desktop\Dev Repo\ixc-mono\frontend\coverage\eslint.json
...
WARN: No input file found for C:\Users\Ryan\Desktop\Dev Repo\ixc-mono\frontend\public\scripts\rudder.min.js. No ESLint issues will be imported on this file.
WARN: No input file found for C:\Users\Ryan\Desktop\Dev Repo\ixc-mono\frontend\src\App.js. No ESLint issues will be imported on this file.
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
INFO: Total time: 3:59.876s
INFO: Final Memory: 29M/110M
INFO: ------------------------------------------------------------------------
ERROR: Error during SonarScanner execution
java.lang.IllegalArgumentException: 13 is not a valid line offset for pointer. File src/config/index.js has 12 character(s) at line 3
at org.sonar.api.utils.Preconditions.checkArgument(Preconditions.java:29)
at org.sonar.api.batch.fs.internal.DefaultInputFile.checkValid(DefaultInputFile.java:325)
at org.sonar.api.batch.fs.internal.DefaultInputFile.newPointer(DefaultInputFile.java:258)
at org.sonar.api.batch.fs.internal.DefaultInputFile.newRange(DefaultInputFile.java:274)
at org.sonar.plugins.javascript.external.EslintReportSensor.getLocation(EslintReportSensor.java:117)
at org.sonar.plugins.javascript.external.EslintReportSensor.saveEslintError(EslintReportSensor.java:85)
at org.sonar.plugins.javascript.external.EslintReportSensor.importReport(EslintReportSensor.java:68)
at org.sonar.plugins.javascript.external.AbstractExternalIssuesSensor.lambda$execute$1(AbstractExternalIssuesSensor.java:54)
at java.base/java.util.ArrayList.forEach(Unknown Source)
at org.sonar.plugins.javascript.external.AbstractExternalIssuesSensor.execute(AbstractExternalIssuesSensor.java:54)
at org.sonar.plugins.javascript.external.EslintReportSensor.execute(EslintReportSensor.java:43)
at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:34)
at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:78)
at org.sonar.scanner.sensor.ModuleSensorsExecutor.lambda$execute$1(ModuleSensorsExecutor.java:51)
at org.sonar.scanner.sensor.ModuleSensorsExecutor.withModuleStrategy(ModuleSensorsExecutor.java:69)
at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:51)
at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:68)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:122)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:108)
at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:418)
at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:414)
at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:372)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:122)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:108)
at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart(GlobalContainer.java:126)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:122)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:108)
at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:58)
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(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
at com.sun.proxy.$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)
ERROR:
ERROR: Re-run SonarScanner using the -X switch to enable full debug logging.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! ixc-mono-frontend@0.1.0 scan:sonar: `cross-env REACT_APP_ENVIRONMENT=test node sonar-project.js -X`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the ixc-mono-frontend@0.1.0 scan:sonar script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.