google / google/guice

Logger goes haywire on binding not found

Open
#1,284 7 comments 1 reaction 0 assignees View on GitHub
Dominant language
Java
Stars
12.7k
Forks
1.7k
Avg merge
11m
Merged PRs (30d)
2

Description

After some hour or so of digging I found (via wandering through a debugger stack) that the stack trace below actually represents this error:

"No implementation for com.needhamsoftware.nslogin.service.ActionService was bound."

Hard to see how this wouldn't be a bug... Clearly that message should wind up in the stack trace (but it does not, see below)

When I manage check in (it's open source) I'll point you at the (fixed) version of the configuration, removing the binding for this service should reproduce...

Environment:
```
14-Dec-2019 00:38:19.513 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version: Apache Tomcat/8.5.37
14-Dec-2019 00:38:19.515 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built: Dec 12 2018 12:07:02 UTC
14-Dec-2019 00:38:19.515 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server number: 8.5.37.0
14-Dec-2019 00:38:19.515 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name: Linux
14-Dec-2019 00:38:19.515 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version: 4.15.0-70-generic
14-Dec-2019 00:38:19.516 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture: amd64
14-Dec-2019 00:38:19.516 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home: /usr/lib/jvm/java-11-openjdk-amd64
14-Dec-2019 00:38:19.516 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version: 11.0.4+11-post-Ubuntu-1ubuntu218.04.3
14-Dec-2019 00:38:19.516 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor: Ubuntu
```

```
java.util.logging.ErrorManager: 5
com.google.common.util.concurrent.UncheckedExecutionException: java.lang.IllegalArgumentException
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2207)
at com.google.common.cache.LocalCache.get(LocalCache.java:3953)
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3957)
at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4875)
at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4881)
at com.google.inject.internal.util.StackTraceElements.forMember(StackTraceElements.java:66)
at com.google.inject.internal.Errors.formatInjectionPoint(Errors.java:831)
at com.google.inject.internal.Errors.formatSource(Errors.java:800)
at com.google.inject.internal.Errors.formatSource(Errors.java:785)
at com.google.inject.internal.Errors.format(Errors.java:584)
at com.google.inject.ConfigurationException.getMessage(ConfigurationException.java:72)
at java.base/java.lang.Throwable.getLocalizedMessage(Throwable.java:396)
at java.base/java.lang.Throwable.toString(Throwable.java:485)
at java.base/java.lang.String.valueOf(String.java:2951)
at java.base/java.io.PrintWriter.println(PrintWriter.java:837)
at java.base/java.lang.Throwable$WrappedPrintWriter.println(Throwable.java:768)
at java.base/java.lang.Throwable.printStackTrace(Throwable.java:659)
at java.base/java.lang.Throwable.printStackTrace(Throwable.java:725)
at org.apache.juli.OneLineFormatter.format(OneLineFormatter.java:159)
at org.apache.juli.FileHandler.publish(FileHandler.java:290)
at org.apache.juli.AsyncFileHandler.publishInternal(AsyncFileHandler.java:146)
at org.apache.juli.AsyncFileHandler$LogEntry.flush(AsyncFileHandler.java:186)
at org.apache.juli.AsyncFileHandler$LoggerThread.run(AsyncFileHandler.java:162)
Caused by: java.lang.IllegalArgumentException
at com.google.inject.internal.asm.$ClassReader.(Unknown Source)
at com.google.inject.internal.asm.$ClassReader.(Unknown Source)
at com.google.inject.internal.asm.$ClassReader.(Unknown Source)
at com.google.inject.internal.util.LineNumbers.(LineNumbers.java:65)
at com.google.inject.internal.util.StackTraceElements$1.load(StackTraceElements.java:46)
at com.google.inject.internal.util.StackTraceElements$1.load(StackTraceElements.java:43)
at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3542)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2323)
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2286)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2201)
... 22 more
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.