JDK-8209332 : [TEST] test/jdk/com/sun/jdi/CatchPatternTest.sh is incorrect
  • Type: Bug
  • Component: hotspot
  • Sub-Component: svc
  • Affected Version: 9
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2018-08-09
  • Updated: 2020-08-27
  • Resolved: 2018-10-02
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 11 JDK 12
11.0.10-oracleFixed 12 b14Fixed
Related Reports
Relates :  
Description
test/jdk/com/sun/jdi/CatchPatternTest.sh tests runs jdb and debugee and executes:
   ignore uncaught java.lang.Throwable
   catch all java.lang.Il*
   catch all java.lang.Ind*
   cont
   cont
   cont
   ignore all java.lang.I*
   cont
It supposes that "ignore all java.lang.I*" reverts "catch all java.lang.Il*"/"catch all java.lang.Ind*"
But actually jdb replies:
Not found: all java.lang.I*
Usage: ignore [uncaught|caught|all] <class id>|<class pattern>
main[1] > 

so later exceptions are not ignored and jdb stops at the next exception:
Exception occurred: java.lang.IllegalArgumentException (to be caught at: CatchPatternTestTarg.loop(), line=21 bci=15)"thread=main", CatchPatternTestTarg.bark(), line=6 bci=53
6                throw new IllegalArgumentException("IllegalArgumentException");
main[1] 

At the end the test exits jdb by "quit" command and this masks that actually  test in not finished completely.
Comments
Fix Request (11u) This backport improves testing and matches the codebases better (I see 11.0.10-oracle). Patch applies cleanly to 11u, com/sun/jdi tests pass in {fastdebug,release}.
25-08-2020