Thanks Felix for your hard work on this On Monday, February 5, 2018, Felix Schumacher < felix.schumac...@internetallee.de> wrote:
> Hi all, > > I think I found out, why the build fails (Thanks Rainer). > > The server has not bound the address for its hostname on any device (that > can be seen). > This is what the current test suite lists as network devices and their > addresses: > > [java] java.rmi.server.hostname=null [java] Interfaces: {name:ens3 (ens3) > => [/fe80:0:0:0:0:10ff:fefb:15%ens3, /10.10.4.78], name:lo (lo) => > [/0:0:0:0:0:0:0:1%lo, /127.0.0.1]} [java] java.rmi.server.hostname=null > [java] bb-1604-test.apache.org/207.244.88.135 > > We want to bind to 207.244.88.135, but that address is not bound (or at > least, we can't see it). > > Should I open a jira issue? > > Regards, > Felix > > Am 01.02.2018 um 21:51 schrieb Felix Schumacher: > >> Am 26.01.2018 um 23:11 schrieb Felix Schumacher: >> >>> Am 26.01.2018 um 08:08 schrieb Felix Schumacher: >>> >>>> Am 26.01.2018 um 02:12 schrieb Gavin McDonald: >>>> >>>>> I fixed the node that nightly was building on and ran a manual build, >>>>> it failed , but not due the node this time I dont think. >>>>> >>>> Thanks for looking into this. >>>> >>>> The current error log looks like the subversion checkout didn't work >>>> properly. It complains about a java file, that doesn't contain its own >>>> class: >>>> >>>> [javac] /home/buildslave/slave/jmeter-nightly/build/src/core/org/apa >>>> che/jmeter/rmi/RmiUtils.java:92: error: cannot access >>>> SSLRMIClientSocketFactory [javac] final SSLRMIClientSocketFactory factory = >>>> new SSLRMIClientSocketFactory(); [javac] ^ [javac] bad source file: >>>> /home/buildslave/slave/jmeter-nightly/build/src/core/org/apa >>>> che/jmeter/rmi/SSLRMIClientSocketFactory.java [javac] file does not >>>> contain class org.apache.jmeter.rmi.SSLRMIClientSocketFactory [javac] >>>> Please remove or make sure it appears in the correct subdirectory of the >>>> sourcepath. >>>> >>>> I try to force another nightly build and hope that subversion fetches >>>> the file. >>>> >>> >>> I managed to correct the broken subversion checkout, by adding some >>> options to the SVN check in buildbot, but now the nigthly build shows >>> another problem: >>> >>> [java] 1) initializationError(org.apache.jmeter.junit.JMeterTest) >>> [java] java.lang.Exception: Error creating >>> org.apache.jmeter.samplers.RemoteSampleListenerImpl >>> [java] at org.apache.jmeter.junit.JMeterTest.getObjects(JMeterTest.java:488) >>> [java] at >>> org.apache.jmeter.junit.JMeterTest.suiteSerializableElements(JMeterTest.java:388) >>> [java] at org.apache.jmeter.junit.JMeterTest.suite(JMeterTest.java:133) >>> [java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>> [java] at >>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) >>> [java] at >>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>> [java] at java.lang.reflect.Method.invoke(Method.java:498) [java] at >>> org.junit.internal.runners.SuiteMethod.testFromSuiteMethod(SuiteMethod.java:35) >>> [java] at org.junit.internal.runners.SuiteMethod.<init>(SuiteMethod.java:24) >>> [java] at >>> org.junit.internal.builders.SuiteMethodBuilder.runnerForClass(SuiteMethodBuilder.java:11) >>> [java] at >>> org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) >>> [java] at org.junit.internal.builders.AllDefaultPossibilitiesBuilder. >>> runnerForClass(AllDefaultPossibilitiesBuilder.java:26) [java] at >>> org.junit.runner.Computer.getRunner(Computer.java:40) [java] at >>> org.junit.experimental.ParallelComputer.getRunner(ParallelComputer.java:64) >>> [java] at org.junit.runner.Computer$1.runnerForClass(Computer.java:31) >>> [java] at >>> org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) >>> [java] at >>> org.junit.runners.model.RunnerBuilder.runners(RunnerBuilder.java:101) >>> [java] at >>> org.junit.runners.model.RunnerBuilder.runners(RunnerBuilder.java:87) >>> [java] at org.junit.runners.Suite.<init>(Suite.java:81) [java] at >>> org.junit.runner.Computer.getSuite(Computer.java:28) [java] at >>> org.junit.experimental.ParallelComputer.getSuite(ParallelComputer.java:57) >>> [java] at org.junit.runner.Request.classes(Request.java:75) [java] at >>> org.apache.jorphan.test.AllTests.getParallelTests(AllTests.java:231) >>> [java] at org.apache.jorphan.test.AllTests.main(AllTests.java:218) >>> [java] Caused by: java.lang.reflect.InvocationTargetException [java] at >>> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) >>> [java] at sun.reflect.NativeConstructorAccessorImpl.newInstance(Native >>> ConstructorAccessorImpl.java:62) [java] at >>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(De >>> legatingConstructorAccessorImpl.java:45) [java] at >>> java.lang.reflect.Constructor.newInstance(Constructor.java:423) [java] >>> at org.apache.jmeter.junit.JMeterTest.getObjects(JMeterTest.java:461) >>> [java] ... 23 more [java] Caused by: java.rmi.server.ExportException: >>> Port already in use: 0; nested exception is: [java] java.net.BindException: >>> Cannot assign requested address (Bind failed) [java] at >>> sun.rmi.transport.tcp.TCPTransport.listen(TCPTransport.java:341) [java] >>> at sun.rmi.transport.tcp.TCPTransport.exportObject(TCPTransport.java:249) >>> [java] at >>> sun.rmi.transport.tcp.TCPEndpoint.exportObject(TCPEndpoint.java:411) >>> [java] at sun.rmi.transport.LiveRef.exportObject(LiveRef.java:147) >>> [java] at >>> sun.rmi.server.UnicastServerRef.exportObject(UnicastServerRef.java:236) >>> [java] at >>> java.rmi.server.UnicastRemoteObject.exportObject(UnicastRemoteObject.java:383) >>> [java] at >>> java.rmi.server.UnicastRemoteObject.exportObject(UnicastRemoteObject.java:346) >>> [java] at >>> java.rmi.server.UnicastRemoteObject.<init>(UnicastRemoteObject.java:225) >>> [java] at org.apache.jmeter.samplers.RemoteSampleListenerImpl.<init>(R >>> emoteSampleListenerImpl.java:44) [java] ... 28 more [java] Caused by: >>> java.net.BindException: Cannot assign requested address (Bind failed) >>> [java] at java.net.PlainSocketImpl.socketBind(Native Method) [java] at >>> java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387) >>> [java] at java.net.ServerSocket.bind(ServerSocket.java:375) [java] at >>> java.net.ServerSocket.<init>(ServerSocket.java:237) [java] at >>> javax.net.ssl.SSLServerSocket.<init>(SSLServerSocket.java:181) [java] >>> at sun.security.ssl.SSLServerSocketImpl.<init>(SSLServerSocketImpl.java:140) >>> [java] at sun.security.ssl.SSLServerSocketFactoryImpl.createServerSock >>> et(SSLServerSocketFactoryImpl.java:95) [java] at >>> org.apache.jmeter.rmi.SSLRMIServerSocketFactory.createServer >>> Socket(SSLRMIServerSocketFactory.java:134) [java] at >>> sun.rmi.transport.tcp.TCPEndpoint.newServerSocket(TCPEndpoint.java:666) >>> [java] at sun.rmi.transport.tcp.TCPTransport.listen(TCPTransport.java:330) >>> [java] ... 36 more >>> >>> I tried to force the build two times hoping that the (randomly chosen) >>> port would be free. It didn't work. >>> >>> I never experienced this problem on my local builds and jenkins build >>> are fine, too. >>> >>> Has anyone an idea to fix this, or the cause of the problem? >>> >> >> ping. >> >> Anyone an idea? >> >> I have caught the BindException and rethrown it as an IOException to get >> the address the server socket tries to bind to. It looks like the address, >> that gets reported earlier as the address for the node: >> >> ... >> >> [java] java.rmi.server.hostname=null [java] >> bb-1604-test.apache.org/207.244.88.135 [java] isSiteLocalAddress:false >> [java] isAnyLocalAddress:false [java] isLinkLocalAddress:false [java] >> isLoopbackAddress:false [java] isMulticastAddress:false [java] localhost/ >> 127.0.0.1 [java] isSiteLocalAddress:false [java] isAnyLocalAddress:false >> [java] isLinkLocalAddress:false [java] isLoopbackAddress:true [java] >> isMulticastAddress:false [java] ==================== [java] >> bb-1604-test.apache.org/207.244.88.135 [java] isSiteLocalAddress:false >> [java] isAnyLocalAddress:false [java] isLinkLocalAddress:false [java] >> isLoopbackAddress:false [java] isMulticastAddress:false ... [java] Caused >> by: java.io.IOException: Could not bind to bb-1604-test.apache.org/207.24 >> 4.88.135 using port 0 [java] at org.apache.jmeter.rmi.SSLRMISe >> rverSocketFactory.createServerSocket(SSLRMIServerSocketFactory.java:139) >> [java] at >> sun.rmi.transport.tcp.TCPEndpoint.newServerSocket(TCPEndpoint.java:666) >> [java] at sun.rmi.transport.tcp.TCPTransport.listen(TCPTransport.java:330) >> [java] ... 36 more [java] Caused by: java.net.BindException: Cannot assign >> requested address (Bind failed) [java] at >> java.net.PlainSocketImpl.socketBind(Native >> Method) [java] at java.net.AbstractPlainSocketIm >> pl.bind(AbstractPlainSocketImpl.java:387) >> >> A port number 0 should be interpreted as choose one available. And if I >> read the jdk source code correctly, the error gets thrown by the following >> code: >> >> if (NET_Bind(fd, (struct sockaddr *)&him, len) < 0) { >> if (errno == EADDRINUSE || errno == EADDRNOTAVAIL || >> errno == EPERM || errno == EACCES) { >> NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG >> "BindException", >> "Bind failed"); >> } else { >> NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG >> "SocketException", >> "Bind failed"); >> } >> return; >> } >> >> So the errno would be one of EADDRINUSE, EADDRNOTAVAIL, EPERM or EACCES >> (whatever that means). >> >> One difference to my local build is the value of "isSiteLocalAddress" for >> bb-1604-test.apache.org, which is "false" for bb-1604-test and "true" >> for my laptops address. But on the other hand, it is "false" for the >> jenkins build node, which completes without an error (well, most of the >> time). >> >> Another difference to my local build is the strength of JCE, but >> bb-1604-test has the same max key length as the jenkins build node. >> >> Anyone any idea? >> >> Felix >> >> >>> Felix >>> >>> >>>> Felix >>>> >>>> Gav… >>>>> >>>>> >>>>> On 26 Jan 2018, at 12:08 pm, build...@apache.org wrote: >>>>>> >>>>>> The Buildbot has detected a new failure on builder jmeter-nightly >>>>>> while building . Full details are available at: >>>>>> https://ci.apache.org/builders/jmeter-nightly/builds/922 >>>>>> >>>>>> Buildbot URL: https://ci.apache.org/ >>>>>> >>>>>> Buildslave for this Build: bb_1604_test_ubuntu >>>>>> >>>>>> Build Reason: forced: by IRC user <gmcdonald> on channel #asftest: >>>>>> test after rebooting node >>>>>> Build Source Stamp: HEAD >>>>>> Blamelist: >>>>>> >>>>>> BUILD FAILED: failed shell_5 >>>>>> >>>>>> Sincerely, >>>>>> -The Buildbot >>>>>> >>>>>> >>>>>> >>>>>> >>>> >>>> >>> >>> >> >> > -- Cordialement. Philippe Mouawad.