RFR: JDK-8208471: nsk/jdb/unwatch/unwatch002/unwatch002.java fails with "Prompt is not received during 300200 milliseconds"
Gary Adams
gary.adams at oracle.com
Fri Sep 21 12:18:44 UTC 2018
Patch attached.
On 9/20/18, 8:17 PM, Chris Plummer wrote:
> Ok, so you're just suggesting that findPrompt() should require that
> the prompt be at the end of the line. In fact probably on a line by
> itself. Keep in mind that we also have issues with async printing that
> tends to result in the prompt appearing in the middle of some lines.
> We have most of these situations understood and under control now, but
> I'm guessing they still turn up in some places, and would cause
> findPrompt() to fail.
>
> Chris
>
> On 9/20/18 4:06 PM, Alex Menkov wrote:
>> To be detected the output line should ends with "Boolean[1] "
>>
>> So "Field (nsk.jdb.unwatch.unwatch002.unwatch002a.FS1) is null, will
>> be instance of java.lang.Boolean[1] (id=706):" does not match.
>> It seems to me that other bugs Gary is working have similar cases.
>>
>> --alex
>>
>> On 09/20/2018 15:27, Chris Plummer wrote:
>>> The regex you give would still detect Boolean[1] as a prompt, which
>>> we don't want.
>>>
>>> Chris
>>>
>>> On 9/20/18 3:22 PM, Alex Menkov wrote:
>>>> May be it would be better to fix Jdb.receiveReplyFor to properly
>>>> handle all replies like
>>>> Field (nsk.jdb.unwatch.unwatch002.unwatch002a.FS1) is null, will be
>>>> instance of java.lang.Boolean[1] (id=706):
>>>>
>>>> jdk/com/sun/jdi tests use the following regexp to detect jdb prompt:
>>>> "[a-zA-Z0-9_-][a-zA-Z0-9_-]*\[[1-9][0-9]*\] [ >]*$"
>>>> (see test/jdk/com/sun/jdi/lib/jdb/Jdb.java or
>>>> test/jdk/com/sun/jdi/ShellScaffold.sh)
>>>> AFAIR nsk/../Jdb does not use regexp, but I believe it can be
>>>> updated to work the same way.
>>>>
>>>> --alex
>>>>
>>>>
>>>> On 09/20/2018 14:50, Chris Plummer wrote:
>>>>> This one is a little different than exclude001 in that we don't
>>>>> control the name of the thread. We know (at least at the moment)
>>>>> that it is called "main", but that could always change. In general
>>>>> I'm fine with this fix, but if you have others like it, I'd
>>>>> suggest putting the "main" thread name in single place, not in
>>>>> each test that cares about it.
>>>>>
>>>>> Chris
>>>>>
>>>>> On 9/20/18 10:54 AM, Gary Adams wrote:
>>>>>> The corrupted output has been identified due to the "Boolean[1]"
>>>>>> being misrecognized as a compound prompt.
>>>>>>
>>>>>> The proposed fix waits for the correct prompt before
>>>>>> advancing to the next command.
>>>>>>
>>>>>> Webrev: http://cr.openjdk.java.net/~gadams/8208471/webrev/
>>>>>> Issue: https://bugs.openjdk.java.net/browse/JDK-8208471
>>>>>>
>>>>>> Testing is in progress.
>>>>>
>>>>>
>>>>>
>>>
>>>
>
>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 8208471.patch
URL: <http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20180921/c0cf1e5c/8208471.patch>
More information about the serviceability-dev
mailing list