SCM-Manager not starting up - error after trying to update plugins in docker installation

  • I tried to update both SCM Manager running as docker as well as plugins but now SCM Manager is not starting anymore

  • expected result / system behavior: SCM Manager starts and becomes available for usage

  • observed result / system behavior: Accessing web page I get this result
    sonia.scm.migration.UpdateException: could not execute update for type com.cloudogu.auditlog.AuditLogEntry to version 3.0.0 in class sonia.scm.update.UpdateEngine$GlobalUpdateStepWrapper
    at sonia.scm.update.UpdateEngine.execute(UpdateEngine.java:99)
    at java.base/java.util.ArrayList.forEach(Unknown Source)
    at sonia.scm.update.UpdateEngine.update(UpdateEngine.java:87)
    at sonia.scm.lifecycle.BootstrapContextListener.processUpdates(BootstrapContextListener.java:178)
    at sonia.scm.lifecycle.BootstrapContextListener.startEitherMigrationOrApplication(BootstrapContextListener.java:132)
    at sonia.scm.lifecycle.BootstrapContextListener.createMigrationOrNormalModuleProvider(BootstrapContextListener.java:123)
    at sonia.scm.lifecycle.BootstrapContextListener.createStageTwoInjector(BootstrapContextListener.java:116)
    at sonia.scm.lifecycle.BootstrapContextListener.getInjector(BootstrapContextListener.java:92)
    at com.google.inject.servlet.GuiceServletContextListener.contextInitialized(GuiceServletContextListener.java:45)
    at sonia.scm.lifecycle.BootstrapContextListener.contextInitialized(BootstrapContextListener.java:73)
    at sonia.scm.lifecycle.BootstrapContextFilter.initializeContext(BootstrapContextFilter.java:57)
    at sonia.scm.lifecycle.BootstrapContextFilter.init(BootstrapContextFilter.java:48)
    at org.eclipse.jetty.servlet.FilterHolder.initialize(FilterHolder.java:133)
    at org.eclipse.jetty.servlet.ServletHandler.lambda$initialize$2(ServletHandler.java:725)
    at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)
    at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Unknown Source)
    at java.base/java.util.stream.ReferencePipeline$Head.forEach(Unknown Source)
    at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:749)
    at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:392)
    at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1305)
    at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:902)
    at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:306)
    at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:533)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:171)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:121)
    at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:89)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:171)
    at org.eclipse.jetty.server.Server.start(Server.java:470)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
    at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:89)
    at org.eclipse.jetty.server.Server.doStart(Server.java:415)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
    at sonia.scm.server.ScmServer.init(ScmServer.java:65)
    at sonia.scm.server.ScmServer.run(ScmServer.java:36)
    at sonia.scm.server.ScmServerDaemon.main(ScmServerDaemon.java:34)
    Caused by: sonia.scm.migration.UpdateException: Expected to migrate 392 audit log entries, but found 1555 in the new queryable store.
    at com.cloudogu.auditlog.H2ToQueryableUpdateStep.verifyMigration(H2ToQueryableUpdateStep.java:97)
    at com.cloudogu.auditlog.H2ToQueryableUpdateStep.doUpdate(H2ToQueryableUpdateStep.java:82)
    at sonia.scm.update.UpdateEngine$GlobalUpdateStepWrapper.doUpdate(UpdateEngine.java:194)
    at sonia.scm.update.UpdateEngine.execute(UpdateEngine.java:96)
    … 36 more

    Full Docker logs:
    at sonia.scm.lifecycle.BootstrapContextListener.processUpdates(BootstrapContextListener.java:178)
    at sonia.scm.lifecycle.BootstrapContextListener.startEitherMigrationOrApplication(BootstrapContextListener.java:132)
    at sonia.scm.lifecycle.BootstrapContextListener.createMigrationOrNormalModuleProvider(BootstrapContextListener.java:123)
    at sonia.scm.lifecycle.BootstrapContextListener.createStageTwoInjector(BootstrapContextListener.java:116)
    at sonia.scm.lifecycle.BootstrapContextListener.getInjector(BootstrapContextListener.java:92)
    at com.google.inject.servlet.GuiceServletContextListener.contextInitialized(GuiceServletContextListener.java:45)
    at sonia.scm.lifecycle.BootstrapContextListener.contextInitialized(BootstrapContextListener.java:73)
    at sonia.scm.lifecycle.BootstrapContextFilter.initializeContext(BootstrapContextFilter.java:57)
    at sonia.scm.lifecycle.BootstrapContextFilter.init(BootstrapContextFilter.java:48)
    at org.eclipse.jetty.servlet.FilterHolder.initialize(FilterHolder.java:133)
    at org.eclipse.jetty.servlet.ServletHandler.lambda$initialize$2(ServletHandler.java:725)
    at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)
    at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Unknown Source)
    at java.base/java.util.stream.ReferencePipeline$Head.forEach(Unknown Source)
    at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:749)
    at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:392)
    at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1305)
    at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:902)
    at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:306)
    at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:533)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:171)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:121)
    at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:89)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:171)
    at org.eclipse.jetty.server.Server.start(Server.java:470)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
    at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:89)
    at org.eclipse.jetty.server.Server.doStart(Server.java:415)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
    at sonia.scm.server.ScmServer.init(ScmServer.java:65)
    at sonia.scm.server.ScmServer.run(ScmServer.java:36)
    at sonia.scm.server.ScmServerDaemon.main(ScmServerDaemon.java:34)

    Caused by: sonia.scm.migration.UpdateException: Expected to migrate 392 audit log entries, but found 1555 in the new queryable store.
    at com.cloudogu.auditlog.H2ToQueryableUpdateStep.verifyMigration(H2ToQueryableUpdateStep.java:97)
    at com.cloudogu.auditlog.H2ToQueryableUpdateStep.doUpdate(H2ToQueryableUpdateStep.java:82)
    at sonia.scm.update.UpdateEngine$GlobalUpdateStepWrapper.doUpdate(UpdateEngine.java:194)
    at sonia.scm.update.UpdateEngine.execute(UpdateEngine.java:96)
    … 36 common frames omitted
    Oct 27, 2025 9:35:23 AM com.google.inject.servlet.GuiceFilter setPipeline
    WARNING: Multiple Servlet injectors detected. This is a warning indicating that you have more than one GuiceFilter running in your web application. If this is deliberate, you may safely ignore this message. If this is NOT deliberate however, your application may not work as expected.

  • SCM-Manager version and installed package: Docker: scmmanager/scm-manager:latest

    org.opencontainers.image.version 3.1.0

*I am unable to access SCM Manager so I am also not able to provide a trace with the support plugin

Screenshot:*

scm-manager_logs.zip (3.7 KB)

Hi @yfscmadmin ,

thanks to the complete stack trace there is no need for the support plugin. There is an issue with the migration of the audit log:

Caused by: sonia.scm.migration.UpdateException: Expected to migrate 392 audit log entries, but found 1555 in the new queryable store.

It looks like the store for the audit log somehow got more entries than expected. You can try the following:

  • shut down SCM-Manager
  • make a back-up of your scm.db file in the SCM home directory
  • open the scm.db with sqlite3: sqlite3 scm.db
  • delete the existing table for audit logs (it will be re-created at start-up): drop table com_cloudogu_auditlog_AuditLogDao_STORE;
  • exit sqlite3 (<ctrl>-d)
  • start SCM-Manager again
  • tell us, whether it is working now

Sorry for the inconveniance. Did you try to start the server multiple times? It would be interesting, why you have that many audit log entries.

Hello,

thanks for your support!

It seems to be working again.

Your advice helped and the service is available again. I committed changed files myself but am waiting for confirmation from another user.

It seems though that there is some issue with lucene indices:
2025-10-27 19:02:12.910 [CentralWorkQueue-3] [ ] ERROR sonia.scm.work.UnitOfWork - task sonia.scm.search.LuceneSimpleIndexTask@6acc46f7 failed after 48.74 ms
sonia.scm.search.SearchEngineException: failed to open index at /var/lib/scm/index/content/default
at sonia.scm.search.IndexManager.openForWrite(IndexManager.java:97)
at sonia.scm.search.LuceneIndexFactory.lambda$create$0(LuceneIndexFactory.java:48)
at sonia.scm.search.SharableIndexWriter.open(SharableIndexWriter.java:47)
at sonia.scm.search.LuceneIndex.open(LuceneIndex.java:57)
at sonia.scm.search.LuceneIndex.(LuceneIndex.java:53)
at sonia.scm.search.LuceneIndexFactory.lambda$create$1(LuceneIndexFactory.java:46)
at java.base/java.util.concurrent.ConcurrentHashMap.compute(Unknown Source)
at sonia.scm.search.LuceneIndexFactory.create(LuceneIndexFactory.java:41)
at sonia.scm.search.LuceneIndexTask.run(LuceneIndexTask.java:59)
at sonia.scm.work.UnitOfWork.run(UnitOfWork.java:112)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: org.apache.lucene.index.CorruptIndexException: file mismatch, expected id=ed7djpe670f5jv8jl0i5hjc73, got=1kc0hol7ofurxr9gylmi8wloq (resource=BufferedChecksumIndexInput(MMapIndexInput(path=“/var/lib/scm/index/content/default/_40h.si”)))
at org.apache.lucene.codecs.CodecUtil.checkIndexHeaderID(CodecUtil.java:351)
at org.apache.lucene.codecs.CodecUtil.checkIndexHeader(CodecUtil.java:256)
at org.apache.lucene.codecs.lucene86.Lucene86SegmentInfoFormat.read(Lucene86SegmentInfoFormat.java:95)
at org.apache.lucene.index.SegmentInfos.readCommit(SegmentInfos.java:357)
at org.apache.lucene.index.SegmentInfos.readCommit(SegmentInfos.java:291)
at org.apache.lucene.index.IndexFileDeleter.(IndexFileDeleter.java:165)
at org.apache.lucene.index.IndexWriter.(IndexWriter.java:1089)
at sonia.scm.search.IndexManager.openForWrite(IndexManager.java:95)
… 12 common frames omitted
Suppressed: org.apache.lucene.index.CorruptIndexException: checksum passed (6a1b9ea8). possibly transient resource issue, or a Lucene or JVM bug (resource=BufferedChecksumIndexInput(MMapIndexInput(path=“/var/lib/scm/index/content/default/_40h.si”)))
at org.apache.lucene.codecs.CodecUtil.checkFooter(CodecUtil.java:466)
at org.apache.lucene.codecs.lucene86.Lucene86SegmentInfoFormat.read(Lucene86SegmentInfoFormat.java:143)
… 17 common frames omitted
Suppressed: org.apache.lucene.index.CorruptIndexException: checksum passed (889b47c8). possibly transient resource issue, or a Lucene or JVM bug (resource=BufferedChecksumIndexInput(MMapIndexInput(path=“/var/lib/scm/index/content/default/segments_2y0”)))
at org.apache.lucene.codecs.CodecUtil.checkFooter(CodecUtil.java:466)
at org.apache.lucene.index.SegmentInfos.readCommit(SegmentInfos.java:434)
… 16 common frames omitted

Can I do this to fix it?

  • stop SCM-Manager
  • take backup of /var/lib/scm/index/content/default
  • rm /var/lib/scm/index/content/default/*
  • start SCM-Manager

Thank you very much!

Regards,

Jens

Hey Jens, glad you could make it work, thanks for the feedback. Rebuilding the search index is much easier. You can find a button for this in the global configuration (Administration → Settings → General):