jmeter-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Philippe Mouawad <philippe.moua...@gmail.com>
Subject Re: buildbot failure in on jmeter-nightly
Date Mon, 05 Feb 2018 22:35:13 GMT
Thanks Felix for your hard work on this
On Monday, February 5, 2018, Felix Schumacher <
felix.schumacher@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, 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
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>

-- 
Cordialement.
Philippe Mouawad.

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