8205054: Could not find "lsof" on test machine

Leo Korinth leo.korinth at oracle.com
Fri Jun 15 09:37:39 UTC 2018

Hi David,

Thanks for the input, it makes the test case _much_ better. 
Unfortunately it is easy to get blind when you are in a hurry and 
responsible for a failing test case. It is of course much better to look 
for the command at start.

New output:

     Could not find lsof like command
     Exit test case as successful though it could not verify anything

     JavaTest Message:  Test complete.

http://cr.openjdk.java.net/~lkorinth/8205054/01_02/ (incremental)
http://cr.openjdk.java.net/~lkorinth/8205054/02/    (full)

Tested on my GNU/Linux machine and currently running a mach5 test 
(mostly for verifying the windows part)


On 15/06/18 10:40, David Holmes wrote:
> Hi Leo,
> Inine ...
> On 15/06/2018 6:06 PM, Leo Korinth wrote:
>> Hi David.
>> On 15/06/18 04:08, David Holmes wrote:
>>> Sorry after doing more testing and looking at the output I think we 
>>> need to do better. For a machine with no lsof we see:
>>> using command: <not found>
> That looks like an error ...
>>> (Second VM) Open file descriptors:
>>> using command: <not found>
> That looks like an error too - but why did we keep going after the first 
> error?
>>> (Third VM) Open file descriptors:
>>> Log file was not inherited by third VM
> But that's not true - we couldn't determine anything! So this looks like 
> an accidental pass rather than an deliverate skip.
>>> ---
>>> That looks like an error is occurring to me and that we pass by 
>>> accident. I think we need to terminate the test, cleanly of course, 
>>> as soon as we can't find the tool and report that the test can't run 
>>> because of that.
>>> Thanks,
>>> David
>> I could change the output to "using command: <not found, terminating 
>> test as successful as we can not finish it in a meaningful way>" or 
>> maybe something else that you prefer that is better.
>> I do believe this is the easy way to terminate the test cleanly 
>> without leaving running JVMs. We need to communicate back to the first 
>> JVM that the test was successful. Is it the string "<not found>" that 
>> looks like an error and that we pass by accident? Or is it something 
>> in the test case code that looks fishy?
> See above.
> I'd suggest locating the command as one of the first things in the test 
> in the first VM and then bail out if not found.
> Thanks,
> David
> ------
>> Or maybe the comment should be improved?
>>    // if command can not be found return list without log file (some 
>> machines does not have "lsof" in the expected place). (add this->)The 
>> empty list will make the test exit successfully.(<-add this)
>>> On 15/06/2018 11:21 AM, David Holmes wrote:
>>>> Hi Leo,
>>>> This is what I was concerned about - and yes the CI testing did 
>>>> shake it out in a few cycles.
>>>> I agree with the fix and will sponsor it for you.
>> Thanks David.
>> /Leo
>>>> Thanks,
>>>> David
>>>> On 15/06/2018 3:31 AM, Leo Korinth wrote:
>>>>> On 14/06/18 19:10, Lindenmaier, Goetz wrote:
>>>>>> Hi Leo,
>>>>>> the fix looks good.  It makes sense to skip a test if the 
>>>>>> infrastructure is
>>>>>> insufficient to run it.
>>>>>> Could you please put the long comment at the end of line 179
>>>>>> into a line of it's own?
>>>>> Fixed
>>>>>> Also, please take the chance and move the Copyright message
>>>>>> to the beginning of the file.
>>>>> Fixed
>>>>>> Best regards,
>>>>>>    Goetz.
>>>>> Thanks for the fast review; I need a second reviewer and someone to 
>>>>> help me push (I am not a commiter).
>>>>> New webrevs:
>>>>> http://cr.openjdk.java.net/~lkorinth/8205054/00_01/ (incremental)
>>>>> http://cr.openjdk.java.net/~lkorinth/8205054/01/    (full)
>>>>> Thanks,
>>>>> Leo
>>>>>>> -----Original Message-----
>>>>>>> From: hotspot-runtime-dev [mailto:hotspot-runtime-dev-
>>>>>>> bounces at openjdk.java.net] On Behalf Of Leo Korinth
>>>>>>> Sent: Donnerstag, 14. Juni 2018 18:55
>>>>>>> To: Hotspot dev runtime <hotspot-runtime-dev at openjdk.java.net>
>>>>>>> Subject: RFR: 8205054: Could not find "lsof" on test machine
>>>>>>> Hi,
>>>>>>> Unfortunately some test machines does not have "lsof" installed, 
>>>>>>> or it
>>>>>>> can not be found.
>>>>>>> I do not know how to find "lsof" on the test machine where the test
>>>>>>> fails; the command might not be installed. Here is a fix to make the
>>>>>>> test case succeed if "lsof" can not be found. I believe it is the 
>>>>>>> best
>>>>>>> option (at least for now). I am sorry for all the noise I am 
>>>>>>> generating.
>>>>>>> Bug:
>>>>>>> https://bugs.openjdk.java.net/browse/JDK-8205054
>>>>>>> Webrev:
>>>>>>> http://cr.openjdk.java.net/~lkorinth/8205054/00/
>>>>>>> Testing:
>>>>>>> I have tested this on my machine, and I have a mach5 test job 
>>>>>>> running.
>>>>>>> Thanks,
>>>>>>> Leo

More information about the hotspot-runtime-dev mailing list