jmeter-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Felix Schumacher <felix.schumac...@internetallee.de>
Subject Re: buildbot failure in on jmeter-nightly
Date Mon, 05 Feb 2018 20:38:26 GMT
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/apache/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/apache/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(NativeConstructorAccessorImpl.java:62)

>> [java] at 
>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.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>(RemoteSampleListenerImpl.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.createServerSocket(SSLServerSocketFactoryImpl.java:95)

>> [java] at 
>> org.apache.jmeter.rmi.SSLRMIServerSocketFactory.createServerSocket(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.244.88.135 using port 0 
> [java] at 
> org.apache.jmeter.rmi.SSLRMIServerSocketFactory.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.AbstractPlainSocketImpl.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, buildbot@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
>>>>>
>>>>>
>>>>>
>>>
>>>
>>
>>
>
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message