[BUG] SQLITE_BUSY The database file is locked (database is locked)
DO NOT ERASE THE TEMPLATE
FIRST-HAND CHECK - ARE YOU USING THE LATEST VERSION/SNAPSHOT OF HEADSPLUS? Have you checked to see if others have submitted the same bug report?
State here when you have checked the following points above.
Description of the bug
[0 02:42:37 WARN]: org.sqlite.SQLiteException: [SQLITE_BUSY] The database file is locked (database is locked) [0 02:42:37 WARN]: at org.sqlite.core.DB.newSQLException(DB.java:1012) [0 02:42:37 WARN]: at org.sqlite.core.DB.newSQLException(DB.java:1024) [0 02:42:37 WARN]: at org.sqlite.core.DB.execute(DB.java:863) [0 02:42:37 WARN]: at org.sqlite.core.DB.executeUpdate(DB.java:904) [0 02:42:37 WARN]: at org.sqlite.jdbc3.JDBC3PreparedStatement.executeUpdate(JDBC3PreparedStatement.java:98) [0 02:42:37 WARN]: at HeadsPlus-7.0.2.jar//io.github.thatsmusic99.headsplus.sql.StatisticsSQLManager.addToTotalSync(StatisticsSQLManager.java:350) [0 02:42:37 WARN]: at HeadsPlus-7.0.2.jar//io.github.thatsmusic99.headsplus.sql.StatisticsSQLManager.lambda$addToTotal$9(StatisticsSQLManager.java:315) [0 02:42:37 WARN]: at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) [0 02:42:37 WARN]: at org.bukkit.craftbukkit.v1_17_R1.scheduler.CraftTask.run(CraftTask.java:101) [0 02:42:37 WARN]: at org.bukkit.craftbukkit.v1_17_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:57) [0 02:42:37 WARN]: at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) [0 02:42:37 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [0 02:42:37 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [0 02:42:37 WARN]: at java.base/java.lang.Thread.run(Thread.java:833)
To Reproduce
Steps to reproduce the behavior:
- Can't tell how it happens, related to statistics
- ...
- ...
Have you been able to reproduce the bug more than once?
Maybe, yes
Expected behavior
A clear and concise description of what you expected to happen.
No errors in console
Screenshots
If applicable, add screenshots to help explain your problem.
Has a debug report been generated?
If you have a debug report, go to plugin/HeadsPlus/debug, copy your report onto pastebin or hastebin, and paste it here, but also skip to the bottom question (additional information). If you don't, fill in the information below.
Not any.
Required information
- Server version: 1.17.1
- HeadsPlus version: 7.0.2
- Whether or not the plugin uses MySQL SQLite
- Server type (e.g Spigot, Paper): Paper
- Uses Vault: Yes
- Any other pieces of information that may be required.
Additional information
Add any other information/notes you'd like to add at the bottom
Nice to know this error is back to haunt me. Will get on this in hopefully the next hour.
Nice to know this error is back to haunt me. Will get on this in hopefully the next hour.
Don't worry! You will squash them with your keyboard! SMASH boom fixed!
Can I ask if this dev build removes the errors at all? Feel free to have an ongoing report over the next 3 days or so
I'll try checking that out this night if theres no players on XD (I think it hates plugman, never tried it yet)
EDIT: Update has been applied and I'll monitor the console for errors^^ I'll let you know after 3 days if thats fine for ya
Looks like its still persisting :<
onsole : [0 15:07:40 WARN]: org.sqlite.SQLiteException: [SQLITE_BUSY] The database file is locked (database is locked) Console : [0 15:07:40 WARN]: at org.sqlite.core.DB.newSQLException(DB.java:1012) Console : [0 15:07:40 WARN]: at org.sqlite.core.DB.newSQLException(DB.java:1024) Console : [0 15:07:40 WARN]: at org.sqlite.core.DB.execute(DB.java:863) Console : [0 15:07:40 WARN]: at org.sqlite.core.DB.executeUpdate(DB.java:904) Console : [0 15:07:40 WARN]: at org.sqlite.jdbc3.JDBC3PreparedStatement.executeUpdate(JDBC3PreparedStatement.java:98) Console : [0 15:07:40 WARN]: at HeadsPlus-7.0.3+DEV_51.jar//io.github.thatsmusic99.headsplus.sql.SQLManager.lambda$executeUpdate$0(SQLManager.java:81) Console : [0 15:07:40 WARN]: at HeadsPlus-7.0.3+DEV_51.jar//io.github.thatsmusic99.headsplus.sql.SQLManager.syncDatabaseOperation(SQLManager.java:87) Console : [0 15:07:40 WARN]: at HeadsPlus-7.0.3+DEV_51.jar//io.github.thatsmusic99.headsplus.sql.SQLManager.executeUpdate(SQLManager.java:80) Console : [0 15:07:40 WARN]: at HeadsPlus-7.0.3+DEV_51.jar//io.github.thatsmusic99.headsplus.sql.StatisticsSQLManager.addToTotalSync(StatisticsSQLManager.java:350) Console : [0 15:07:40 WARN]: at HeadsPlus-7.0.3+DEV_51.jar//io.github.thatsmusic99.headsplus.sql.StatisticsSQLManager.lambda$addToTotal$9(StatisticsSQLManager.java:315) Console : [0 15:07:40 WARN]: at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) Console : [0 15:07:40 WARN]: at org.bukkit.craftbukkit.v1_17_R1.scheduler.CraftTask.run(CraftTask.java:101) Console : [0 15:07:40 WARN]: at org.bukkit.craftbukkit.v1_17_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:57) Console : [0 15:07:40 WARN]: at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) Console : [0 15:07:40 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) Console : [0 15:07:40 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) Console : [0 15:07:40 WARN]: at java.base/java.lang.Thread.run(Thread.java:833)
:( alright, will check it tomorrow, my dumbass waited 3 and a half hours for this zip file to upload just for it to get corrupted halfway through
:( alright, will check it tomorrow, my dumbass waited 3 and a half hours for this zip file to upload just for it to get corrupted halfway through
Oh noes :( Take care and no rush, take your time! Also happy holidays!!
Do you have a full log file for when this occurred (e.g. latest.log)? Happy holidays to you too!
Do you have a full log file for when this occurred (e.g. latest.log)? Happy holidays to you too!
It happens sometimes, can't tell how to reproduce it. I did a quick check and its the same stacktrace as I posted above. I think this is harmless but can't tell if there's loss (statistics related?)
Maybe better using MySQL? Maybe but that won't solve the issue for SQLite users =S
There is definitely loss involved, some sort of connection isn't closing properly and that's causing the error, hence I asked for a full log file in case there's a reason why it happens.
Ohhh boy, there's a lot I would've missed if I didn't get that, the error stays the same but the stacktrace differs occasionally which is the useful bit. Cheers!
Appreciate the ego stretch btw
Appreciate the ego stretch btw
xDDDD Damn I like your humor
Another dev build went through for this, do you want to check for the errors with it? (https://ci.pluginwiki.us/job/HeadsPlus/54/artifact/target/HeadsPlus-7.0.3+DEV_54.jar)
Another dev build went through for this, do you want to check for the errors with it? (https://ci.pluginwiki.us/job/HeadsPlus/54/artifact/target/HeadsPlus-7.0.3+DEV_54.jar)
Will try that on my next maintenance. Is it plugman-safe (?) although this isn't recommended
Most likely no, quite frankly I wouldn't risk it
Most likely no, quite frankly I wouldn't risk it
Okie dokie! I'll let you know when it happens (3 days span)
Still persists but it threw another error (this time it generated a report which I'll upload it here^^
Sqlite: https://paste.gg/p/anonymous/f3673f4819024a5eaf0018d01c73f533 12.21.2021 07_08_22-REPORT-2.json.txt
Seems that you're still on dev build 51 according to the debug report, build 54 is meant to fix it 👀
Seems that you're still on dev build 51 according to the debug report, build 54 is meant to fix it 👀
o_O I thought by putting the DEV54 jar would load first than DEV 51... Guess I'm the wrong x( Sorry!
All good, I've seen a few people in my job do a similar thing so it's pretty normal to see that kind of thing happen.
Sadness :(
https://paste.gg/p/anonymous/a5c175418dae447db74dd056755ebf95
That is quite annoying - do you think you can provide a full log of this again just to make sure nothing is missed?
That is quite annoying - do you think you can provide a full log of this again just to make sure nothing is missed?
https://paste.gg/p/anonymous/fa86d53f7d3f4e23bbe3f6c4b0e99f29
Looks like it's time to rewrite the entirety of SQL management in this plugin!
Looks like it's time to rewrite the entirety of SQL management in this plugin!
Ouch. For now this can be ignored (the sqlite busy issue) until the end of Christmas/New Year. Take a break, profit your holidays with your family^^
Wait no that's an overreaction, my mistake. I'll do that rewrite after the holidays if it's warranted 😂 trying one more thing.
Tried one last thing here as I noticed the error was happening in one specific place.
Tried one last thing here as I noticed the error was happening in one specific place.
Will test and report you back tomorrow or later^^