geerlingguy / drupalci-sonar-jenkins

DEPRECATED - Drupal CI environment with SonarQube and Jenkins for Drupal Core code analysis.
41 stars 16 forks source link

Error during Sonar runner execution caused by java.sql.SQLException #13

Closed sergiosdlima closed 6 years ago

sergiosdlima commented 8 years ago

I got an build failure when I tried to run the default Drupal 7 job from Drupal CI sonar jenkins vagrant VM.

Following the full output:

Started by user anonymous
Building in workspace /var/lib/jenkins/jobs/Drupal 7/workspace
No JDK named ‘(Inherit From Job)’ found
No JDK named ‘(Inherit From Job)’ found
Cloning the remote Git repository
Cloning repository http://git.drupal.org/project/drupal.git
 > git init /var/lib/jenkins/jobs/Drupal 7/workspace/drupal # timeout=10
Fetching upstream changes from http://git.drupal.org/project/drupal.git
 > git --version # timeout=10
 > git fetch --tags --progress http://git.drupal.org/project/drupal.git +refs/heads/*:refs/remotes/origin/*
 > git config remote.origin.url http://git.drupal.org/project/drupal.git # timeout=10
 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url http://git.drupal.org/project/drupal.git # timeout=10
Fetching upstream changes from http://git.drupal.org/project/drupal.git
 > git fetch --tags --progress http://git.drupal.org/project/drupal.git +refs/heads/*:refs/remotes/origin/*
 > git rev-parse origin/7.x^{commit} # timeout=10
Checking out Revision 128e39ae7db0298102d48cdbbbba07f4584affd5 (origin/7.x)
No JDK named ‘(Inherit From Job)’ found
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 128e39ae7db0298102d48cdbbbba07f4584affd5
First time build. Skipping changelog.
 > git tag -a -f -m Jenkins Build #1 jenkins-Drupal_7-1 # timeout=10
No JDK named ‘(Inherit From Job)’ found
[workspace] $ /usr/local/sonar-runner/bin/sonar-runner -e -Dsonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?autoReconnect=true ******** ******** -Dsonar.host.url=http://localhost:9000 "-Dsonar.projectBaseDir=/var/lib/jenkins/jobs/Drupal 7/workspace" -Dproject.settings=/etc/sonar/sonar-7.properties
SonarQube Runner 2.3
Java 1.7.0_85 Oracle Corporation (64-bit)
Linux 2.6.32-573.3.1.el6.x86_64 amd64
INFO: Error stacktraces are turned on.
INFO: Runner configuration file: /usr/local/sonar-runner/conf/sonar-runner.properties
INFO: Project configuration file: /etc/sonar/sonar-7.properties
INFO: Default locale: "en_US", source code encoding: "UTF-8"
INFO: Work directory: /var/lib/jenkins/jobs/Drupal 7/workspace/.sonar
INFO: SonarQube Server 3.7.4
19:20:12.623 INFO  - Load batch settings
19:20:12.722 INFO  - User cache: /var/lib/jenkins/.sonar/cache
19:20:12.729 INFO  - Install plugins
19:20:13.008 INFO  - Install JDBC driver
19:20:13.019 INFO  - Create JDBC datasource for jdbc:mysql://localhost:3306/sonar?autoReconnect=true
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
Total time: 5.817s
Final Memory: 5M/36M
INFO: ------------------------------------------------------------------------
ERROR: Error during Sonar runner execution
org.sonar.runner.impl.RunnerException: Unable to execute Sonar
    at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:91)
    at org.sonar.runner.impl.BatchLauncher$1.run(BatchLauncher.java:75)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:69)
    at org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50)
    at org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:102)
    at org.sonar.runner.api.Runner.execute(Runner.java:90)
    at org.sonar.runner.Main.executeTask(Main.java:70)
    at org.sonar.runner.Main.execute(Main.java:59)
    at org.sonar.runner.Main.main(Main.java:41)
Caused by: java.lang.IllegalStateException: Fail to connect to database
    at org.sonar.core.persistence.DefaultDatabase.start(DefaultDatabase.java:78)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.invokeMethod(ReflectionLifecycleStrategy.java:110)
    at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.start(ReflectionLifecycleStrategy.java:89)
    at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.start(AbstractInjectionFactory.java:84)
    at org.picocontainer.behaviors.AbstractBehavior.start(AbstractBehavior.java:169)
    at org.picocontainer.behaviors.Stored$RealComponentLifecycle.start(Stored.java:132)
    at org.picocontainer.behaviors.Stored.start(Stored.java:110)
    at org.picocontainer.DefaultPicoContainer.potentiallyStartAdapter(DefaultPicoContainer.java:1015)
    at org.picocontainer.DefaultPicoContainer.startAdapters(DefaultPicoContainer.java:1008)
    at org.picocontainer.DefaultPicoContainer.start(DefaultPicoContainer.java:766)
    at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:91)
    at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77)
    at org.sonar.batch.bootstrapper.Batch.startBatch(Batch.java:92)
    at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:74)
    at org.sonar.runner.batch.IsolatedLauncher.execute(IsolatedLauncher.java:45)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:87)
    ... 9 more
Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)
    at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549)
    at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)
    at org.apache.commons.dbcp.BasicDataSource.getLogWriter(BasicDataSource.java:1098)
    at org.apache.commons.dbcp.BasicDataSourceFactory.createDataSource(BasicDataSourceFactory.java:350)
    at org.sonar.core.persistence.DefaultDatabase.initDatasource(DefaultDatabase.java:135)
    at org.sonar.core.persistence.DefaultDatabase.start(DefaultDatabase.java:72)
    ... 32 more
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
    at com.mysql.jdbc.Util.getInstance(Util.java:386)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1015)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:975)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:920)
    at com.mysql.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:2385)
    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2306)
    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:834)
    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
    at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:416)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:317)
    at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
    at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
    at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556)
    at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545)
    ... 37 more
Caused by: java.sql.SQLException: Access denied for user 'sonar'@'localhost' (using password: YES)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1078)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4120)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4052)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:925)
    at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:4615)
    at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1302)
    at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2483)
    at com.mysql.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:2324)
    ... 51 more
ERROR: 
ERROR: Re-run SonarQube Runner using the -X switch to enable full debug logging.
Build step 'Invoke Standalone SonarQube Analysis' marked build as failure
Finished: FAILURE

It seems the credentials of sonar database is wrong, but I tested the command "mysqldump -usonar -psonar -hlocalhost sonar > dump.sql" inside the vm and it returned success.

My environment is: Ubuntu 14.04.3 LTS Vagrant v1.7.4 VirtualBox v4.3.30

nbouhid commented 8 years ago

Go to http://192.168.99.9:8080/configure, and then scroll down until you see the following: image

Make sure user/pass is sonar

geerlingguy commented 6 years ago

This project is being deprecated (though the underlying roles are still maintained); please see https://github.com/geerlingguy/drupalci-sonar-jenkins/issues/27