Hi,
I use Turtle Sport v2 on a Debian.
A few weeks ago, I had a kernel bug when that mounting my Forerunner 15 filled the logs of several hundreds of gigabytes until filling the partition. I did not realize it when a little later I launched Turtle Sport. I had Turtle Sport error messages and the database is corrupt.
Now when I run Turtle Sport I have:
$ turtlesport
18:06:48,926 WARN fr.turtlesport.TurtleSport - Turtle Sport v2.0
18:06:48,927 WARN fr.turtlesport.TurtleSport - prop application.home=null
18:06:48,928 WARN fr.turtlesport.TurtleSport - java.vendor=Oracle Corporation
18:06:48,928 WARN fr.turtlesport.TurtleSport - java.runtime.name=OpenJDK Runtime Environment
18:06:48,929 WARN fr.turtlesport.TurtleSport - java.version=11.0.1
18:06:48,929 WARN fr.turtlesport.TurtleSport - java.vm.name=OpenJDK Server VM
18:06:48,929 WARN fr.turtlesport.TurtleSport - java.vm.version=11.0.1+13-Debian-2
18:06:48,930 WARN fr.turtlesport.TurtleSport - sun.arch.data.model=32
18:06:48,930 WARN fr.turtlesport.TurtleSport - prop application.home=null
18:06:48,931 WARN fr.turtlesport.TurtleSport - os.name=Linux
18:06:48,931 WARN fr.turtlesport.TurtleSport - os.arch=i386
18:06:49,471 WARN fr.turtlesport.db.DatabaseManager - derby.system.home=/home/XXX/.turtlesport
18:06:49,472 WARN fr.turtlesport.db.DatabaseManager - JDBC 4
18:06:49,670 WARN fr.turtlesport.db.DatabaseManager - Using 10.3
18:06:50,041 WARN fr.turtlesport.db.DatabaseManager - Using Apache Derby 10.3.1.4 - (561794)
18:06:50,423 ERROR fr.turtlesport.ui.swing.SwingApplication - Initialisation
java.sql.SQLException: Java exception: 'Index 1 out of bounds for length 1: java.lang.ArrayIndexOutOfBoundsException'.
at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.Util.javaException(Unknown Source)
at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedConnection40.<init>(Unknown Source)
at org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Unknown Source)
at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
at org.apache.derby.jdbc.EmbeddedDataSource.getConnection(Unknown Source)
at org.apache.derby.jdbc.EmbeddedDataSource.getConnection(Unknown Source)
at fr.turtlesport.db.DatabaseManager.getConnection(DatabaseManager.java:300)
at fr.turtlesport.db.DatabaseManager.executeUpdate(DatabaseManager.java:375)
at fr.turtlesport.db.DatabaseManager.createFunctions(DatabaseManager.java:1375)
at fr.turtlesport.db.DatabaseManager.initDatabase(DatabaseManager.java:217)
at fr.turtlesport.ui.swing.SwingApplication.startIt(SwingApplication.java:109)
at fr.turtlesport.TurtleSport.startIt(TurtleSport.java:44)
at fr.turtlesport.TurtleSport.main(TurtleSport.java:99)
Caused by: java.sql.SQLException: Java exception: 'Index 1 out of bounds for length 1: java.lang.ArrayIndexOutOfBoundsException'.
at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source)
... 20 more
Caused by: java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1
at org.apache.derby.impl.store.access.btree.BTreeForwardScan.fetchRows(Unknown Source)
at org.apache.derby.impl.store.access.btree.BTreeScan.next(Unknown Source)
at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.getDescriptorViaIndex(Unknown Source)
at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.locateSchemaRow(Unknown Source)
at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.getSchemaDescriptor(Unknown Source)
at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.initDefaultSchemaDescriptor(Unknown Source)
at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.initialize(Unknown Source)
at org.apache.derby.impl.db.BasicDatabase.setupConnection(Unknown Source)
at org.apache.derby.impl.jdbc.TransactionResourceImpl.startTransaction(Unknown Source)
... 14 more</init></init></init>
Is there a way to repair the database, or go back to a previous record by editing the "service.properties" file?
Regards.
Anonymous
Hi,
In fact, the bug and error messages are due to the version of Java used. In the previous days, updating my Debian Buster system has upgraded the JRE (OpenJDK) from version 10 to version 11. By setting alternatives to the default JRE in version 10, TurtleSport is working properly.
Regards.