Guice related issue, 20 "no implementation" errors reported on service start

1. Describe your incident:

Fresh installation of the version 6.1.7 on FreeBSD 14.2 from the ports. JDK21 is used by default. Upon the startup there are 20 error messages from the Guice:

2025-03-13 17:30:26,125 ERROR o.g.b.CmdLineTool [main] Guice error (more detail on log level debug): No implementation for java.util.Map<org.graylog2.storage.SearchVersion, jakart
a.inject.Provider<org.graylog.events.search.MoreSearchAdapter>> was bound.
2025-03-13 17:30:26,126 ERROR o.g.b.CmdLineTool [main] Guice error (more detail on log level debug): No implementation for java.util.Map<org.graylog2.storage.SearchVersion, jakart
a.inject.Provider<org.graylog.plugins.views.migrations.V20200730000000_AddGl2MessageIdFieldAliasForEvents$ElasticsearchAdapter>> was bound.
2025-03-13 17:30:26,126 ERROR o.g.b.CmdLineTool [main] Guice error (more detail on log level debug): No implementation for java.util.Map<org.graylog2.storage.SearchVersion, jakart
a.inject.Provider<org.graylog.plugins.views.search.engine.QueryBackend<? extends org.graylog.plugins.views.search.engine.GeneratedQueryContext>>> was bound.
2025-03-13 17:30:26,126 ERROR o.g.b.CmdLineTool [main] Guice error (more detail on log level debug): No implementation for java.util.Map<org.graylog2.storage.SearchVersion, jakart
a.inject.Provider<org.graylog.plugins.views.search.engine.QuerySuggestionsService>> was bound.
2025-03-13 17:30:26,126 ERROR o.g.b.CmdLineTool [main] Guice error (more detail on log level debug): No implementation for java.util.Map<org.graylog2.storage.SearchVersion, jakart
a.inject.Provider<org.graylog.plugins.views.search.export.ExportBackend>> was bound.
2025-03-13 17:30:26,126 ERROR o.g.b.CmdLineTool [main] Guice error (more detail on log level debug): No implementation for java.util.Map<org.graylog2.storage.SearchVersion, jakart
a.inject.Provider<org.graylog2.indexer.IndexToolsAdapter>> was bound.
2025-03-13 17:30:26,127 ERROR o.g.b.CmdLineTool [main] Guice error (more detail on log level debug): No implementation for java.util.Map<org.graylog2.storage.SearchVersion, jakart
a.inject.Provider<org.graylog2.indexer.cluster.ClusterAdapter>> was bound.
2025-03-13 17:30:26,127 ERROR o.g.b.CmdLineTool [main] Guice error (more detail on log level debug): No implementation for java.util.Map<org.graylog2.storage.SearchVersion, jakart
a.inject.Provider<org.graylog2.indexer.cluster.NodeAdapter>> was bound.
2025-03-13 17:30:26,127 ERROR o.g.b.CmdLineTool [main] Guice error (more detail on log level debug): No implementation for java.util.Map<org.graylog2.storage.SearchVersion, jakart
a.inject.Provider<org.graylog2.indexer.counts.CountsAdapter>> was bound.
2025-03-13 17:30:26,127 ERROR o.g.b.CmdLineTool [main] Guice error (more detail on log level debug): No implementation for java.util.Map<org.graylog2.storage.SearchVersion, jakart
a.inject.Provider<org.graylog2.indexer.datanode.ProxyRequestAdapter>> was bound.
2025-03-13 17:30:26,127 ERROR o.g.b.CmdLineTool [main] Guice error (more detail on log level debug): No implementation for java.util.Map<org.graylog2.storage.SearchVersion, jakart
a.inject.Provider<org.graylog2.indexer.datanode.RemoteReindexingMigrationAdapter>> was bound.
2025-03-13 17:30:26,128 ERROR o.g.b.CmdLineTool [main] Guice error (more detail on log level debug): No implementation for java.util.Map<org.graylog2.storage.SearchVersion, jakart
a.inject.Provider<org.graylog2.indexer.datastream.DataStreamAdapter>> was bound.
2025-03-13 17:30:26,128 ERROR o.g.b.CmdLineTool [main] Guice error (more detail on log level debug): No implementation for java.util.Map<org.graylog2.storage.SearchVersion, jakart
a.inject.Provider<org.graylog2.indexer.fieldtypes.IndexFieldTypePollerAdapter>> was bound.
2025-03-13 17:30:26,128 ERROR o.g.b.CmdLineTool [main] Guice error (more detail on log level debug): No implementation for java.util.Map<org.graylog2.storage.SearchVersion, jakart
a.inject.Provider<org.graylog2.indexer.fieldtypes.streamfiltered.esadapters.StreamsForFieldRetriever>> was bound.
2025-03-13 17:30:26,128 ERROR o.g.b.CmdLineTool [main] Guice error (more detail on log level debug): No implementation for java.util.Map<org.graylog2.storage.SearchVersion, jakart
a.inject.Provider<org.graylog2.indexer.indices.IndicesAdapter>> was bound.
2025-03-13 17:30:26,128 ERROR o.g.b.CmdLineTool [main] Guice error (more detail on log level debug): No implementation for java.util.Map<org.graylog2.storage.SearchVersion, jakart
a.inject.Provider<org.graylog2.indexer.messages.MessagesAdapter>> was bound.
2025-03-13 17:30:26,128 ERROR o.g.b.CmdLineTool [main] Guice error (more detail on log level debug): No implementation for java.util.Map<org.graylog2.storage.SearchVersion, jakart
a.inject.Provider<org.graylog2.indexer.results.MultiChunkResultRetriever>> was bound.
2025-03-13 17:30:26,129 ERROR o.g.b.CmdLineTool [main] Guice error (more detail on log level debug): No implementation for java.util.Map<org.graylog2.storage.SearchVersion, jakart
a.inject.Provider<org.graylog2.indexer.searches.SearchesAdapter>> was bound.
2025-03-13 17:30:26,129 ERROR o.g.b.CmdLineTool [main] Guice error (more detail on log level debug): No implementation for java.util.Map<org.graylog2.storage.SearchVersion, jakart
a.inject.Provider<org.graylog2.indexer.security.SecurityAdapter>> was bound.
2025-03-13 17:30:26,129 ERROR o.g.b.CmdLineTool [main] Guice error (more detail on log level debug): No implementation for java.util.Map<org.graylog2.storage.SearchVersion, jakart
a.inject.Provider<org.graylog2.migrations.V20170607164210_MigrateReopenedIndicesToAliases$ClusterState>> was bound.
2025-03-13 17:30:26,129 ERROR o.g.b.CmdLineTool [main] Startup error:
com.google.inject.CreationException: Unable to create injector, see the following errors:

1) [Guice/MissingImplementation]: No implementation for Map<SearchVersion, Provider<MoreSearchAdapter>> was bound.

Did you mean?
    * MoreSearchAdapter bound at VersionAwareStorageModule.configure(VersionAwareStorageModule.java:82)

    * SearchVersion annotated with interface DetectedSearchVersion bound at ElasticsearchModule.configure(ElasticsearchModule.java:30)

    * SearchVersion annotated with @Named("elasticsearch_version") bound at NamedConfigParametersOverrideModule.registerParameters(NamedConfigParametersOverrideModule.java:109)

Requested by:
1  : MoreSearchAdapterProvider.<init>(MoreSearchAdapterProvider.java:32)
      \_ for 2nd parameter
     at VersionAwareStorageModule.configure(VersionAwareStorageModule.java:82)

>>> ... the log purged ... <<<

20 errors

======================
Full classname legend:
======================
ClusterAdapter:                                                                 "org.graylog2.indexer.cluster.ClusterAdapter"
ClusterAdapterProvider:                                                         "org.graylog2.storage.providers.ClusterAdapterProvider"
CountsAdapter:                                                                  "org.graylog2.indexer.counts.CountsAdapter"
CountsAdapterProvider:                                                          "org.graylog2.storage.providers.CountsAdapterProvider"
DataStreamAdapter:                                                              "org.graylog2.indexer.datastream.DataStreamAdapter"
DataStreamAdapterProvider:                                                      "org.graylog2.storage.providers.DataStreamAdapterProvider"
DetectedSearchVersion:                                                          "org.graylog2.storage.DetectedSearchVersion"
ElasticsearchBackendProvider:                                                   "org.graylog2.storage.providers.ElasticsearchBackendProvider"
ElasticsearchModule:                                                            "org.graylog2.bindings.ElasticsearchModule"
ExportBackend:                                                                  "org.graylog.plugins.views.search.export.ExportBackend"
ExportBackendProvider:                                                          "org.graylog.plugins.views.providers.ExportBackendProvider"
GeneratedQueryContext:                                                          "org.graylog.plugins.views.search.engine.GeneratedQueryContext"
IndexFieldTypePollerAdapter:                                                    "org.graylog2.indexer.fieldtypes.IndexFieldTypePollerAdapter"
IndexFieldTypePollerAdapterProvider:                                            "org.graylog2.storage.providers.IndexFieldTypePollerAdapterProvider"
IndexToolsAdapter:                                                              "org.graylog2.indexer.IndexToolsAdapter"
IndexToolsAdapterProvider:                                                      "org.graylog2.storage.providers.IndexToolsAdapterProvider"
IndicesAdapter:                                                                 "org.graylog2.indexer.indices.IndicesAdapter"
IndicesAdapterProvider:                                                         "org.graylog2.storage.providers.IndicesAdapterProvider"
MessagesAdapter:                                                                "org.graylog2.indexer.messages.MessagesAdapter"
MessagesAdapterProvider:                                                        "org.graylog2.storage.providers.MessagesAdapterProvider"
MoreSearchAdapter:                                                              "org.graylog.events.search.MoreSearchAdapter"
MoreSearchAdapterProvider:                                                      "org.graylog2.storage.providers.MoreSearchAdapterProvider"
MultiChunkResultRetriever:                                                      "org.graylog2.indexer.results.MultiChunkResultRetriever"
MultiChunkResultRetrieverProvider:                                              "org.graylog2.storage.providers.MultiChunkResultRetrieverProvider"
Named:                                                                          "com.google.inject.name.Named"
NamedConfigParametersOverrideModule:                                            "org.graylog2.bindings.NamedConfigParametersOverrideModule"
NodeAdapter:                                                                    "org.graylog2.indexer.cluster.NodeAdapter"
NodeAdapterProvider:                                                            "org.graylog2.storage.providers.NodeAdapterProvider"
Provider:                                                                       "jakarta.inject.Provider"
ProxyRequestAdapter:                                                            "org.graylog2.indexer.datanode.ProxyRequestAdapter"
ProxyRequestAdapterProvider:                                                    "org.graylog2.storage.providers.ProxyRequestAdapterProvider"
QueryBackend:                                                                   "org.graylog.plugins.views.search.engine.QueryBackend"
QuerySuggestionsProvider:                                                       "org.graylog.plugins.views.providers.QuerySuggestionsProvider"
QuerySuggestionsService:                                                        "org.graylog.plugins.views.search.engine.QuerySuggestionsService"
RemoteReindexingMigrationAdapter:                                               "org.graylog2.indexer.datanode.RemoteReindexingMigrationAdapter"
RemoteReindexingMigrationAdapterProvider:                                       "org.graylog2.storage.providers.RemoteReindexingMigrationAdapterProvider"
SearchVersion:                                                                  "org.graylog2.storage.SearchVersion"
SearchesAdapter:                                                                "org.graylog2.indexer.searches.SearchesAdapter"
SearchesAdapterProvider:                                                        "org.graylog2.storage.providers.SearchesAdapterProvider"
SecurityAdapter:                                                                "org.graylog2.indexer.security.SecurityAdapter"
SecurityAdapterProvider:                                                        "org.graylog2.storage.providers.SecurityAdapterProvider"
StreamsForFieldRetriever:                                                       "org.graylog2.indexer.fieldtypes.streamfiltered.esadapters.StreamsForFieldRetriever"
StreamsForFieldRetrieverProvider:                                               "org.graylog2.storage.providers.StreamsForFieldRetrieverProvider"
V20170607164210_MigrateReopenedIndicesToAliases$ClusterState:                   "org.graylog2.migrations.V20170607164210_MigrateReopenedIndicesToAliases$ClusterState"
V20170607164210_MigrateReopenedIndicesToAliasesClusterStateAdapterProvider:     "org.graylog2.storage.providers.V20170607164210_MigrateReopenedIndicesToAliasesClusterStateAdapterP
rovider"
V20200730000000_AddGl2MessageIdFieldAliasForEvents$ElasticsearchAdapter:        "org.graylog.plugins.views.migrations.V20200730000000_AddGl2MessageIdFieldAliasForEvents$Elasticsea
rchAdapter"
V20200730000000_AddGl2MessageIdFieldAliasForEventsElasticsearchAdapterProvider: "org.graylog2.storage.providers.V20200730000000_AddGl2MessageIdFieldAliasForEventsElasticsearchAdap
terProvider"
VersionAwareStorageModule:                                                      "org.graylog2.storage.VersionAwareStorageModule"
ViewsBindings:                                                                  "org.graylog.plugins.views.ViewsBindings"
========================
End of classname legend:
========================

        at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:589) ~[graylog.jar:?]
        at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:163) ~[graylog.jar:?]
        at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:110) ~[graylog.jar:?]
        at com.google.inject.Guice.createInjector(Guice.java:87) ~[graylog.jar:?]
        at org.graylog2.shared.bindings.GuiceInjectorHolder.createInjector(GuiceInjectorHolder.java:34) ~[graylog.jar:?]
        at org.graylog2.bootstrap.CmdLineTool.setupInjector(CmdLineTool.java:557) ~[graylog.jar:?]
        at org.graylog2.bootstrap.CmdLineTool.doRun(CmdLineTool.java:340) ~[graylog.jar:?]
        at org.graylog2.bootstrap.CmdLineTool.run(CmdLineTool.java:270) [graylog.jar:?]
        at org.graylog2.bootstrap.Main.main(Main.java:55) [graylog.jar:?]

The service rejects to start and keeps trying endlessly with the same errors above.

2. Describe your environment:

  • OS Information: FreeBSD 14.2

  • Package Version: 6.1.7

  • Service logs, configurations, and environment variables:

3. What steps have you already taken to try and solve the problem?

Tried various JDK versions, 11 and 17, and no help. Installed the correct CA to cacerts keystore, however the problem is not related.

4. How can the community help?

Any ideas how to get around of that issue? It looks like JDK related, though I am not entirely sure.

I have tried to deploy 6.1.8, and the problem remains.