Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8289765

JDI EventSet/resume/resume008 failed with "ERROR: suspendCounts don't match for : VirtualThread-unparker"

    XMLWordPrintable

Details

    • b14
    • aarch64
    • linux

    Description

      The following test failed in the JDK19 CI:

      vmTestbase/nsk/jdi/EventSet/resume/resume008/TestDescription.java

      Here's a snippet from the log file:

      debugger> :::::: case: # 2
      debugger> ......waiting for new ThreadStartEvent : 2
      EventHandler> waitForRequestedEventSet: enabling remove of listener nsk.share.jdi.EventHandler$7@60ddc97
      EventHandler> Adding listener nsk.share.jdi.EventHandler$7@60ddc97
      EventHandler> waitForRequestedEventSet: vm.resume called
      debugee.stderr> **> debuggee: 'run': exit :: threadName == thread1
      debugee.stderr> **> debuggee: 'run': enter :: threadName == thread2
      debugee.stderr> **> debuggee: 'run': exit :: threadName == thread2
      EventHandler> Received event set with policy = SUSPEND_ALL
      EventHandler> waitForRequestedEventSet: Received event set for request: thread start request (enabled)
      EventHandler> Event: ThreadStartEventImpl req thread start request (enabled)
      EventHandler> Removing listener nsk.share.jdi.EventHandler$7@60ddc97
      debugger> got new ThreadStartEvent with propety 'number' == ThreadStartRequest3
      debugger> ......checking up on EventSet.resume()
      debugger> ......--> vm.suspend();
      debugger> getting : Map<String, Integer> suspendsCounts1
      debugger> {VirtualThread-unparker=2, Common-Cleaner=2, ForkJoinPool-1-worker-1=2, main=2, old-m-a-i-n=2, Signal Dispatcher=2, ForkJoinPool-1-worker-4=2, ForkJoinPool-1-worker-5=2, Notification Thread=2, ForkJoinPool-1-worker-2=2, ForkJoinPool-1-worker-3=2, Reference Handler=2, Finalizer=2}
      debugger> eventSet.resume;
      debugger> getting : Map<String, Integer> suspendsCounts2
      EventHandler> Received event set with policy = SUSPEND_ALL
      EventHandler> Event: BreakpointEventImpl req breakpoint request nsk.jdi.EventSet.resume.resume008a:75 (enabled)
      debugger> Received communication breakpoint event.
      debugger> {VirtualThread-unparker=2, Common-Cleaner=2, ForkJoinPool-1-worker-1=2, main=2, old-m-a-i-n=2, Signal Dispatcher=2, ForkJoinPool-1-worker-4=2, ForkJoinPool-1-worker-5=2, Notification Thread=2, ForkJoinPool-1-worker-2=2, ForkJoinPool-1-worker-3=2, Reference Handler=2, Finalizer=2}
      debugger> getting : int policy = eventSet.suspendPolicy();
      debugger> case SUSPEND_ALL
      debugger> checking VirtualThread-unparker
      # ERROR: debugger> ERROR: suspendCounts don't match for : VirtualThread-unparker
      The following stacktrace is for failure analysis.
      nsk.share.TestFailure: debugger> ERROR: suspendCounts don't match for : VirtualThread-unparker
      at nsk.share.Log.logExceptionForFailureAnalysis(Log.java:432)
      at nsk.share.Log.complain(Log.java:403)
      at nsk.share.jdi.TestDebuggerType1.complain(TestDebuggerType1.java:78)
      at nsk.jdi.EventSet.resume.resume008.testRun(resume008.java:243)
      at nsk.share.jdi.TestDebuggerType1.runThis(TestDebuggerType1.java:119)
      at nsk.jdi.EventSet.resume.resume008.run(resume008.java:84)
      at nsk.jdi.EventSet.resume.resume008.main(resume008.java:79)
      at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
      at java.base/java.lang.reflect.Method.invoke(Method.java:578)
      at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
      at java.base/java.lang.Thread.run(Thread.java:1589)
      # ERROR: debugger> before resuming : 2
      # ERROR: debugger> after resuming : 2
      debugger> ......--> vm.resume()
      debugger> shouldRunAfterBreakpoint: entered
      debugger> shouldRunAfterBreakpoint: received breakpoint event.
      debugger> shouldRunAfterBreakpoint: received instruction from debuggee to finish.
      debugger> shouldRunAfterBreakpoint: exited with false.
      debugger> TESTING ENDS
      debugger> Waiting for debuggee's exit...
      EventHandler> waitForVMDisconnect
      debugee.stderr> **> debuggee: debuggee exits
      EventHandler> Received event set with policy = SUSPEND_NONE
      EventHandler> Event: VMDeathEventImpl req null
      EventHandler> receieved VMDeath
      EventHandler> Removing listener nsk.share.jdi.EventHandler$3@7b74fdf
      EventHandler> Received event set with policy = SUSPEND_NONE
      EventHandler> Event: VMDisconnectEventImpl req null
      EventHandler> receieved VMDisconnect
      EventHandler> Removing listener nsk.share.jdi.EventHandler$4@53166b0e
      EventHandler> finished
      EventHandler> waitForVMDisconnect: done
      debugger> Event handler thread exited.
      debugger> Debuggee PASSED.


      #>
      #> SUMMARY: Following errors occured
      #> during test execution:
      #>
      # ERROR: debugger> ERROR: suspendCounts don't match for : VirtualThread-unparker
      # ERROR: debugger> before resuming : 2
      # ERROR: debugger> after resuming : 2
      ----------System.err:(0/0)----------

      Attachments

        Issue Links

          Activity

            People

              cjplummer Chris Plummer
              dcubed Daniel Daugherty
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: