Hi Chris, http://cr.openjdk.java.net/~cjplummer/8236913/webrev.00 <http://cr.openjdk.java.net/~cjplummer/8236913/webrev.00> seems to be a webrev from another issue, should it have been http://cr.openjdk.java.net/~cjplummer/8238196/webrev.00/ <http://cr.openjdk.java.net/~cjplummer/8238196/webrev.00/> ?
-- Igor > On Jan 30, 2020, at 10:10 PM, Chris Plummer <chris.plum...@oracle.com> wrote: > > Hello, > > Please review the following fix for some SA tests that are failing on Mac OS > X 10.14.5 and later: > > https://bugs.openjdk.java.net/browse/JDK-8238196 > http://cr.openjdk.java.net/~cjplummer/8236913/webrev.00 > > The issue is that SA can't attach to a signed binary starting with 10.14.5. > There is no workaround for this, so these tests are being disabled when it is > detected that the binary is signed and we are running on 10.14 or later (I > chose all 10.14 releases to simplify the check). > > Some background may help explain the fix. In order for SA to attach to a live > process (not a core file) on OSX, either the attaching process (ie. the test) > has to be run as root, or sudo needs to be supported. However, the only tests > that make the sudo check are the 20 or so that use ClhsdbLauncher. The rest > all rely on "@requires vm.hasSAandCanAttach" to filter out tests that use SA > attach. vm.hasSAandCanAttach only checks if the test is being run as root. > Thus all our non-ClhsdbLauncher tests that SA attach to a live process are > currently not run unless they are run as root. 8238268 [1] has been filed to > address this, making it so all the tests will attempt to use sudo if not run > as root. > > Because of the difference in how ClhsdbLauncher tests and "@requires > vm.hasSAandCanAttach" tests check to see if they are runnable, this fix needs > to address both types of checks. The common code for both these cases is > Platform.shouldSAAttach(), which on OSX basically equates to check to see if > we are running as root. I changed it to also return false if running on > signed binary with 10.14 or later. However, this confused the ClhsdbLauncher > use of Platform.shouldSAAttach() somewhat, since it assumed a false result > only happens because you are not running as root (in which case it would then > check if sudo will work). So ClhsdbLauncher now has double check that the > false result was not because of running a signed binary. If it is signed, it > won't do the sudo check. This will get cleaned up with 8238268 [1], which > will move the sudo check into Platform.shouldSAAttach(). > > thanks, > > Chris > > [1] https://bugs.openjdk.java.net/browse/JDK-8238268 >