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!
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