What if you just poll for the creation of the file waiting some small amount of 
time between polling with a maximum timeout.

Bob.


> On Aug 12, 2019, at 8:22 PM, mikhailo.seledt...@oracle.com wrote:
> 
> Unfortunately, this approach does not seem to work on many of our test 
> cluster machines. The creation of a "signal" file results in 
> "PermissionDenied".
> 
> The possible reason is the selinux configuration, or some other permission 
> related stuff. The container tries to create a new file on a mounted volume 
> on a host system, but host system denies it. I will look a bit deeper into 
> this, but I think this type of issue can be encountered on any automated test 
> system. Hence, we may have to abandon this approach.
> 
> 
> Thanks,
> 
> Misha
> 
> 
> On 8/12/19 3:59 PM, mikhailo.seledt...@oracle.com wrote:
>> Here is an updated webrev: http://cr.openjdk.java.net/~mseledtsov/8228960.01/
>> 
>> I am using a simple file-based mechanism to communicate between the 
>> processes. The "EventGeneratorLoop" process creates a specific "signal" file 
>> on a shared mounted volume, while the main test process waits  for the file 
>> to exist before running the test cases.
>> 
>> Passes on Linux-x64 Docker-enabled host. Testing in the test cluster is in 
>> progress.
>> 
>> 
>> Thank you,
>> 
>> Misha
>> 
>> On 8/7/19 5:11 PM, David Holmes wrote:
>>> On 8/08/2019 9:04 am, Mikhailo Seledtsov wrote:
>>>> Hi Severin, Bob,
>>>> 
>>>>    Thank you for reviewing the code.
>>>> 
>>>> On 8/7/19, 11:38 AM, Bob Vandette wrote:
>>>>> Can’t you come up with a better way of synchronizing the test by possibly 
>>>>> writing a
>>>>> file and waiting for it to exist with a timeout?
>>>> I will try out this approach.
>>> 
>>> This seems like a fundamental problem with jcmd - so cc'ing 
>>> serviceability-dev.
>>> 
>>> But I'm pretty sure they recently addressed a similar issue with the 
>>> premature sending of the attach signal?
>>> 
>>> David
>>> -----
>>> 
>>>> Thanks,
>>>> Misha
>>>>> Isn’t there a shared volume between the two
>>>>> processes?
>>>>> 
>>>>> We’ve been fighting test reliability for a while now.  I can only hope 
>>>>> we’re getting
>>>>> to the end.
>>>>> 
>>>>> Bob.
>>>>> 
>>>>>> On Aug 7, 2019, at 2:18 PM, Severin Gehwolf<sgehw...@redhat.com>  wrote:
>>>>>> 
>>>>>> Hi Misha,
>>>>>> 
>>>>>> On Tue, 2019-08-06 at 20:17 -0700, mikhailo.seledt...@oracle.com wrote:
>>>>>>> Please review this change that fixes a container test 
>>>>>>> TestJcmdWithSideCar.
>>>>>>> 
>>>>>>> My investigation indicated that a root cause for this failure is:
>>>>>>> JCMD -l shows 'Unknown' for class name because the main class has not
>>>>>>> been loaded yet.
>>>>>>> The target test JVM has started, it is initializing, but has not loaded
>>>>>>> the main test class.
>>>>>> That's what I've found too.
>>>>>> 
>>>>>>> The proposed solution is to try 'jcmd -l' several times, with a short
>>>>>>> sleep in between.
>>>>>> Thread.sleep() isn't great, but I'm not sure there is an alternative.
>>>>>> 
>>>>>>> Also I have commented out the testCase02() due to another bug:
>>>>>>> "JDK-8228850: jhsdb jinfo fails with ClassCastException:
>>>>>>> s.j.h.oops.TypeArray cannot be cast to s.j.h.oops.Instance",
>>>>>>> which is not a test bug. IMO, it is better to run the test and skip a
>>>>>>> sub-case than to skip the entire test.
>>>>>>> 
>>>>>>>      JBS: https://bugs.openjdk.java.net/browse/JDK-8228960
>>>>>>>      Webrev: http://cr.openjdk.java.net/~mseledtsov/8228960.00/
>>>>>> Looks OK to me.
>>>>>> 
>>>>>> Thanks,
>>>>>> Severin
>>>>>> 

Reply via email to