Skip to content

Cerebro Error Cannot start com.google.inject.CreationException: Unable to create injector (Slick Plugin issue or config issue?) #592

Description

@danielkurniadi

Description

We observed that the cerebro pod keep on crashing in the tm-gcp-emea-build-infra in namespace: logging during the start and there were issue related to one of the Slick java plugins. Checking in if this is a known issue that you've seen or is familiar with where you could point out the solution.

Oops, cannot start the server.
com.google.inject.CreationException: Unable to create injector, see the following errors:

1) Error injecting method, java.lang.ExceptionInInitializerError
  at com.google.inject.util.Providers$GuicifiedProviderWithDependencies.initialize(Providers.java:154)
  at play.api.db.slick.SlickModule.$anonfun$namedDatabaseConfigBindings$1(SlickModule.scala:46):
Binding(interface play.api.db.slick.DatabaseConfigProvider qualified with QualifierInstance(@play.db.NamedDatabase(value=default)) to ProviderTarget(play.api.db.slick.NamedDatabaseConfigProvider@45d64d27)) (via mod
ules: com.google.inject.util.Modules$OverrideModule -> play.api.inject.guice.GuiceableModuleConversions$$anon$4)

1 error
        at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:543)
        at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:178)
        at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:109)
        at com.google.inject.Guice.createInjector(Guice.java:87)
        at com.google.inject.Guice.createInjector(Guice.java:78)
        at play.api.inject.guice.GuiceBuilder.injector(GuiceInjectorBuilder.scala:200)
        at 
....
        at com.google.inject.internal.Initializer.injectAll(Initializer.java:140)
        at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:176)
        ... 9 more
Caused by: java.lang.ExceptionInInitializerError
        at akka.util.Unsafe.<clinit>(Unsafe.java:52)
        at akka.dispatch.AbstractNodeQueue.<clinit>(AbstractNodeQueue.java:179)
        ... 65 more
Caused by: java.lang.NoClassDefFoundError: sun/misc/Unsafe
        at akka.util.Unsafe.<clinit>(Unsafe.java:27)
        ... 66 more
Caused by: java.lang.ClassNotFoundException: sun.misc.Unsafe
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
        at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
        ... 67 more

More logs in the gist here: https://gist.github.com/danielkurniadi/a3eb6cebdf64363ffbb9980b17714143

Configurations

The following is the configuration we added to cerebro.

apiVersion: v1
data:
  application.conf: |
    # Source https://github.com/lmenezes/cerebro/blob/4f61ddea6578c7ee1e56cea30da8558b1390d846/conf/application.conf
    secret = "ki:s:52>SOME_GIBBERISH"

    # Application base path
    basePath = "/"

    # Defaults to RUNNING_PID at the root directory of the app.
    # To avoid creating a PID file set this value to /dev/null
    pidfile.path=/dev/null

    # Rest request history max size per user
    rest.history.size = 50 // defaults to 50 if not specified

    play.ws.ssl.loose.acceptAnyCertificate = true

    # Path of local database file
    #data.path: "/var/lib/cerebro/cerebro.db"
    data.path = "./cerebro.db"
    hosts = [
      {
        host = "https://elasticsearch-logging-es-http:9200"
         name = "elasticsearch-logging"
      },
      {
        host = "https://elasticsearch-jaeger-es-http.jaeger.svc:9200"
         name = "elasticsearch-jaeger"
      },
      {
        host = "https://elasticsearch-datastore-es-http:9200"
         name = "elasticsearch-payments"
      }
    ]
kind: ConfigMap
metadata:
  labels:
    app: cerebro
    app.kubernetes.io/part-of: cerebro
    project: logging
  name: cerebro-config-d5hbb98g4d-cerebro-b757fdf3a0
  namespace: logging
  resourceVersion: "660400214"
  uid: 5a61f312-4554-4f87-8f88-c353f302736a

Can you help look and help provide more guidance on where to start looking on this? Some more information on what the issue really is can be really helpful in case you have observed or known this issue before.

Thanks 🙏

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions