To transition away from Attach API, the community needs a proposal to do so
and we'll need to deprecate the GFSH options that depend on Attach API such
as "--pid" in "status server --pid 20938". Even then we're looking at a
minimum of one major release before we can remove options after they are
deprecated.

We haven't had a major release in 4+ years so don't hold your breath! :)

On Wed, Jul 8, 2020 at 9:59 AM Sean Goller <sgol...@vmware.com> wrote:

> The Liberica JDK does not include the Attach API. I'm investigating why.
> Given the inherent insecurity of this API, I recommend we transition away
> from using it.
> ________________________________
> From: Kirk Lund <kl...@apache.org>
> Sent: Monday, July 6, 2020 10:36 AM
> To: dev@geode.apache.org <dev@geode.apache.org>
> Subject: Flaky test caused by missing JDK dependency
>
> CI Failure:
> LocatorLauncherRemoteFileIntegrationTest.startDeletesStaleControlFiles
> failed with ConditionTimeoutException
>
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fissues.apache.org%2Fjira%2Fbrowse%2FGEODE-6183&amp;data=02%7C01%7Csgoller%40vmware.com%7Cbcfa660e6577442247ee08d821d3283c%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C637296538083290882&amp;sdata=7HMMMxvHvdlJf8Awc9zAl7Xr9291Ep0HMoto5%2F%2BgUys%3D&amp;reserved=0
>
> I've debugged the latest occurrence of GEODE-6183 (intermittent failure
> CI):
>
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fconcourse.apachegeode-ci.info%2Fteams%2Fmain%2Fpipelines%2Fapache-support-1-13-main%2Fjobs%2FWindowsCoreIntegrationTestOpenJDK11%2Fbuilds%2F34&amp;data=02%7C01%7Csgoller%40vmware.com%7Cbcfa660e6577442247ee08d821d3283c%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C637296538083290882&amp;sdata=x1FIsAQOyZd%2Bvl%2BRRkzI8yGeFW%2B04sMuO4JM%2F67vu8w%3D&amp;reserved=0
>
> The underlying cause is a missing dependency: the Attach API. In the Oracle
> JDK, the Attach API is found in the JAVA_HOME/lib/tools.jar. In some JDKs,
> including LibericaJDK, there may not be a tools.jar or it may be missing
> from our image of specific JDKs or a specific OS. I confirmed that the
> Attach API is actually inside a different .jar on some Mac releases of the
> JDK.
>
> Other than JDK differences, I'm not sure why tools.jar would intermittently
> be missing from our testing image, but that's definitely the cause of
> WindowsCoreIntegrationTestOpenJDK11 failing. I've reviewed a couple other
> older runs and it was the same intermittent cause of failure.
>
> Does anyone know if LibericaJDK includes tools.jar or the Attach API?
>
> Does anyone know how to verify that our images all have tools.jar or its
> equivalent?
>
> java.util.ServiceConfigurationError:
> com.sun.tools.attach.spi.AttachProvider: Provider
> sun.tools.attach.WindowsAttachProvider not found
> at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:588)
> at
>
> java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.nextProviderClass(ServiceLoader.java:1211)
> at
>
> java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1220)
> at
>
> java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1264)
> at java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1299)
> at java.base/java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1384)
> at
>
> jdk.attach/com.sun.tools.attach.spi.AttachProvider.providers(AttachProvider.java:258)
> at
>
> jdk.attach/com.sun.tools.attach.VirtualMachine.list(VirtualMachine.java:144)
> at
>
> org.apache.geode.internal.process.AttachProcessUtils.isProcessAlive(AttachProcessUtils.java:35)
> at
>
> org.apache.geode.internal.process.ProcessUtils.isProcessAlive(ProcessUtils.java:99)
> at
>
> org.apache.geode.internal.process.lang.AvailablePid.findAvailablePid(AvailablePid.java:117)
> at
>
> org.apache.geode.distributed.LauncherIntegrationTestCase.setUpAbstractLauncherIntegrationTestCase(LauncherIntegrationTestCase.java:92)
>

Reply via email to