<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    Hi Chris,<br>
    <br>
    I was able to somewhat reproduce it with jdb:<br>
    compile any simple samle app like<br>
    <pre style="background-color:#ffffff;color:#080808;font-family:'JetBrains Mono',monospace;font-size:9.8pt;"><span style="color:#0033b3;">public class </span><span style="color:#000000;">A </span>{
    <span style="color:#0033b3;">public static void </span><span style="color:#00627a;">main</span>(<span style="color:#000000;">String</span>[] args) {
        <span style="color:#000000;">System</span>.<span style="color:#871094;font-style:italic;">out</span>.println(<span style="color:#067d17;">"A"</span>); // line 3
    }
}
</pre>
    now debug with jdb:<br>
    <br>
     % jdb A<br>
    Initializing jdb ...<br>
    > stop at A:3<br>
    Deferring breakpoint A:3.<br>
    It will be set after the class is loaded.<br>
    > run<br>
    run A<br>
    Set uncaught java.lang.Throwable<br>
    Set deferred uncaught java.lang.Throwable<br>
    > <br>
    VM Started: Set deferred breakpoint A:3<br>
    <br>
    Breakpoint hit: "thread=main", A.main(), line=3 bci=0<br>
    <br>
    main[1] exclude none<br>
    main[1] trace methods<br>
    main[1] next<br>
    > <br>
    <b>Method entered: </b><b><br>
    </b><b>Method entered: </b><b><br>
    </b><b>Method entered: </b><b><br>
    </b><b>Method entered: </b><br>
    Method exited: return value = false, "thread=main",
    java.lang.System.allowSecurityManager(), line=198 bci=12<br>
    <br>
    main[1] next<br>
    > <br>
    Method exited: return value = null, "thread=main",
    java.lang.System.getSecurityManager(), line=493 bci=11<br>
    <br>
    main[1] next<br>
    > <br>
    <b>Method entered: </b><b><br>
    </b><b>Method entered: </b><b><br>
    </b><b>Method entered: </b><b><br>
    </b><b>Method entered:</b> <br>
    Method exited: return value = <void value>, "thread=main",
    java.lang.Object.<init>(), line=44 bci=0<br>
    <br>
    main[1] next<br>
    > <br>
    <b>Method entered: </b><b><br>
    </b><b>Method entered: </b><b><br>
    </b><b>Method entered: </b><b><br>
    </b><b>Method entered: </b><br>
    Method exited: return value = true, "thread=main",
    java.lang.String.isLatin1(), line=4,546 bci=18<br>
    <br>
    Unfortunately jdb does not show method description for the events
    with suspend policy thread (except for the last one), but you can
    see that there are 5 events in one set here.<br>
    <br>
    Hope it helps,<br>
    Egor<br>
    <br>
    <div class="moz-cite-prefix">On 05.08.2022 22:02, Chris Plummer
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:ece5b4e7-60ab-3d32-d176-4ec47d3bed2c@oracle.com">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <p>Hi Egor,<br>
      </p>
      <p>That is odd, and clearly wrong. It means that MethodEntryEvents
        are being delivered when no longer even executing in the method.
        And you are using the <span id="SuspendPolicy_EVENT_THREAD"></span>EVENT_THREAD
        suspend policy, so there should be a suspend for each event.
        Offhand I can't think of any changes that would have caused
        this. I also don't see how our testing would passed with this
        behavior. I'm suspecting a faulty interaction with the debug
        agent and IDEA (possibly the IDEA version of JDI).</p>
      <p>Can you see where the thread is actually suspended at when you
        get the event set?</p>
      <p>Does this happen with 17 also? It would be nice to know what
        version introduced this problem.</p>
      <p>Can you create a JDI test case for this?<br>
      </p>
      <p>> Without the active step request it works in jdk 18 as in
        jdk 11: <br>
      </p>
      <p>I'm not sure what you mean by "active step". Do you mean single
        stepping is enabled? The JDWP spec does allow BreakPoint,
        SingleStep, MethodEntry, and MethodExit events to be combined
        into the same composite event (which should translate to the
        same JDI event set) if they occur at the same location and in
        the same thread. So I can see enabling single stepping having an
        impact on the behavior you are seeing.<br>
      </p>
      <p>Chris<br>
      </p>
      <div class="moz-cite-prefix">On 8/5/22 9:59 AM, Egor Ushakov
        wrote:<br>
      </div>
      <blockquote type="cite"
        cite="mid:11c7c221-6269-75f6-3666-aa7288613151@jetbrains.com">Hi,
        <br>
        <br>
        we're experiencing strange grouping of method entry/exit events,
        is this a bug or a feature? <br>
        We have one method entry request active with suspend policy 1
        (suspend thread). <br>
        important: we also have one active step request (step over) <br>
        <br>
        In jdk 11 we have one composite event for each event, which is
        what's expected: <br>
        event set, policy:1, count:1 = {<a
          class="moz-txt-link-abbreviated moz-txt-link-freetext"
          href="mailto:MethodEntryEvent@java.lang.ClassLoader:522"
          moz-do-not-send="true">MethodEntryEvent@java.lang.ClassLoader:522</a>
        in thread main} <br>
        event set, policy:1, count:1 = {<a
          class="moz-txt-link-abbreviated moz-txt-link-freetext"
href="mailto:MethodEntryEvent@jdk.internal.loader.ClassLoaders$AppClassLoader:170"
          moz-do-not-send="true">MethodEntryEvent@jdk.internal.loader.ClassLoaders$AppClassLoader:170</a>
        in thread main} <br>
        event set, policy:1, count:1 = {<a
          class="moz-txt-link-abbreviated moz-txt-link-freetext"
          href="mailto:MethodEntryEvent@java.lang.System:375"
          moz-do-not-send="true">MethodEntryEvent@java.lang.System:375</a>
        in thread main} <br>
        event set, policy:1, count:1 = {<a
          class="moz-txt-link-abbreviated moz-txt-link-freetext"
href="mailto:MethodEntryEvent@jdk.internal.loader.BuiltinClassLoader:579"
          moz-do-not-send="true">MethodEntryEvent@jdk.internal.loader.BuiltinClassLoader:579</a>
        in thread main} <br>
        event set, policy:1, count:1 = {<a
          class="moz-txt-link-abbreviated moz-txt-link-freetext"
href="mailto:MethodEntryEvent@jdk.internal.loader.BuiltinClassLoader:591"
          moz-do-not-send="true">MethodEntryEvent@jdk.internal.loader.BuiltinClassLoader:591</a>
        in thread main} <br>
        event set, policy:1, count:1 = {<a
          class="moz-txt-link-abbreviated moz-txt-link-freetext"
          href="mailto:MethodEntryEvent@java.lang.ClassLoader:665"
          moz-do-not-send="true">MethodEntryEvent@java.lang.ClassLoader:665</a>
        in thread main} <br>
        event set, policy:1, count:1 = {<a
          class="moz-txt-link-abbreviated moz-txt-link-freetext"
          href="mailto:MethodEntryEvent@java.lang.Object:50"
          moz-do-not-send="true">MethodEntryEvent@java.lang.Object:50</a>
        in thread main} <br>
        event set, policy:1, count:1 = {<a
          class="moz-txt-link-abbreviated moz-txt-link-freetext"
href="mailto:MethodEntryEvent@java.util.concurrent.ConcurrentHashMap:1541"
          moz-do-not-send="true">MethodEntryEvent@java.util.concurrent.ConcurrentHashMap:1541</a>
        in thread main} <br>
        event set, policy:1, count:1 = {<a
          class="moz-txt-link-abbreviated moz-txt-link-freetext"
href="mailto:MethodEntryEvent@java.util.concurrent.ConcurrentHashMap:1011"
          moz-do-not-send="true">MethodEntryEvent@java.util.concurrent.ConcurrentHashMap:1011</a>
        in thread main} <br>
        event set, policy:1, count:1 = {<a
          class="moz-txt-link-abbreviated moz-txt-link-freetext"
          href="mailto:MethodEntryEvent@java.lang.String:1502"
          moz-do-not-send="true">MethodEntryEvent@java.lang.String:1502</a>
        in thread main} <br>
        event set, policy:1, count:1 = {<a
          class="moz-txt-link-abbreviated moz-txt-link-freetext"
          href="mailto:MethodEntryEvent@java.lang.String:3266"
          moz-do-not-send="true">MethodEntryEvent@java.lang.String:3266</a>
        in thread main} <br>
        event set, policy:1, count:1 = {<a
          class="moz-txt-link-abbreviated moz-txt-link-freetext"
          href="mailto:MethodEntryEvent@java.lang.StringLatin1:194"
          moz-do-not-send="true">MethodEntryEvent@java.lang.StringLatin1:194</a>
        in thread main} <br>
        ... <br>
        <br>
        In jdk 18 they are grouped now! <br>
        event set, policy:1, count:17 = {<a
          class="moz-txt-link-abbreviated moz-txt-link-freetext"
          href="mailto:MethodEntryEvent@java.lang.ClassLoader:521"
          moz-do-not-send="true">MethodEntryEvent@java.lang.ClassLoader:521</a>
        in thread main, <a class="moz-txt-link-abbreviated
          moz-txt-link-freetext"
href="mailto:MethodEntryEvent@jdk.internal.loader.ClassLoaders$AppClassLoader:180"
          moz-do-not-send="true">MethodEntryEvent@jdk.internal.loader.ClassLoaders$AppClassLoader:180</a>
        in thread main, <a class="moz-txt-link-abbreviated
          moz-txt-link-freetext"
          href="mailto:MethodEntryEvent@java.lang.System:490"
          moz-do-not-send="true">MethodEntryEvent@java.lang.System:490</a>
        in thread main, <a class="moz-txt-link-abbreviated
          moz-txt-link-freetext"
          href="mailto:MethodEntryEvent@java.lang.System:198"
          moz-do-not-send="true">MethodEntryEvent@java.lang.System:198</a>
        in thread main, <a class="moz-txt-link-abbreviated
          moz-txt-link-freetext"
href="mailto:MethodEntryEvent@jdk.internal.loader.BuiltinClassLoader:639"
          moz-do-not-send="true">MethodEntryEvent@jdk.internal.loader.BuiltinClassLoader:639</a>
        in thread main, <a class="moz-txt-link-abbreviated
          moz-txt-link-freetext"
href="mailto:MethodEntryEvent@jdk.internal.loader.BuiltinClassLoader:651"
          moz-do-not-send="true">MethodEntryEvent@jdk.internal.loader.BuiltinClassLoader:651</a>
        in thread main, <a class="moz-txt-link-abbreviated
          moz-txt-link-freetext"
          href="mailto:MethodEntryEvent@java.lang.ClassLoader:664"
          moz-do-not-send="true">MethodEntryEvent@java.lang.ClassLoader:664</a>
        in thread main, <a class="moz-txt-link-abbreviated
          moz-txt-link-freetext"
          href="mailto:MethodEntryEvent@java.lang.Object:44"
          moz-do-not-send="true">MethodEntryEvent@java.lang.Object:44</a>
        in thread main, <a class="moz-txt-link-abbreviated
          moz-txt-link-freetext"
href="mailto:MethodEntryEvent@java.util.concurrent.ConcurrentHashMap:1541"
          moz-do-not-send="true">MethodEntryEvent@java.util.concurrent.ConcurrentHashMap:1541</a>
        in thread main, <a class="moz-txt-link-abbreviated
          moz-txt-link-freetext"
href="mailto:MethodEntryEvent@java.util.concurrent.ConcurrentHashMap:1011"
          moz-do-not-send="true">MethodEntryEvent@java.util.concurrent.ConcurrentHashMap:1011</a>
        in thread main, <a class="moz-txt-link-abbreviated
          moz-txt-link-freetext"
          href="mailto:MethodEntryEvent@java.lang.String:2336"
          moz-do-not-send="true">MethodEntryEvent@java.lang.String:2336</a>
        in thread main, <a class="moz-txt-link-abbreviated
          moz-txt-link-freetext"
          href="mailto:MethodEntryEvent@java.lang.String:4546"
          moz-do-not-send="true">MethodEntryEvent@java.lang.String:4546</a>
        in thread main, <a class="moz-txt-link-abbreviated
          moz-txt-link-freetext"
          href="mailto:MethodEntryEvent@java.lang.StringLatin1:192"
          moz-do-not-send="true">MethodEntryEvent@java.lang.StringLatin1:192</a>
        in thread main, <a class="moz-txt-link-abbreviated
          moz-txt-link-freetext"
href="mailto:MethodEntryEvent@java.util.concurrent.ConcurrentHashMap:697"
          moz-do-not-send="true">MethodEntryEvent@java.util.concurrent.ConcurrentHashMap:697</a>
        in thread main, <a class="moz-txt-link-abbreviated
          moz-txt-link-freetext"
href="mailto:MethodEntryEvent@java.util.concurrent.ConcurrentHashMap:760"
          moz-do-not-send="true">MethodEntryEvent@java.util.concurrent.ConcurrentHashMap:760</a>
        in thread main, <a class="moz-txt-link-abbreviated
          moz-txt-link-freetext"
          href="mailto:MethodEntryEvent@jdk.internal.misc.Unsafe:2153"
          moz-do-not-send="true">MethodEntryEvent@jdk.internal.misc.Unsafe:2153</a>
        in thread main,
        <a class="moz-txt-link-abbreviated moz-txt-link-freetext"
href="mailto:MethodEntryEvent@jdk.internal.misc.Unsafe.getReferenceVolatile"
          moz-do-not-send="true">MethodEntryEvent@jdk.internal.misc.Unsafe.getReferenceVolatile</a>(java.lang.Object,
        long)+-1 in thread main} <br>
        event set, policy:1, count:4 = {<a
          class="moz-txt-link-abbreviated moz-txt-link-freetext"
href="mailto:MethodEntryEvent@java.util.concurrent.ConcurrentHashMap$Node:631"
          moz-do-not-send="true">MethodEntryEvent@java.util.concurrent.ConcurrentHashMap$Node:631</a>
        in thread main, <a class="moz-txt-link-abbreviated
          moz-txt-link-freetext"
          href="mailto:MethodEntryEvent@java.lang.Object:44"
          moz-do-not-send="true">MethodEntryEvent@java.lang.Object:44</a>
        in thread main, <a class="moz-txt-link-abbreviated
          moz-txt-link-freetext"
href="mailto:MethodEntryEvent@java.util.concurrent.ConcurrentHashMap:765"
          moz-do-not-send="true">MethodEntryEvent@java.util.concurrent.ConcurrentHashMap:765</a>
        in thread main,
        <a class="moz-txt-link-abbreviated moz-txt-link-freetext"
href="mailto:MethodEntryEvent@jdk.internal.misc.Unsafe.compareAndSetReference"
          moz-do-not-send="true">MethodEntryEvent@jdk.internal.misc.Unsafe.compareAndSetReference</a>(java.lang.Object,
        long, java.lang.Object, java.lang.Object)+-1 in thread main} <br>
        event set, policy:1, count:2 = {<a
          class="moz-txt-link-abbreviated moz-txt-link-freetext"
href="mailto:MethodEntryEvent@java.util.concurrent.ConcurrentHashMap:2326"
          moz-do-not-send="true">MethodEntryEvent@java.util.concurrent.ConcurrentHashMap:2326</a>
        in thread main,
        <a class="moz-txt-link-abbreviated moz-txt-link-freetext"
href="mailto:MethodEntryEvent@jdk.internal.misc.Unsafe.compareAndSetLong"
          moz-do-not-send="true">MethodEntryEvent@jdk.internal.misc.Unsafe.compareAndSetLong</a>(java.lang.Object,
        long, long, long)+-1 in thread main} <br>
        <br>
        Which is really strange and breaks some login in IDEA debugger.
        <br>
        <br>
        Without the active step request it works in jdk 18 as in jdk 11:
        <br>
        event set, policy:1, count:1 = {<a
          class="moz-txt-link-abbreviated moz-txt-link-freetext"
          href="mailto:MethodEntryEvent@java.lang.ClassLoader:521"
          moz-do-not-send="true">MethodEntryEvent@java.lang.ClassLoader:521</a>
        in thread main} <br>
        event set, policy:1, count:1 = {<a
          class="moz-txt-link-abbreviated moz-txt-link-freetext"
href="mailto:MethodEntryEvent@jdk.internal.loader.ClassLoaders$AppClassLoader:180"
          moz-do-not-send="true">MethodEntryEvent@jdk.internal.loader.ClassLoaders$AppClassLoader:180</a>
        in thread main} <br>
        event set, policy:1, count:1 = {<a
          class="moz-txt-link-abbreviated moz-txt-link-freetext"
          href="mailto:MethodEntryEvent@java.lang.System:490"
          moz-do-not-send="true">MethodEntryEvent@java.lang.System:490</a>
        in thread main} <br>
        event set, policy:1, count:1 = {<a
          class="moz-txt-link-abbreviated moz-txt-link-freetext"
          href="mailto:MethodEntryEvent@java.lang.System:198"
          moz-do-not-send="true">MethodEntryEvent@java.lang.System:198</a>
        in thread main} <br>
        event set, policy:1, count:1 = {<a
          class="moz-txt-link-abbreviated moz-txt-link-freetext"
href="mailto:MethodEntryEvent@jdk.internal.loader.BuiltinClassLoader:639"
          moz-do-not-send="true">MethodEntryEvent@jdk.internal.loader.BuiltinClassLoader:639</a>
        in thread main} <br>
        event set, policy:1, count:1 = {<a
          class="moz-txt-link-abbreviated moz-txt-link-freetext"
href="mailto:MethodEntryEvent@jdk.internal.loader.BuiltinClassLoader:651"
          moz-do-not-send="true">MethodEntryEvent@jdk.internal.loader.BuiltinClassLoader:651</a>
        in thread main} <br>
        event set, policy:1, count:1 = {<a
          class="moz-txt-link-abbreviated moz-txt-link-freetext"
          href="mailto:MethodEntryEvent@java.lang.ClassLoader:664"
          moz-do-not-send="true">MethodEntryEvent@java.lang.ClassLoader:664</a>
        in thread main} <br>
        event set, policy:1, count:1 = {<a
          class="moz-txt-link-abbreviated moz-txt-link-freetext"
          href="mailto:MethodEntryEvent@java.lang.Object:44"
          moz-do-not-send="true">MethodEntryEvent@java.lang.Object:44</a>
        in thread main} <br>
        event set, policy:1, count:1 = {<a
          class="moz-txt-link-abbreviated moz-txt-link-freetext"
href="mailto:MethodEntryEvent@java.util.concurrent.ConcurrentHashMap:1541"
          moz-do-not-send="true">MethodEntryEvent@java.util.concurrent.ConcurrentHashMap:1541</a>
        in thread main} <br>
        event set, policy:1, count:1 = {<a
          class="moz-txt-link-abbreviated moz-txt-link-freetext"
href="mailto:MethodEntryEvent@java.util.concurrent.ConcurrentHashMap:1011"
          moz-do-not-send="true">MethodEntryEvent@java.util.concurrent.ConcurrentHashMap:1011</a>
        in thread main} <br>
        event set, policy:1, count:1 = {<a
          class="moz-txt-link-abbreviated moz-txt-link-freetext"
          href="mailto:MethodEntryEvent@java.lang.String:2336"
          moz-do-not-send="true">MethodEntryEvent@java.lang.String:2336</a>
        in thread main} <br>
        event set, policy:1, count:1 = {<a
          class="moz-txt-link-abbreviated moz-txt-link-freetext"
          href="mailto:MethodEntryEvent@java.lang.String:4546"
          moz-do-not-send="true">MethodEntryEvent@java.lang.String:4546</a>
        in thread main} <br>
        event set, policy:1, count:1 = {<a
          class="moz-txt-link-abbreviated moz-txt-link-freetext"
          href="mailto:MethodEntryEvent@java.lang.StringLatin1:192"
          moz-do-not-send="true">MethodEntryEvent@java.lang.StringLatin1:192</a>
        in thread main} <br>
        <br>
        Could anyone have a look please. <br>
        Thanks, <br>
        Egor <br>
      </blockquote>
    </blockquote>
    <br>
  </body>
</html>