Hey there,

sorry for me to taking so long to reply - but it happend again: as I was preparing to set up some VMs for testing - I failed again the cursed game of luck to download the working commit and got the RC2 you just pushed out. As I didn't knew it the time I just lazyly started another try on my root server it surprisingly went very well. At least until the test wich starts up RMI - wich failed cause the ports were already in use by the running beta6 instance. So I shut down the running instance - re-tried it - and it got a success. As there is no docker installed on my root I got few docker related issues, but it seems these failed tests didn't mattered. After re-running it with -Pwith-assembly I also got the zip/tar.gz - wich I'm currently running now and over wich this mail is sent.

As I tried to set up a VM to match my servers setup - but it still fail at apache-james-mailbox-hbase
I re-run maven with -X and -e, but still didn't get more than this:

Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 1.217 sec <<< FAILURE! - in org.apache.james.mailbox.hbase.mail.HBaseMailboxMessageMapperTest testMessageMapperScenario(org.apache.james.mailbox.hbase.mail.HBaseMailboxMessageMapperTest) Time elapsed: 0.003 sec <<< ERROR!
java.lang.ExceptionInInitializerError
at org.apache.james.mailbox.hbase.mail.HBaseMailboxMessageMapperTest.<clinit>(HBaseMailboxMessageMapperTest.java:69)

It looks like there is the rest of the stacktrace missing - but I can't find it anywhere.
Line 69 is this one here:

public static final HBaseClusterSingleton CLUSTER = HBaseClusterSingleton.build();

Maybe this helps - even if I still can't understand WHY this happens, as it went fine on the same setup on my root. Can't tell any difference: same maven, same jdk, same OS and patch-level. Nothing wich could cause this fail according to the source as there is nothing system-level called, at least nothing I can spot on first look.


If anyone want a compiled RC2 buld (as long as the licence permits me to offer this) can ask me for a link to download it from my server. Be aware: it's 1.1GB in size.


Any way - so long - Matt

Am 05.06.2017 um 11:57 schrieb Benoit Tellier:
Hi,

First thanks for the feedback, it is rather interesting.

So, to start this of with a meme: One does not simply - compile Apache
James from source.

:-)

Call me stupid
I would never. We all have different backgrounds, thus we don't consider
the same things easy.

About the 3 fails that you encountered:

  - apache-james-mailbox-hbase : I already saw our Continuous Integration
system fail there. As we don't use this part of the project, we schedule
a new build. As it is a very rare event, it doesn't matter much. The
question would then be: do you always observe it?
  - Concerning windows:

As far as I am aware of it, all of the recent active James contributors
are using Linux. I personally use ArchLinux, some others prefer Debian
and Ubuntu. We don't have a license for Windows, thus we can not
guaranty we do not introduce bugs regarding it.

As it is a free project, anyone can propose patches, and for instance
patches for making the test suite run well on windows.

Another remark on cross-system: as we are aware of the issues, we
provides docker container, continuously delivered, fully tested on each
merge. That way one can run James in a reliable environment, whatever
the system it is running on.

For your information:
  - https://docs.docker.com/
  - https://github.com/apache/james-project/tree/master/dockerfiles


That being said, I'm sorry to tell you your mail is hardly readable, and
I can not extract interesting information out of it.

You did a great work testing different environments, and I should thank
you for this.

Wouldn't you mind sending us, for each bug you encountered:
  - The Junit test that failed
  - The explanation JUnit is giving
  - The environment (Maven version, Java version, OS, default encoding)


That would allow us to work in a rather more productive way.

Cheers,
--
Tellier Benoit

Software engineer dedicated to OpenPaaS at Linagora
PMC of the Apache JAMES project
VIE in Vietnam

https://twitter.com/AwesomePaaS
https://medium.com/linagora-engineering

Le 05/06/2017 à 16:00, cryptearth a écrit :
So, to start this of with a meme: One does not simply - compile Apache
James from source.
Idk if and what I'm doin wrong here, but either its my hardware screwing
up everything I've learned about Java (would explain random crashes in
GTA5 tho) or I'm just to stupid to correctly setup the needed build
environment to get a successfull build.
But let me start from the beginning why I'm back after abandoning this
mail-list (still not used to this kind of public communication):

So as I was successfull to compile one of the latest builds before this
project moved to Docker and have it running on my openSuSE-tumbleweed
server since (and as smart as I am: deleted the built package - of
course!) - I just looked up the main project page and noticed: oh, it's
out of beta - RC1 available for download. But as the page shows "Docker"
(sidenote: yea - I know it makes sense to "containerize" such code - to
run a Java code as root is not the smartest idea one can have) I said to
mysefl: "screw it - compile from source" - and off we go from "wonder if
it's still crap as last time I tried" to "what the F*?".

So let me show the results first and then let me explain why I think my
hardware is broken:

vm - opensuse tumbleweed - failed: apache-james-mailbox-hbase
vm - debian 8.8.0 - failed: james-server-mailets
host - win7 sp1 ulti x64 - failed: apache-james-mailbox-store

I don't bother you with posting the logs - as it seems some wired
random-ish but surprisingly re-produceable stuff going on here:
As building james isn't more than compiling Java source into bytecode -
and as Java is supposed to be platform-independent - it should fail on
the exact same point on each different system - but it doesn't. Unlike
earlier tries where it "crashed" random on the same system - at least no
it's "crashing" on the same spot every time - but why and how? The only
difference are Linux vs Windows and openJDK8u131 vs Oracle 8u121 - and
as far as I know Java as a hobbiest dev this shouldn't happen. At least
the error should be the same accross differnt systems - no matter if VM
or real hardware.

Ok, the error on windows seems to be some wired random-ish encoding
issue, see the few lines of log as follows:

Failed tests:
   DefaultTextExtractorTest.textTest:44 expected:<...e awesome text text.[
]
"> but was:<...e awesome text text.[
]
">

I can only imagine there is something goin on with different
line-endings as the build expecting only linux-style \n while my windows
using \r\n - confusing the equality check to fail (some more like this
if you try to bootstrap ant from source on windows - it fails cause
windows doesn't support posixfileattributes - wich could checked and
handled in a very easy way - but this should belong to the ant-maillist).

The other two on the linux-based systems are very strange:

On the openSuSE (ok, to be honest - it's the distro I "grew up" with -
and strangely the only major distro that somehow no body seems to like
and therefore isn't really supported at all - just: WHY? cause its
german?) it fails with java.lang.ExceptionInInitializerError for
org.apache.james.mailbox.hbase.user.HBaseSubscriptionMapperTest.<clinit>
followed by java.lang.NoClassDefFoundError: Could not initialize class
org.apache.james.mailbox.hbase.user.HBaseSubscriptionMapperTest

On the debian (wich went way better and further than the other two) it
fails with this crap:

Failed tests:
RemoteDeliveryTest.remoteDeliveryShouldSplitMailsByServerWhenNoGateway:123
Expecting:
  <[FakeMail{msg=null, recipients=[ot...@james.apache.org,
a...@james.apache.org], name=mail_name-to-james.apache.org, sender=null,
state=null, errorMessage=null, lastUpdated=null, attributes={}, size=0,
remoteAddr=127.0.0.1}, FakeMail{msg=null,
recipients=[a...@james2.apache.org], name=mail_name-to-james2.apache.org,
sender=null, state=null, errorMessage=null, lastUpdated=null,
attributes={}, size=0, remoteAddr=127.0.0.1}]>
to contain only:
  <[FakeMail{msg=null, recipients=[a...@james.apache.org,
ot...@james.apache.org], name=mail_name-to-james.apache.org,
sender=null, state=null, errorMessage=null, lastUpdated=null,
attributes={}, size=0, remoteAddr=127.0.0.1}, FakeMail{msg=null,
recipients=[a...@james2.apache.org], name=mail_name-to-james2.apache.org,
sender=null, state=null, errorMessage=null, lastUpdated=null,
attributes={}, size=0, remoteAddr=127.0.0.1}]>
elements not found:
  <[FakeMail{msg=null, recipients=[a...@james.apache.org,
ot...@james.apache.org], name=mail_name-to-james.apache.org,
sender=null, state=null, errorMessage=null, lastUpdated=null,
attributes={}, size=0, remoteAddr=127.0.0.1}]>
and elements not expected:
  <[FakeMail{msg=null, recipients=[ot...@james.apache.org,
a...@james.apache.org], name=mail_name-to-james.apache.org, sender=null,
state=null, errorMessage=null, lastUpdated=null, attributes={}, size=0,
remoteAddr=127.0.0.1}]>

Just another encoding-issue based on non-standard non-EN/US setup (all
systems share locale de-de)? This seems to be another issue based on
wrong String comparison.

So - to complete this kinda sarcastic-ish mail with a few final words:

1.) Does anyone of you have any clue why the same source behave so
differently on different systems? This is somehow against anything else
I know about Javas famous "write once - run everywhere".
2.) Could anybody please be so kind to just get a me quick overview
about how to correctly setup a working build environment to get the
current source built successfully?

Call me stupid - or just naiv cause I don'T know anything about modern
development on projects this size - but as a Windows-98 kid from times
where Google didn't existed yet and just got few low-ish games by burned
CDs from school friends (online DRM wasn't a thing back then) who is
just used to "double-click on setup/install and hit next until it says
fin" - there is no clue why this to-be-simple-magic-box called "PC"
under my desk behaves this way. It's just a big calculator - and I
expect it to output 2 if I enter 1+1. Maybe someone can explain ...


I don'T really expect any serious response/reply - nor to have any
changes in the source - but as Benoit Tellier (btw: big shout outs to
him) once told me: each commit gets auto-compiled and only passed ones
even released to public - so it has to be some sort of error on my site.

---------------------------------------------------------------------
To unsubscribe, e-mail: server-user-unsubscr...@james.apache.org
For additional commands, e-mail: server-user-h...@james.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: server-user-unsubscr...@james.apache.org
For additional commands, e-mail: server-user-h...@james.apache.org

Reply via email to