RFR 8211736: jdb doesn't print prompt when breakpoint is hit and suspend policy is STOP_EVENT_THREAD

JC Beyler jcbeyler at google.com
Tue Oct 23 02:49:29 UTC 2018


LGTM as well,
Jc

On Mon, Oct 22, 2018 at 5:47 PM Alex Menkov <alexey.menkov at oracle.com>
wrote:

> I'm fine with it
>
> --alex
>
> On 10/22/2018 17:26, Daniil Titov wrote:
> > Thank you, Chris for reviewing this change!
> >
> > Alex, JC, Garry could you please say are you OK with this version of the
> webrev?
> >
> > Webrev: http://cr.openjdk.java.net/~dtitov/8211736/webrev.05/
> > Issue: https://bugs.openjdk.java.net/browse/JDK-8211736
> >
> > Best regards,
> > Daniil
> >
> > On 10/22/18, 11:18 AM, "Chris Plummer" <chris.plummer at oracle.com>
> wrote:
> >
> >      Hi Daniil,
> >
> >      Looks good.
> >
> >      thanks,
> >
> >      Chris
> >
> >      On 10/19/18 4:01 PM, Daniil Titov wrote:
> >      > Hi Chris,
> >      >
> >      > Please review an updated version of the fix that makes the tests
> to use a custom pattern while waiting for the command to complete.
> >      >
> >      > Webrev: http://cr.openjdk.java.net/~dtitov/8211736/webrev.05/
> >      > Issue: https://bugs.openjdk.java.net/browse/JDK-8211736
> >      >
> >      > Thanks!
> >      > --Daniil
> >      >
> >      >
> >      > On 10/19/18, 12:55 PM, "Chris Plummer" <chris.plummer at oracle.com>
> wrote:
> >      >
> >      >      On 10/19/18 9:47 AM, Daniil Titov wrote:
> >      >      > Hi Gary and Chris,
> >      >      >
> >      >      > I am resending the previous email since the table in that
> email got corrupted.
> >      >      >
> >      >      > Below is what output jdb prints when a breakpoint is hit
> depending on what suspended policy is used:
> >      >      >
> >      >      > The current behavior.
> >      >      > SUSPEND_ALL:    Prompt is printed ( e.g. "main[1]"),
> location is printed
> >      >      > SUSPEND_EVENT_THREAD:    Prompt is not printed, location
> is not printed
> >      >      > SUSPEND_NONE:    Prompt is not printed, location is not
> printed
> >      >      >
> >      >      > The fix changes this behavior as the following:
> >      >      >
> >      >      > SUSPEND_ALL:    Prompt is printed ( e.g. "main[1]"),
> location is printed
> >      >      > SUSPEND_EVENT_THREAD:    Prompt is printed ( "> "),
> location is printed
> >      >      > SUSPEND_NONE:    Prompt is printed ( "> "), location is
> printed
> >      >      I'm still in favor of this fix.
> >      >      >
> >      >      >
> >      >      > Could you please say is it OK for you or you want that the
> location was printed only for SUSPEND_ALL case?  Or probably just leave all
> behavior unchanged and close the bug as "not an issue"?
> >      >      >
> >      >      > Regarding settable prompt...  As I understand Gary's
> original concern was that waiting in tests for a simple prompt " > "
> (>  ) could be unreliable if this substring somehow appears in the
> output of the test program and the suggestion was to use more specific
> patterns for the cases when the full prompt  (thread_name[frame_index]) is
> not printed ( e.g. when  the current thread is not set). However, we need
> somehow pass this pattern to Jdb.command(JdbCommand) method otherwise it
> would keep waiting for the full prompt and fail with the timeout.  Probably
> I am missing something here...
> >      >      Maybe we need a version of command() that takes a pattern to
> look for
> >      >      other than the prompt.
> >      >
> >      >      Chris
> >      >      >
> >      >      >
> >      >      > Thanks!
> >      >      >   --Daniil
> >      >      >
> >      >      > On 10/19/18, 9:27 AM, "Daniil Titov" <
> daniil.x.titov at oracle.com> wrote:
> >      >      >
> >      >      >      Hi Gary and Chris,
> >      >      >
> >      >      >      Below is the table that shows what jdb output is
> printed when a breakpoint is hit depending on what suspended policy is used:
> >      >      >
> >      >      >      SUSPEND POLICY                       | PROMPT
> PRINTED   | LOCATION PRINTED
> >      >      >      ---------------------------------------
> |---------------------------|--------------------------
> >      >      >      SUSPEND_ALL.                           | yes,  e.g.
> "main[1]" |            yes
> >      >      >      ---------------------------------------
> |-------------------------- |--------------------------
> >      >      >      SUSPEND_EVENT_THREAD      | no                  |
>         no
> >      >      >
> ----------------------------------------|------------------------
> --|--------------------------
> >      >      >      SUSPEND_ALL.                           | no
>                     |            no
> >      >      >
> >      >      >
> >      >      >      The fix changes this behavior as the following:
> >      >      >
> >      >      >      SUSPEND POLICY                       | PROMPT
> PRINTED.   | LOCATION PRINTED
> >      >      >      ---------------------------------------
> |----------------------------|--------------------------
> >      >      >      SUSPEND_ALL.                           | yes , e.g.
> "main[1]"  |            yes
> >      >      >      ---------------------------------------
> |----------------------------|--------------------------
> >      >      >      SUSPEND_EVENT_THREAD      | yes ,  ">"
>     |            yes
> >      >      >
> ----------------------------------------|---------------------------
> |--------------------------
> >      >      >      SUSPEND_ALL.                           | yes,  ">".
>                   |            yes
> >      >      >
> >      >      >      Could you please say is it OK for you or you want
> that the location was printed only for SUSPEND_ALL case?  Or probably just
> leave all behavior unchanged and close the bug as "not an issue"?
> >      >      >
> >      >      >      Regarding settable prompt...  As I understand Gary's
> original concern was that waiting in tests for a simple prompt " > "
> (>  ) could be unreliable if this substring somehow appears in the
> output of the test program and the suggestion was to use more specific
> patterns for the cases when the full prompt  (thread_name[frame_index]) is
> not printed ( e.g. when  the current thread is not set). However, we need
> somehow pass this pattern to Jdb.command(JdbCommand) method otherwise it
> would keep waiting for the full prompt and fail with the timeout.  Probably
> I am missing something here...
> >      >      >
> >      >      >
> >      >      >      Thanks!
> >      >      >
> >      >      >      Best regards,
> >      >      >      Daniil
> >      >      >
> >      >      >
> >      >      >
> >      >      >      On 10/19/18, 12:54 AM, "gary.adams at oracle.com" <
> gary.adams at oracle.com> wrote:
> >      >      >
> >      >      >          It's not clear to me if the omitted location
> information for the non
> >      >      >          stopping
> >      >      >          cases was intentional or not. It may be
> sufficient to know that the
> >      >      >          event fired
> >      >      >          without the extra information.
> >      >      >
> >      >      >          I don't think a settable prompt is required
> either. There are plenty of
> >      >      >          jdb commands that
> >      >      >          could be used with the wait for message in tests
> that need to
> >      >      >          synchronize at a specific
> >      >      >          point in the test sequence.
> >      >      >
> >      >      >          I don't think we see wait for simple prompt in
> any of the tests, because it
> >      >      >          is not reliable enough.
> >      >      >
> >      >      >          On 10/18/18 11:53 AM, Daniil Titov wrote:
> >      >      >          > Hi Gary,
> >      >      >          >
> >      >      >          > Currently when a breakpoint is hit the message
> "Breakpoint hit:" is printed in the debugger output. What we do in this fix
> we just add more information about what exact breakpoint is hit. Do you
> suggest we should not print this line at all if suspend policy is
> SUSPEND_NONE? If so then it is not clear what is the use of the command
> "stop go ..." would be. Regarding waiting for the simple prompt, we could
> change JDbCommand to have a field to store a prompt pattern and use this
> pattern (if it was set) when waiting for command to complete. In tests when
> required we would set the pattern in JdbCommand to more complicated one
> matching a specific output we are expecting at this particular step. Do you
> think it would be a better approach?
> >      >      >          >
> >      >      >          > Thanks!
> >      >      >          >
> >      >      >          > Best regards,
> >      >      >          > Daniil
> >      >      >          >
> >      >      >          >
> >      >      >          >
> >      >      >          > On 10/18/18, 4:09 AM, "Gary Adams" <
> gary.adams at oracle.com> wrote:
> >      >      >          >
> >      >      >          >      I'm not certain that we should be printing
> locations or prompts for
> >      >      >          >      events when the vm has not been suspended.
> This looks OK for the
> >      >      >          >      simple test case we are working on here,
> but in real life there may
> >      >      >          >      be a lot more output produced.
> >      >      >          >
> >      >      >          >      The user has to select a specific thread
> before additional commands
> >      >      >          >      can be performed in the correct context.
> e.g. threads, thread n, where, ...
> >      >      >          >      So the information is available to the
> user. It doesn't have to be
> >      >      >          >      produced at the time the event is
> processed.
> >      >      >          >
> >      >      >          >      I'm uncomfortable putting too much trust
> in waiting for the simple prompt,
> >      >      >          >      because there is too great a chance of
> false positives on such a small
> >      >      >          >      marker.
> >      >      >          >
> >      >      >          >
> >      >      >          >      On 10/17/18, 8:50 PM, Daniil Titov wrote:
> >      >      >          >      > Hi Chris, Alex and JC,
> >      >      >          >      >
> >      >      >          >      > I created a separate issue to deal with
> "non-atomic" jdb output at
> https://bugs.openjdk.java.net/browse/JDK-8212626 .
> >      >      >          >      >
> >      >      >          >      > Please review an updated fix that
> includes the changes Alex suggested.
> >      >      >          >      >
> >      >      >          >      > Webrev:
> http://cr.openjdk.java.net/~dtitov/8211736/webrev.04
> >      >      >          >      > Issue:
> https://bugs.openjdk.java.net/browse/JDK-8211736
> >      >      >          >      >
> >      >      >          >      > Thanks!
> >      >      >          >      > --Daniil
> >      >      >          >      >
> >      >      >          >      >
> >      >      >          >      > On 10/17/18, 5:06 PM, "Daniil Titov"<
> daniil.x.titov at oracle.com>  wrote:
> >      >      >          >      >
> >      >      >          >      >      Hi Chris,
> >      >      >          >      >
> >      >      >          >      >      The previous email was accidentally
> fired before I managed to type anything in. Sorry for confusion.
> >      >      >          >      >
> >      >      >          >      >      Jdb constantly reads new commands
> from System.in despite whether the breakpoint is hit and/or the prompt is
> printed.
> >      >      >          >      >
> >      >      >          >      >      cat -n
> src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/TTY.java
> >      >      >          >      >
> >      >      >          >      >      786                  // Process
> interactive commands.
> >      >      >          >      >         787
>  MessageOutput.printPrompt();
> >      >      >          >      >         788               while (true) {
> >      >      >          >      >         789                   String ln
> = in.readLine();
> >      >      >          >      >         790                   if (ln ==
> null) {
> >      >      >          >      >         791                       /*
> >      >      >          >      >         792                        *
> Jdb is being shutdown because debuggee exited, ignore any 'null'
> >      >      >          >      >         793                        *
> returned by readLine() during shutdown. JDK-8154144.
> >      >      >          >      >         794                        */
> >      >      >          >      >         795                       if
> (!isShuttingDown()) {
> >      >      >          >      >         796
>  MessageOutput.println("Input stream closed.");
> >      >      >          >      >         797                       }
> >      >      >          >      >         798                       ln =
> "quit";
> >      >      >          >      >         799                   }
> >      >      >          >      >         800
> >      >      >          >      >         801                   if
> (ln.startsWith("!!")&&  lastLine != null) {
> >      >      >          >      >         802                       ln =
> lastLine + ln.substring(2);
> >      >      >          >      >         803
>  MessageOutput.printDirectln(ln);// Special case: use printDirectln()
> >      >      >          >      >         804                   }
> >      >      >          >      >         805
> >      >      >          >      >         806
>  StringTokenizer t = new StringTokenizer(ln);
> >      >      >          >      >         807                   if
> (t.hasMoreTokens()) {
> >      >      >          >      >         808
>  lastLine = ln;
> >      >      >          >      >         809
>  executeCommand(t);
> >      >      >          >      >         810                   } else {
> >      >      >          >      >         811
>  MessageOutput.printPrompt();
> >      >      >          >      >         812                   }
> >      >      >          >      >         813               }
> >      >      >          >      >         814           } catch
> (VMDisconnectedException e) {
> >      >      >          >      >         815
>  handler.handleDisconnectedException();
> >      >      >          >      >         816           }
> >      >      >          >      >
> >      >      >          >      >      Below is a sample debug session for
> the following test class that sends commands "threads" and "quit"
> >      >      >          >      >      1        public class LoopTest {
> >      >      >          >      >           2       public static void
> main(String[] args) throws Exception {
> >      >      >          >      >           3           Thread thread =
> Thread.currentThread();
> >      >      >          >      >           4           while(true) {
> >      >      >          >      >           5               print(thread);
> >      >      >          >      >           6
>  Thread.sleep(5000);
> >      >      >          >      >           7           }
> >      >      >          >      >           8       }
> >      >      >          >      >           9
> >      >      >          >      >          10       public static void
> print(Object obj) {
> >      >      >          >      >          11
>  //System.out.println(obj);
> >      >      >          >      >          12       }
> >      >      >          >      >          13   }
> >      >      >          >      >
> >      >      >          >      >      datitov-mac:work datitov$
> ~/src/jdk-hs/build/macosx-x64-debug/images/jdk/bin/jdb LoopTest
> >      >      >          >      >      Initializing jdb ...
> >      >      >          >      >      >  stop go at LoopTest:6
> >      >      >          >      >      Deferring breakpoint LoopTest:6.
> >      >      >          >      >      It will be set after the class is
> loaded.
> >      >      >          >      >      >  run
> >      >      >          >      >      run LoopTest
> >      >      >          >      >      Set uncaught java.lang.Throwable
> >      >      >          >      >      Set deferred uncaught
> java.lang.Throwable
> >      >      >          >      >      >
> >      >      >          >      >      VM Started: Set deferred breakpoint
> LoopTest:6
> >      >      >          >      >
> >      >      >          >      >      Breakpoint hit: "thread=main",
> LoopTest.main(), line=6 bci=8
> >      >      >          >      >      6                Thread.sleep(5000);
> >      >      >          >      >
> >      >      >          >      >      Breakpoint hit: "thread=main",
> LoopTest.main(), line=6 bci=8
> >      >      >          >      >      6                Thread.sleep(5000);
> >      >      >          >      >      threads
> >      >      >          >      >      Group system:
> >      >      >          >      >
> (java.lang.ref.Reference$ReferenceHandler)0x172 Reference Handler running
> >      >      >          >      >
> (java.lang.ref.Finalizer$FinalizerThread)0x173  Finalizer         cond.
> waiting
> >      >      >          >      >        (java.lang.Thread)0x174
>                Signal Dispatcher running
> >      >      >          >      >      Group main:
> >      >      >          >      >        (java.lang.Thread)0x1
>                main              sleeping
> >      >      >          >      >      Group InnocuousThreadGroup:
> >      >      >          >      >
> (jdk.internal.misc.InnocuousThread)0x197        Common-Cleaner    cond.
> waiting
> >      >      >          >      >      >
> >      >      >          >      >      Breakpoint hit: "thread=main",
> LoopTest.main(), line=6 bci=8
> >      >      >          >      >      6                Thread.sleep(5000);
> >      >      >          >      >
> >      >      >          >      >      Breakpoint hit: "thread=main",
> LoopTest.main(), line=6 bci=8
> >      >      >          >      >      6                Thread.sleep(5000);
> >      >      >          >      >      quit
> >      >      >          >      >      Breakpoint hit: "thread=main",
> LoopTest.main(), line=6 bci=8
> >      >      >          >      >      6                Thread.sleep(5000);
> >      >      >          >      >
> >      >      >          >      >      datitov-mac:work datitov$
> >      >      >          >      >
> >      >      >          >      >      I think we could print a simple
> prompt in this case as Alex suggested.
> >      >      >          >      >
> >      >      >          >      >      Best regards,
> >      >      >          >      >      Daniil
> >      >      >          >      >
> >      >      >          >      >      On 10/17/18, 3:52 PM, "Chris
> Plummer"<chris.plummer at oracle.com>  wrote:
> >      >      >          >      >
> >      >      >          >      >          What is the jdb state for a
> breakpoint with SUSPEND_NONE? Can you
> >      >      >          >      >          actually type in commands even
> though no threads are suspended?
> >      >      >          >      >
> >      >      >          >      >          Chris
> >      >      >          >      >
> >      >      >          >      >          On 10/17/18 3:31 PM, Alex
> Menkov wrote:
> >      >      >          >      >          >  Hi Daniil, Chris,
> >      >      >          >      >          >
> >      >      >          >      >          >  As far as I understand, the
> fix does not completely fixes all
> >      >      >          >      >          >  "non-atomic" output issues
> (at least TTY.executeCommand still prints
> >      >      >          >      >          >  prompt separately), so I
> agree that handle it as separate issue would
> >      >      >          >      >          >  be better.
> >      >      >          >      >          >  Unfortunately I don't know
> Gary's ideas for the issue.
> >      >      >          >      >          >
> >      >      >          >      >          >  About the fix for print
> prompt:
> >      >      >          >      >          >  1) TTY.java:
> >      >      >          >      >          >  +            // Print
> current location if suspend policy is SUSPEND_NONE
> >      >      >          >      >          >  I suppose you mean "Print
> breakpoint location"
> >      >      >          >      >          >
> >      >      >          >      >          >  2) Does it make sense to use
> printCurrentLocation for
> >      >      >          >      >          >  SUSPEND_EVENT_THREAD?
> >      >      >          >      >          >  Is it expected to print
> something different from printBreakpointLocation?
> >      >      >          >      >          >
> >      >      >          >      >          >  3) I don't quite understand
> why we don't print simple prompt for
> >      >      >          >      >          >  SUSPEND_NONE. IIUC jdb can
> accept new command in both
> >      >      >          >      >          >  SUSPEND_EVENT_THREAD and
> SUSPEND_NONE cases (prompt shows that jdb
> >      >      >          >      >          >  waits for next command,
> right?)
> >      >      >          >      >          >
> >      >      >          >      >          >  4) JdbStopThreadTest.java
> >      >      >          >      >          >  New line line in Java regexp
> is "\\R"
> >      >      >          >      >          >
> >      >      >          >      >          >  --alex
> >      >      >          >      >          >
> >      >      >          >      >          >  On 10/17/2018 10:47, Chris
> Plummer wrote:
> >      >      >          >      >          >>  Hi Alex,
> >      >      >          >      >          >>
> >      >      >          >      >          >>  I think the tty buffering
> should be a separate bug fix, and I'd also
> >      >      >          >      >          >>  like input from Gary on it
> since he had tried something similar at
> >      >      >          >      >          >>  one point. It should
> probably also include a multithread test to
> >      >      >          >      >          >>  prove the fix is working
> (after first getting the test to fail
> >      >      >          >      >          >>  without the changes).
> >      >      >          >      >          >>
> >      >      >          >      >          >>  thanks,
> >      >      >          >      >          >>
> >      >      >          >      >          >>  Chris
> >      >      >          >      >          >>
> >      >      >          >      >          >>  On 10/16/18 8:59 PM, Daniil
> Titov wrote:
> >      >      >          >      >          >>>  Hi Alex, Chris and JC,
> >      >      >          >      >          >>>
> >      >      >          >      >          >>>  Please review an updated
> version of the patch that addresses these
> >      >      >          >      >          >>>  issues.
> >      >      >          >      >          >>>
> >      >      >          >      >          >>>  Webrev:
> http://cr.openjdk.java.net/~dtitov/8211736/webrev.03/
> >      >      >          >      >          >>>  Issue:
> https://bugs.openjdk.java.net/browse/JDK-8211736
> >      >      >          >      >          >>>
> >      >      >          >      >          >>>  Thanks!
> >      >      >          >      >          >>>  --Daniil
> >      >      >          >      >          >>>
> >      >      >          >      >          >>>
> >      >      >          >      >          >>>  On 10/12/18, 9:52 AM,
> "Alex Menkov"<alexey.menkov at oracle.com>  wrote:
> >      >      >          >      >          >>>
> >      >      >          >      >          >>>       Hi Daniil,
> >      >      >          >      >          >>>       1) +1 for
> printCurrentLocation when suspendPolicy != SUSPEND_ALL
> >      >      >          >      >          >>>       2) wrong indent in
> JdbStopThreadTest.java:
> >      >      >          >      >          >>>          36         import
> lib.jdb.JdbCommand;
> >      >      >          >      >          >>>          37         import
> lib.jdb.JdbTest;
> >      >      >          >      >          >>>       3) I think it would
> be better to make waitForSimplePrompt
> >      >      >          >      >          >>>  property of
> >      >      >          >      >          >>>       JdbCommand (like
> JdbCommand.allowExit)
> >      >      >          >      >          >>>
>  jdb.command(JdbCommand.run().replyIsSimplePrompt());
> >      >      >          >      >          >>>       looks much clearer
> than
> >      >      >          >      >          >>>
>  jdb.command(JdbCommand.run(), true);
> >      >      >          >      >          >>>       4) (TTY.java)
> >      >      >          >      >          >>>
>  MessageOutput.lnprint("Breakpoint hit:");
> >      >      >          >      >          >>>       +  // Print current
> location and prompt if suspend policy is
> >      >      >          >      >          >>>       SUSPEND_EVENT_THREAD.
> >      >      >          >      >          >>>       +  // In case of
> SUSPEND_ALL policy this is handled by
> >      >      >          >      >          >>>  vmInterrupted()
> >      >      >          >      >          >>>       method.
> >      >      >          >      >          >>>       +  if
> (be.request().suspendPolicy() ==
> >      >      >          >      >          >>>
> EventRequest.SUSPEND_EVENT_THREAD) {
> >      >      >          >      >          >>>       +
> printCurrentLocation(ThreadInfo.getThreadInfo(be.thread()));
> >      >      >          >      >          >>>       +
> MessageOutput.printPrompt();
> >      >      >          >      >          >>>       +  }
> >      >      >          >      >          >>>       We have 3 separate
> outputs.
> >      >      >          >      >          >>>       If we have several
> concurrent threads, we can easy get mess of
> >      >      >          >      >          >>>  outputs
> >      >      >          >      >          >>>       from different
> threads.
> >      >      >          >      >          >>>       I think it would be
> better to print everything in a single chunk.
> >      >      >          >      >          >>>       I suppose TTY has
> other places with similar "non-atomic"
> >      >      >          >      >          >>>  output, so
> >      >      >          >      >          >>>       maybe revising TTY
> output should be handled by separate issue.
> >      >      >          >      >          >>>       --alex
> >      >      >          >      >          >>>       On 10/11/2018 22:00,
> Chris Plummer wrote:
> >      >      >          >      >          >>>       >  Hi Daniil,
> >      >      >          >      >          >>>       >
> >      >      >          >      >          >>>       >  Can you send
> output from an example jdb session?
> >      >      >          >      >          >>>       >
> >      >      >          >      >          >>>       >  Do you think maybe
> we should also call printCurrentLocation()
> >      >      >          >      >          >>>  when the
> >      >      >          >      >          >>>       >  suspend policy is
> NONE?
> >      >      >          >      >          >>>       >
> >      >      >          >      >          >>>       >  There's a typo in
> the following line. The space is on the
> >      >      >          >      >          >>>  wrong side of
> >      >      >          >      >          >>>       >  the comma.
> >      >      >          >      >          >>>       >
> >      >      >          >      >          >>>       >     72
> jdb.command(JdbCommand.stopThreadAt(DEBUGGEE_CLASS
> >      >      >          >      >          >>>  ,bpLine));
> >      >      >          >      >          >>>       >
> >      >      >          >      >          >>>       >  thanks,
> >      >      >          >      >          >>>       >
> >      >      >          >      >          >>>       >  Chris
> >      >      >          >      >          >>>       >
> >      >      >          >      >          >>>       >  On 10/11/18 8:02
> PM, Daniil Titov wrote:
> >      >      >          >      >          >>>       >>
> >      >      >          >      >          >>>       >>  Thank you,  JC!
> >      >      >          >      >          >>>       >>
> >      >      >          >      >          >>>       >>  Please review an
> updated version of the patch that fixes
> >      >      >          >      >          >>>  newly added
> >      >      >          >      >          >>>       >>  test for Windows
> platform  (now it uses system dependent line
> >      >      >          >      >          >>>       >>  separator string).
> >      >      >          >      >          >>>       >>
> >      >      >          >      >          >>>       >>  Webrev:
> http://cr.openjdk.java.net/~dtitov/8211736/webrev.02/
> >      >      >          >      >          >>>       >>  <
> http://cr.openjdk.java.net/%7Edtitov/8211736/webrev.02/>
> >      >      >          >      >          >>>       >>
> >      >      >          >      >          >>>       >>  Issue:
> https://bugs.openjdk.java.net/browse/JDK-8211736
> >      >      >          >      >          >>>       >>
> >      >      >          >      >          >>>       >>  Best regards,
> >      >      >          >      >          >>>       >>
> >      >      >          >      >          >>>       >>  --Daniil
> >      >      >          >      >          >>>       >>
> >      >      >          >      >          >>>       >>  *From: *JC Beyler<
> jcbeyler at google.com>
> >      >      >          >      >          >>>       >>  *Date: *Thursday,
> October 11, 2018 at 7:17 PM
> >      >      >          >      >          >>>       >>  *To: *<
> daniil.x.titov at oracle.com>
> >      >      >          >      >          >>>       >>  *Cc: *<
> serviceability-dev at openjdk.java.net>
> >      >      >          >      >          >>>       >>  *Subject: *Re:
> RFR 8211736: jdb doesn't print prompt when
> >      >      >          >      >          >>>  breakpoint
> >      >      >          >      >          >>>       >>  is hit and
> suspend policy is STOP_EVENT_THREAD
> >      >      >          >      >          >>>       >>
> >      >      >          >      >          >>>       >>  Hi Daniil,
> >      >      >          >      >          >>>       >>
> >      >      >          >      >          >>>       >>  Looks good to me.
> I saw a really small nit:
> >      >      >          >      >          >>>       >>
> >      >      >          >      >          >>>       >>
> >      >      >          >      >          >>>
> http://cr.openjdk.java.net/~dtitov/8211736/webrev.01/test/jdk/com/sun/jdi/JdbStopThreadTest.java.html
> >      >      >          >      >          >>>
> >      >      >          >      >          >>>       >>
> >      >      >          >      >          >>>  <
> http://cr.openjdk.java.net/%7Edtitov/8211736/webrev.01/test/jdk/com/sun/jdi/JdbStopThreadTest.java.html
> >
> >      >      >          >      >          >>>
> >      >      >          >      >          >>>       >>
> >      >      >          >      >          >>>       >>  70
> jdb.command(JdbCommand.stopThreadAt( DEBUGGEE_CLASS
> >      >      >          >      >          >>>  ,bpLine));
> >      >      >          >      >          >>>       >>
> >      >      >          >      >          >>>       >>  There is a space
> after the '('.
> >      >      >          >      >          >>>       >>
> >      >      >          >      >          >>>       >>  No need to send a
> new webrev for that evidently :),
> >      >      >          >      >          >>>       >>
> >      >      >          >      >          >>>       >>  Jc
> >      >      >          >      >          >>>       >>
> >      >      >          >      >          >>>       >>  On Thu, Oct 11,
> 2018 at 5:07 PM Daniil Titov
> >      >      >          >      >          >>>       >>  <
> daniil.x.titov at oracle.com
> >      >      >          >      >          >>>  <mailto:
> daniil.x.titov at oracle.com>>  wrote:
> >      >      >          >      >          >>>       >>
> >      >      >          >      >          >>>       >>      Please review
> the change that fixes the issue with
> >      >      >          >      >          >>>  missing prompt
> >      >      >          >      >          >>>       >>      in jdb when a
> breakpoint is hit and the suspend policy
> >      >      >          >      >          >>>  is set to
> >      >      >          >      >          >>>       >>      stop the
> thread only.
> >      >      >          >      >          >>>       >>
> >      >      >          >      >          >>>       >>      Webrev:
> >      >      >          >      >          >>>
> http://cr.openjdk.java.net/~dtitov/8211736/webrev.01
> >      >      >          >      >          >>>       >>  <
> http://cr.openjdk.java.net/%7Edtitov/8211736/webrev.01>
> >      >      >          >      >          >>>       >>      Issue:
> https://bugs.openjdk.java.net/browse/JDK-8211736
> >      >      >          >      >          >>>       >>
> >      >      >          >      >          >>>       >>      Thanks!
> >      >      >          >      >          >>>       >>      --Daniil
> >      >      >          >      >          >>>       >>
> >      >      >          >      >          >>>       >>
> >      >      >          >      >          >>>       >>
> >      >      >          >      >          >>>       >>  --
> >      >      >          >      >          >>>       >>
> >      >      >          >      >          >>>       >>  Thanks,
> >      >      >          >      >          >>>       >>
> >      >      >          >      >          >>>       >>  Jc
> >      >      >          >      >          >>>       >>
> >      >      >          >      >          >>>       >
> >      >      >          >      >          >>>
> >      >      >          >      >          >>>
> >      >      >          >      >          >>
> >      >      >          >      >          >>
> >      >      >          >      >
> >      >      >          >      >
> >      >      >          >      >
> >      >      >          >      >
> >      >      >          >      >
> >      >      >          >
> >      >      >          >
> >      >      >          >
> >      >      >          >
> >      >      >
> >      >      >
> >      >      >
> >      >      >
> >      >      >
> >      >
> >      >
> >      >
> >      >
> >      >
> >
> >
> >
> >
> >
>


-- 

Thanks,
Jc
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20181022/747a8c49/attachment-0001.html>


More information about the serviceability-dev mailing list