Benoit,
I'm cautiously optimistic. I had forgotten the discussion a few months
back about mandating Java 11 for subsequent james releases. By default
AWS EC2 instances recommend Java 8. So I figured out how to install
Java 11 and convert to it as the default for the runtime environment. I
haven't seen the exceptions since. That would explain the exception
description referring to class instance differences. So hopefully....
Thanks again.
Jerry
On 2/5/2020 8:42 PM, Tellier Benoit wrote:
Hi Jerry,
Guava is a very commonly spread java utility library in the java world.
It is different from guice which is a dependency injection library.
Guice uses guava but that's all.
In James code base we uses guava mostly for immutable collections and
preconditions.
Guice is not included in server/app dependencies, nothing to worry on
this front.
On 06/02/2020 00:42, Jerry Malcolm wrote:
Hi Benoit,
Thanks for the info. I added my custom matcher and mailet jars to
pom.xml and ran the mvn dependency tree command from the link. The
dependency-tree run completed successfully. The only two references to
my custom jars were warnings saying I should use a variable instead of
hardcoding the path to the jars. I also repeatedly got the message:
Verbose not supported since maven-dependency-plugin 3.0. But basically,
the dependency tree didn't appear to find any problems.
I understand what you said about Guavate bridging Guava and java8. But
Guava is part of Guice, correct? Since my configuration is spring/jpa,
should I even be going into code that talks to Guice? Could that be the
problem?
Jerry
On 2/5/2020 1:23 AM, Tellier Benoit wrote:
Hi Jerry,
Looking at
https://mvnrepository.com/artifact/com.github.steveash.guavate/guavate
Guavate is a tiny library to help bridge the gap between gauva and java8
while the Guava team figures out what they are going to release
We use it as a java utility for that very purpose.
Now about your issue let me suggest the following debug procedure:
- From master james-server repository
- Add the dependency to your custom mailet jars in server/app/pom.xml
- Follow
https://maven.apache.org/plugins/maven-dependency-plugin/examples/resolving-conflicts-using-the-dependency-tree.html
in server/app
Once you identify the source of conflicts, fixing the error should be
easy.
Benoit
On 05/02/2020 12:43, Jerry Malcolm wrote:
I need to bump this post back to the top of the queue. I'm totally
blocked on this one.
This is only occurring on my customized installation (at least I haven't
gotten it to occur in the out-of-the-box installation). But knowing that
really hasn't helped me any. I know I'm doing something to cause this.
But I really just need a brief explanation as to what this code (in the
stack trace below) is doing just to give me a fighting chance. I just
need somebody to tell me what Guavate's lambda code is trying to do here
and what data it's working on. What class is expected? The error
description on google says a class didn't get compiled with the latest
code. But that makes no sense. I built James and my mailets from
scratch with the latest master. I found a Guavate.java on the web. But
the line numbers didn't match up. Is something getting serialize,
possibly with one class and deserialized with another class? Just let
me know what is supposed to happen in these lines of code, and I'll see
where I can take it from there.
BTW... it appears that Guavate is part of Guice. I'm still using
spring/jpa... no Guice... Is some configuration I have trying to kick me
into some Guice code?
Thanks as always.
Jerry
On 2/1/2020 12:18 AM, Jerry Malcolm wrote:
I have created a completely separate instance of James from my current
running production circa last October for a different client. It was
built from the latest master on github as of yesterday. After
publishing it to my EC2 instance, I started adding my my specific conf
files and jar files. I was able to get it to receive mail and show it
in Tomcat. It can also send mail. Then after about 30 minutes, it
starts failing on IMAP calls. I have created totally new instances in
new folders from the build three different times, and get the same
behavior. Works fine for a while. Then decides to fail. After it
fails, nothing I do can make it recover. I've never seen anything
like these exceptions. It's failing on a 'github.steveash.guavate'
class (???). Not sure where that came from. Really curious why it
works for a while and then starts failing. TW, I have a few custom
mailets and several jar files to support them. But none of the jars
have class names anywhere close to the ones in the stack dump. So I
don't think there is a jar conflict. Just need a bit of info about
what a "vtable stub" is and what Guavate's lambda code is trying to do
in this area of the code? The rest of the stack dump is the IMAP
processor and netty stuff for IMAP. Exception occurs when IMAP client
tries to check mail. Any ideas?
java.lang.IncompatibleClassChangeError: vtable stub
at
com.github.steveash.guavate.Guavate.lambda$toImmutableMap$8(Guavate.java:351)
at
java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169)
at java.util.Iterator.forEachRemaining(Iterator.java:116)
at
java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
at
java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
at
java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
at
java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at
java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org