log error/database corrupted?

33 views
Skip to first unread message

Alex Wolf

unread,
Dec 12, 2024, 10:13:34 AM12/12/24
to Camelot Project
Hello there,

I have an instance of Camelot with 3 datasets (4 including the default, which has no data in it).  It was working fine until yesterday, when I started getting error messages.  Camelot will open, but hitting 'Connect' either results in an error message or it just spins indefinitely.  A DOS/command window is opening and staying open and notes errors with the SHA database, which was the last one I was working with before it stopped working.  I'm pasting the Camelot and command logs below.

Yesterday morning my computer did an unexpected shutdown and update install (Windows 11), but Camelot worked at least once after that so I'm not sure if that's part of the issue or not.

I tried repairing the java/jar install, which sometimes seems to help but didn't this time.

Any help will be much appreciated!

Thank you,
Alex

=> IPC: {:type :ipc-initialised} IPC => BROADCAST: {:type :config-read-request-event} IPC => BROADCAST: {:type :process-state-notification-request-event} BROADCASTING EVENT: {:type :config-read-request-event} BROADCASTING EVENT: {:type :process-state-notification-request-event} BROADCASTING EVENT: {:type :config-read-event, :configuration {:datasets {:EMP {:name "EMP", :paths {:media "C:\\Users\\awolf\\AppData\\Local\\camelot\\Datasets\\EMP\\Media", :filestore-base "C:\\Users\\awolf\\AppData\\Local\\camelot\\Datasets\\EMP\\FileStore", :backup "C:\\Users\\awolf\\AppData\\Local\\camelot\\Datasets\\EMP\\Backups", :database "C:\\Users\\awolf\\AppData\\Local\\camelot\\Datasets\\EMP"}}, :SHA {:name "SHA", :paths {:media "C:\\Users\\awolf\\AppData\\Local\\camelot\\Datasets\\SHA\\Media", :filestore-base "C:\\Users\\awolf\\AppData\\Local\\camelot\\Datasets\\SHA\\FileStore", :backup "C:\\Users\\awolf\\AppData\\Local\\camelot\\Datasets\\SHA\\Backups", :database "C:\\Users\\awolf\\AppData\\Local\\camelot\\Datasets\\SHA"}}, :WAL {:name "WAL", :paths {:media "C:\\Users\\awolf\\AppData\\Local\\camelot\\Datasets\\WAL\\Media", :filestore-base "C:\\Users\\awolf\\AppData\\Local\\camelot\\Datasets\\WAL\\FileStore", :backup "C:\\Users\\awolf\\AppData\\Local\\camelot\\Datasets\\WAL\\Backups", :database "C:\\Users\\awolf\\AppData\\Local\\camelot\\Datasets\\WAL"}}, :default {:name "default", :paths {:media "C:\\Users\\awolf\\AppData\\Local\\camelot\\Datasets\\default\\Media", :filestore-base "C:\\Users\\awolf\\AppData\\Local\\camelot\\Datasets\\default\\FileStore", :backup "C:\\Users\\awolf\\AppData\\Local\\camelot\\Datasets\\default\\Backups", :database "C:\\Users\\awolf\\AppData\\Local\\camelot\\Datasets\\default"}}}, :client-id "<redacted>", :open-browser-on-startup true, :server {:http-port 5341, :media-importers 4, :jvm-extra-args ""}, :paths {:log "C:\\Users\\awolf\\AppData\\Local\\camelot\\Logs", :config "C:\\Users\\awolf\\AppData\\Roaming\\camelot", :root "C:\\Users\\awolf", :application "."}, :java-command "java", :language :en, :detector {:enabled false, :api-url "https://api.prod.camelotproject.org", :confidence-threshold 0.9}, :dev-mode false, :species-name-style :scientific, :send-usage-data false}} BROADCASTING EVENT: {:type :process-state-notification-event, :current-state :unknown} BROADCAST => IPC: {:type :config-read-event, :configuration {:datasets {:EMP {:name "EMP", :paths {:media "C:\\Users\\awolf\\AppData\\Local\\camelot\\Datasets\\EMP\\Media", :filestore-base "C:\\Users\\awolf\\AppData\\Local\\camelot\\Datasets\\EMP\\FileStore", :backup "C:\\Users\\awolf\\AppData\\Local\\camelot\\Datasets\\EMP\\Backups", :database "C:\\Users\\awolf\\AppData\\Local\\camelot\\Datasets\\EMP"}}, :SHA {:name "SHA", :paths {:media "C:\\Users\\awolf\\AppData\\Local\\camelot\\Datasets\\SHA\\Media", :filestore-base "C:\\Users\\awolf\\AppData\\Local\\camelot\\Datasets\\SHA\\FileStore", :backup "C:\\Users\\awolf\\AppData\\Local\\camelot\\Datasets\\SHA\\Backups", :database "C:\\Users\\awolf\\AppData\\Local\\camelot\\Datasets\\SHA"}}, :WAL {:name "WAL", :paths {:media "C:\\Users\\awolf\\AppData\\Local\\camelot\\Datasets\\WAL\\Media", :filestore-base "C:\\Users\\awolf\\AppData\\Local\\camelot\\Datasets\\WAL\\FileStore", :backup "C:\\Users\\awolf\\AppData\\Local\\camelot\\Datasets\\WAL\\Backups", :database "C:\\Users\\awolf\\AppData\\Local\\camelot\\Datasets\\WAL"}}, :default {:name "default", :paths {:media "C:\\Users\\awolf\\AppData\\Local\\camelot\\Datasets\\default\\Media", :filestore-base "C:\\Users\\awolf\\AppData\\Local\\camelot\\Datasets\\default\\FileStore", :backup "C:\\Users\\awolf\\AppData\\Local\\camelot\\Datasets\\default\\Backups", :database "C:\\Users\\awolf\\AppData\\Local\\camelot\\Datasets\\default"}}}, :client-id "<redacted>", :open-browser-on-startup true, :server {:http-port 5341, :media-importers 4, :jvm-extra-args ""}, :paths {:log "C:\\Users\\awolf\\AppData\\Local\\camelot\\Logs", :config "C:\\Users\\awolf\\AppData\\Roaming\\camelot", :root "C:\\Users\\awolf", :application "."}, :java-command "java", :language :en, :detector {:enabled false, :api-url "https://api.prod.camelotproject.org", :confidence-threshold 0.9}, :dev-mode false, :species-name-style :scientific, :send-usage-data false}} BROADCAST => IPC: {:type :process-state-notification-event, :current-state :unknown} BROADCASTING EVENT: {:type :process-state-change-event, :new-state :stopped, :old-state :unknown} BROADCAST => IPC: {:type :process-state-change-event, :new-state :stopped, :old-state :unknown} IPC => BROADCAST: {:target-state :started, :type :process-state-change-request-event} BROADCASTING EVENT: {:target-state :started, :type :process-state-change-request-event} BROADCASTING EVENT: {:type :process-state-change-event, :new-state :starting, :old-state :stopped} BROADCAST => IPC: {:type :process-state-change-event, :new-state :starting, :old-state :stopped} IPC => BROADCAST: {:type :logs-read-request-event} BROADCASTING EVENT: {:type :logs-read-request-event}
WARNING: The secret key for the session cookie store should be a byte array.
String secret keys have been deprecated.
WARNING: The secret key for the session cookie store should be a byte array.
String secret keys have been deprecated.
Exception in thread "async-dispatch-1" clojure.lang.ExceptionInfo: Error in component :database in system com.stuartsierra.component.SystemMap calling #'com.stuartsierra.component/start {:reason :com.stuartsierra.component/component-function-threw-exception, :function #'com.stuartsierra.component/start, :system-key :database, :component #camelot.system.db.core.Database{:connections {:default {:classname "org.apache.derby.jdbc.EmbeddedDriver", :subprotocol "derby", :subname "C:\\Users\\awolf\\AppData\\Local\\camelot\\Datasets\\default\\Database", :create true}, :EMP {:classname "org.apache.derby.jdbc.EmbeddedDriver", :subprotocol "derby", :subname "C:\\Users\\awolf\\AppData\\Local\\camelot\\Datasets\\EMP\\Database", :create true}, :SHA {:classname "org.apache.derby.jdbc.EmbeddedDriver", :subprotocol "derby", :subname "C:\\Users\\awolf\\AppData\\Local\\camelot\\Datasets\\SHA\\Database", :create true}, :WAL {:classname "org.apache.derby.jdbc.EmbeddedDriver", :subprotocol "derby", :subname "C:\\Users\\awolf\\AppData\\Local\\camelot\\Datasets\\WAL\\Database", :create true}}}, :system #<SystemMap>}
        at com.stuartsierra.component$try_action.invokeStatic(component.cljc:119)
        at com.stuartsierra.component$try_action.invoke(component.cljc:116)
        at com.stuartsierra.component$update_system$fn__2382.invoke(component.cljc:139)
        at clojure.lang.ArraySeq.reduce(ArraySeq.java:116)
        at clojure.core$reduce.invokeStatic(core.clj:6827)
        at clojure.core$reduce.invoke(core.clj:6810)
        at com.stuartsierra.component$update_system.invokeStatic(component.cljc:135)
        at com.stuartsierra.component$update_system.doInvoke(component.cljc:129)
        at clojure.lang.RestFn.invoke(RestFn.java:445)
        at com.stuartsierra.component$start_system.invokeStatic(component.cljc:163)
        at com.stuartsierra.component$start_system.invoke(component.cljc:155)
        at com.stuartsierra.component$start_system.invokeStatic(component.cljc:161)
        at com.stuartsierra.component$start_system.invoke(component.cljc:155)
        at com.stuartsierra.component.SystemMap.start(component.cljc:178)
        at camelot.system.systems$pre_init.invokeStatic(systems.clj:51)
        at camelot.system.systems$pre_init.invoke(systems.clj:47)
        at camelot.system.core$build_lifecycle$fn__43617$state_machine__12762__auto____43622$fn__43624.invoke(core.clj:50)
        at camelot.system.core$build_lifecycle$fn__43617$state_machine__12762__auto____43622.invoke(core.clj:50)
        at clojure.core.async.impl.ioc_macros$run_state_machine.invokeStatic(ioc_macros.clj:978)
        at clojure.core.async.impl.ioc_macros$run_state_machine.invoke(ioc_macros.clj:977)
        at clojure.core.async.impl.ioc_macros$run_state_machine_wrapped.invokeStatic(ioc_macros.clj:982)
        at clojure.core.async.impl.ioc_macros$run_state_machine_wrapped.invoke(ioc_macros.clj:980)
        at camelot.system.core$build_lifecycle$fn__43617.invoke(core.clj:50)
        at clojure.lang.AFn.run(AFn.java:22)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at clojure.core.async.impl.concurrent$counted_thread_factory$reify__8157$fn__8158.invoke(concurrent.clj:29)
        at clojure.lang.AFn.run(AFn.java:22)
        at java.lang.Thread.run(Unknown Source)
Caused by: java.sql.SQLException: Failed to start database 'C:\Users\awolf\AppData\Local\camelot\Datasets\SHA\Database' with class loader sun.misc.Launcher$AppClassLoader@4f8e5cde, see the next exception for details.
        at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
        at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
        at org.apache.derby.impl.jdbc.Util.seeNextException(Unknown Source)
        at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(Unknown Source)
        at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
        at org.apache.derby.jdbc.InternalDriver$1.run(Unknown Source)
        at org.apache.derby.jdbc.InternalDriver$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.apache.derby.jdbc.InternalDriver.getNewEmbedConnection(Unknown Source)
        at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
        at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
        at org.apache.derby.jdbc.AutoloadedDriver.connect(Unknown Source)
        at java.sql.DriverManager.getConnection(Unknown Source)
        at java.sql.DriverManager.getConnection(Unknown Source)
        at clojure.java.jdbc$get_connection.invokeStatic(jdbc.clj:255)
        at clojure.java.jdbc$get_connection.invoke(jdbc.clj:176)
        at camelot.system.db.core$connect.invokeStatic(core.clj:56)
        at camelot.system.db.core$connect.invoke(core.clj:53)
        at clojure.core$map$fn__5866.invoke(core.clj:2755)
        at clojure.lang.LazySeq.sval(LazySeq.java:42)
        at clojure.lang.LazySeq.seq(LazySeq.java:51)
        at clojure.lang.Cons.next(Cons.java:39)
        at clojure.lang.RT.next(RT.java:713)
        at clojure.core$next__5386.invokeStatic(core.clj:64)
        at clojure.core$dorun.invokeStatic(core.clj:3142)
        at clojure.core$doall.invokeStatic(core.clj:3148)
        at clojure.core$doall.invoke(core.clj:3148)
        at camelot.system.db.core.Database.start(core.clj:69)
        at com.stuartsierra.component$fn__2331$G__2325__2333.invoke(component.cljc:5)
        at com.stuartsierra.component$fn__2331$G__2324__2336.invoke(component.cljc:5)
        at clojure.lang.AFn.applyToHelper(AFn.java:154)
        at clojure.lang.AFn.applyTo(AFn.java:144)
        at clojure.lang.Var.applyTo(Var.java:705)
        at clojure.core$apply.invokeStatic(core.clj:667)
        at clojure.core$apply.invoke(core.clj:660)
        at com.stuartsierra.component$try_action.invokeStatic(component.cljc:117)
        ... 28 more
Caused by: ERROR XJ040: Failed to start database 'C:\Users\awolf\AppData\Local\camelot\Datasets\SHA\Database' with class loader sun.misc.Launcher$AppClassLoader@4f8e5cde, see the next exception for details.
        at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
        at org.apache.derby.impl.jdbc.SQLExceptionFactory.wrapArgsForTransportAcrossDRDA(Unknown Source)
        ... 64 more
Caused by: ERROR XSLAO: Recovery failed unexpected problem: Log record is Not first but transaction is not in transaction table : 1172272.
        at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
        at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
        at org.apache.derby.impl.store.raw.log.FileLogger.redo(Unknown Source)
        at org.apache.derby.impl.store.raw.log.LogToFile.recover(Unknown Source)
        at org.apache.derby.impl.store.raw.RawStore.boot(Unknown Source)
        at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown Source)
        at org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown Source)
        at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(Unknown Source)
        at org.apache.derby.impl.services.monitor.FileMonitor.startModule(Unknown Source)
        at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Unknown Source)
        at org.apache.derby.impl.store.access.RAMAccessManager$5.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.apache.derby.impl.store.access.RAMAccessManager.bootServiceModule(Unknown Source)
        at org.apache.derby.impl.store.access.RAMAccessManager.boot(Unknown Source)
        at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown Source)
        at org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown Source)
        at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(Unknown Source)
        at org.apache.derby.impl.services.monitor.FileMonitor.startModule(Unknown Source)
        at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Unknown Source)
        at org.apache.derby.impl.db.BasicDatabase$5.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.apache.derby.impl.db.BasicDatabase.bootServiceModule(Unknown Source)
        at org.apache.derby.impl.db.BasicDatabase.bootStore(Unknown Source)
        at org.apache.derby.impl.db.BasicDatabase.boot(Unknown Source)
        at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown Source)
        at org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown Source)
        at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(Unknown Source)
        at org.apache.derby.impl.services.monitor.BaseMonitor.startProviderService(Unknown Source)
        at org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndStartService(Unknown Source)
        at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(Unknown Source)
        at org.apache.derby.iapi.services.monitor.Monitor.startPersistentService(Unknown Source)
        at org.apache.derby.impl.jdbc.EmbedConnection$4.run(Unknown Source)
        at org.apache.derby.impl.jdbc.EmbedConnection$4.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.apache.derby.impl.jdbc.EmbedConnection.startPersistentService(Unknown Source)
        ... 61 more

Alex Wolf

unread,
Dec 16, 2024, 10:38:17 AM12/16/24
to Camelot Project
I also tried reinstalling Camelot using the instructions on the upgrade page of the documentation, but I'm getting the same error.
Thanks,
Alex

Chris Mann

unread,
Dec 17, 2024, 4:21:03 AM12/17/24
to Alex Wolf, Camelot Project
Hi Alex,

This definitely seems like database corruption. The ideal course of
action is to restore the SHA database from backup.

I can attempt repair if that is not viable though. If you would like me
to attempt repair, please share with me a copy SHA database in a .zip
file.

Regards,
--
Chris Mann

Alex Wolf

unread,
Dec 17, 2024, 9:14:45 AM12/17/24
to Camelot Project
Hi Chris,

Thanks for your reply.  I don't see Backup folders in any of my datasets' folders, only the Database and Media folders.  Have I missed a critical step here?  Perhaps an error on my part, I installed Camelot into C:\Users\awolf\Documents\camelot-1.6.16-win32-x64\camelot-1.6.16, which is where I'd been running it from - might that be part of the issue?  But it seemed to work fine up to the point that it didn't.  We had already IDed photos for the other two datasets, and I was two thirds through our last one, SHA.  Are there steps I should take now to preserve the two other datasets?  I now regret not exporting data reports as we finished the other two datasets.  

If I want to send you the zip for SHA, would it just be the contents seen below at this point?  I see there are log files in the Camelot folder under Documents as well.

Many thanks for your help on this!
-Alex

Screenshot 2024-12-17 090842.pngC:\Users\awolf\Documents\camelot-1.6.16-win32-x64\camelot-1.6.16Screenshot 2024-12-17 091000.png
Reply all
Reply to author
Forward
0 new messages