This may be due to how the cloud provide r does proxying internally. If you are 
setting up a listening socket for some reason, just bind to '*'.

That said, this slave is about to be replaced.

-Chris



On Feb 9, 2018, 12:12, at 12:12, Felix Schumacher 
<felix.schumac...@internetallee.de> wrote:
>Hi all,
>
>we (JMeter) have currently a problem running our nightly builds. The
>tests fail, when we try to bind to the address of the hostname of the
>build server. The server is bb-1604-test.apache.org and resolves to
>207.244.88.135. It seems, that that address is not bound to the network
>
>devices the jvm has access to. We have added a debug message to the
>tests, that lists ens3 and lo with their IPv4 and IPv6 addresses, but
>not the 207.244.88.135.
>
>Is this a misconfiguration of the build server? Is there any way to
>determine the "right" hostname that resolves to an address, that is
>bound to an accessible network interface?
>
>Regards,
>
>  Felix
>
>
>-------- Weitergeleitete Nachricht --------
>Betreff:       Re: buildbot failure in on jmeter-nightly
>Datum:         Mon, 5 Feb 2018 21:38:26 +0100
>Von:   Felix Schumacher <felix.schumac...@internetallee.de>
>Antwort an:    d...@jmeter.apache.org, d...@jmeter.apache.org
>An:    d...@jmeter.apache.org, Gavin McDonald <ga...@16degrees.com.au>
>
>
>
>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, 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
>>>>>>
>>>>>>
>>>>>>
>>>>
>>>>
>>>
>>>
>>
>>

Reply via email to