[ERROR]: [com.fastasyncworldedit.core.database.DBHandler] No JDBC driver found!
rafalohaki opened this issue ยท 3 comments
Server Implementation
Paper
Server Version
1.19.3
Describe the bug
i get error after using //set stone or other and //undo
To Reproduce
//set any
or
//undo
Expected behaviour
[19:11:28 ERROR]: [com.fastasyncworldedit.core.database.DBHandler] No JDBC driver found!
java.sql.SQLException: Error opening connection
at org.sqlite.SQLiteConnection.open(SQLiteConnection.java:244) ~[sqlite-jdbc-3.36.0.3.jar:?]
at org.sqlite.SQLiteConnection.(SQLiteConnection.java:61) ~[sqlite-jdbc-3.36.0.3.jar:?]
at org.sqlite.jdbc3.JDBC3Connection.(JDBC3Connection.java:28) ~[sqlite-jdbc-3.36.0.3.jar:?]
at org.sqlite.jdbc4.JDBC4Connection.(JDBC4Connection.java:21) ~[sqlite-jdbc-3.36.0.3.jar:?]
at org.sqlite.JDBC.createConnection(JDBC.java:115) ~[sqlite-jdbc-3.36.0.3.jar:?]
at org.sqlite.JDBC.connect(JDBC.java:90) ~[sqlite-jdbc-3.36.0.3.jar:?]
at java.sql.DriverManager.getConnection(DriverManager.java:681) ~[java.sql:?]
at java.sql.DriverManager.getConnection(DriverManager.java:252) ~[java.sql:?]
at com.fastasyncworldedit.core.database.RollbackDatabase.openConnection(RollbackDatabase.java:304) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT-391.jar:?]
at com.fastasyncworldedit.core.database.RollbackDatabase.(RollbackDatabase.java:50) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT-391.jar:?]
at com.fastasyncworldedit.core.database.DBHandler.getDatabase(DBHandler.java:40) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT-391.jar:?]
at com.fastasyncworldedit.core.history.RollbackOptimizedHistory.close(RollbackOptimizedHistory.java:102) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT-391.jar:?]
at com.fastasyncworldedit.core.history.changeset.FaweStreamChangeSet.getIterator(FaweStreamChangeSet.java:689) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT-391.jar:?]
at com.fastasyncworldedit.core.history.changeset.FaweStreamChangeSet.getIterator(FaweStreamChangeSet.java:536) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT-391.jar:?]
at com.sk89q.worldedit.function.operation.ChangeSetExecutor.(ChangeSetExecutor.java:78) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT-391.jar:?]
at com.sk89q.worldedit.function.operation.ChangeSetExecutor.create(ChangeSetExecutor.java:110) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT-391.jar:?]
at com.sk89q.worldedit.EditSession.setBlocks(EditSession.java:1155) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT-391.jar:?]
at com.sk89q.worldedit.LocalSession.undo(LocalSession.java:611) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT-391.jar:?]
at com.sk89q.worldedit.command.HistoryCommands.undo(HistoryCommands.java:90) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT-391.jar:?]
at com.sk89q.worldedit.command.HistoryCommandsRegistration.cmd$undo(HistoryCommandsRegistration.java:146) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT-391.jar:?]
at org.enginehub.piston.CommandManager.execute(CommandManager.java:157) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT-391.jar:?]
at com.sk89q.worldedit.extension.platform.PlatformCommandManager.lambda$handleCommandOnCurrentThread$16(PlatformCommandManager.java:730) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT-391.jar:?]
at com.sk89q.worldedit.extension.platform.PlatformCommandManager.handleCommandTask(PlatformCommandManager.java:751) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT-391.jar:?]
at com.sk89q.worldedit.extension.platform.PlatformCommandManager.handleCommandOnCurrentThread(PlatformCommandManager.java:732) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT-391.jar:?]
at com.sk89q.worldedit.extension.platform.PlatformCommandManager.lambda$handleCommand$13(PlatformCommandManager.java:702) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT-391.jar:?]
at com.sk89q.worldedit.extension.platform.AbstractPlayerActor.lambda$runAction$1(AbstractPlayerActor.java:672) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT-391.jar:?]
at com.fastasyncworldedit.core.util.task.AsyncNotifyQueue.lambda$run$0(AsyncNotifyQueue.java:28) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT-391.jar:?]
at com.fastasyncworldedit.core.util.task.AsyncNotifyQueue.lambda$call$1(AsyncNotifyQueue.java:45) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT-391.jar:?]
at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1428) ~[?:?]
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?]
at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[?:?]
at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[?:?]
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[?:?]
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[?:?]
Caused by: java.lang.Exception: No native library found for os.name=Linux-Alpine, os.arch=aarch64, paths=[/usr/lib/jvm/java-17-amazon-corretto/lib/server:/usr/lib/jvm/java-17-amazon-corretto/lib:/usr/lib/jvm/java-17-amazon-corretto/../lib:/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib]
at org.sqlite.SQLiteJDBCLoader.loadSQLiteNativeLibrary(SQLiteJDBCLoader.java:389) ~[sqlite-jdbc-3.36.0.3.jar:?]
at org.sqlite.SQLiteJDBCLoader.initialize(SQLiteJDBCLoader.java:68) ~[sqlite-jdbc-3.36.0.3.jar:?]
at org.sqlite.core.NativeDB.load(NativeDB.java:63) ~[sqlite-jdbc-3.36.0.3.jar:?]
at org.sqlite.SQLiteConnection.open(SQLiteConnection.java:240) ~[sqlite-jdbc-3.36.0.3.jar:?]
... 33 more
Screenshots / Videos
No response
Error log (if applicable)
No response
Fawe Debugpaste
https://athion.net/ISPaster/paste/view/b029364458ed4f4b980ef4f543fe3f32
Fawe Version
-391
Checklist
- I have included a Fawe debugpaste.
- I am using the newest build from https://ci.athion.net/job/FastAsyncWorldEdit/ and the issue still persists.
Anything else?
No response
Seems like the shaded sqlite dependency in paper / bukkit itself is quite old - Linux aarcg64 is supported since 3.39.2.0: xerial/sqlite-jdbc#704
Not sure if we should ship our own version of sqlite-jdbc (@IntellectualSites/fastasyncworldedit-team?). Either way, you most certainly will have some issues in the near future, as sqlite is used internally as well iirc
Not sure if we should ship our own version of sqlite-jdbc
I strongly disagree with shipping native libraries upstream provides. I do admit, bumping these libraries isn't always easy, yet an approach consumers like us can rely upon.