RFR: JDK-8208471: nsk/jdb/unwatch/unwatch002/unwatch002.java fails with "Prompt is not received during 300200 milliseconds"

Chris Plummer chris.plummer at oracle.com
Thu Sep 20 22:27:22 UTC 2018


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.
>>
>>
>>




More information about the serviceability-dev mailing list