Re: bug#40718: java-kafka-clients fails test on CI
(name . Marius Bakke)(address . email@example.com)(address . firstname.lastname@example.org)
On Sun, 19 Apr 2020 18:22:31 +0200Marius Bakke <email@example.com> wrote:
Toggle quote (10 lines)> Hello,> > 'java-kafka-clients' fails to build on Berlin:> > https://ci.guix.gnu.org/log/9ky8skd03p7yvik2dms2h6d7l7fsc6cv-java-kafka-clients-1.0.0> > The failing test is> "org.apache.kafka.common.memory.GarbageCollectedMemoryPoolTest",> possibly because of the large amount of memory on the CI machines.
Hi Marius, I merged your 40554 and 40718 which stated the same bug within a week.Or did I miss a difference? The easiest thing probably would be to just turn off the failingtest.Instead I tried to investigate this bug, but with little successyet. Here are my findings: Locally it always built fine. Due to #40966 my trust in CI results faded a bit away. When searching for java-kafka-clients, I sometimes see also successfulbuilds: https://ci.guix.gnu.org/search?query=java-kafka-clients++system%3Ax86_64-linux+spec%3Aguix-master (Hit reload several times)Yesterday I thought I saw it going red only 3 weeks ago, but now Idon't have that clear picture any more. The search results are strange. LOGGING: On the JUnit output, I saw lines like this: [junit] SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". [junit] SLF4J: Defaulting to no-operation (NOP) logger implementation [junit] SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinderfor further details. In order to get logging, I added a logger implementation as nativeinput: ++ ("java-sl4fj-simple" ,java-slf4j-simple) That showed some output on the console. Maybe that could help find theissue? Unfortunately, java-slf4j-simple fails to build on berlin, too(locally, it built fine)... MEMORY SIZE: I modified the sources of the JUnit test to print out the actual memoryusage during test execution, and built that with the "--sources=..."option. But that's nothing we can do on berlin. Or would there be anadministrator trying it out on their local account? I wanted to change the heap size during tests on my computer with the"ANT_OPTS" environment variable, where you could pass a "-Xmx=16G"option or something. That did not have any effect on the reported heapsize. Problem is, that our generated build.xml file has a <junit fork="yes" ...> line, which is in general a good idea, but meaning that tests areexecuted under a new JVM other than ANT. We either need to sayfork="no" (I'm currently rebuilding the JVM-world with that) or we haveto give here an additional option "maxmemory". BUILD GRAPH: When looking at the reverse-dependency graph, you notice that onlyjava-log4j-core is using it directly. Can we get rid of that edge?On the master of log4j, there is a separate module for theKafka-Appender, but it is not in any stabl release. Björn
Toggle quote (10 lines)> java-kafka-clients has a failing test:>> [junit] Running org.apache.kafka.common.network.SslTransportLayerTest> [junit] SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".> [junit] SLF4J: Defaulting to no-operation (NOP) logger implementation> [junit] SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.> [junit] Tests run: 31, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 8.072 sec>> The SLF4J failure seems to be unrelated (other tests also have this warning).
It only seems to happen on big-memory systems (but consistently so).Björn did some investigation here: https://issues.guix.gnu.org/40718#2 If you can reproduce it, please help! :-)