Re: Analysis of jython2.5.3 dependency on JDK-Internal APIs

Jim Baker <[email protected]>
Newsgroups gmane.comp.lang.jython.devel
Message-ID <CAOhO=aPq3RdPye7i8WMNgTiKUvcMh7BeCjKP=J9MNfAscoNQXQ@mail.gmail.com>
Rory,

Thanks for this analysis. It's not likely we will be supporting Jython 2.5
on JDK 9, but it's informative for Jython 2.7, which will have this support.

Basically we have the following dependencies in this report:

*Xerces (org.w3c.dom.*)*, which we currently are using our own version at
2.11.0 (as usually linked in or "shaded" by jarjarlinks). There has been
some discussion on the
http://mail.openjdk.java.net/pipermail/core-libs-dev/2014-February/024824.html
to upgrade JDK 9 to this version but it does not appear to be the case that
there's a corresponding JEP at this time for this work.

*sun.misc.Unsafe*, which is used by external dependencies JFFI and Guava. I
believe in both cases these packages support some sort of backout mechanism
if sun.misc.Unsafe is not available. Regardless I'm confident that they
will be updated to JDK 9.

I'm aware of one specific usage of JVM internals by Jython directly, which
is in the signal module, which is written in Python but attempts to import
the Java package *sun.misc.Signal*. Per the module's doc string:

According to http://java.sun.com/products/jdk/faq/faq-sun-packages.html
'writing
> java programs that rely on sun.* is risky: they are not portable, and are
> not supported.'
>


> However, in Jython, like Python, we let you decide what makes sense for
> your application. If sun.misc.Signal is not available, an ImportError is
> raised.


This usage is very much self contained and it should be possible to migrate
or conditionally import if this functionality is updated in JDK 9.

- Jim

On Wed, Sep 24, 2014 at 1:50 AM, Rory O'Donnell Oracle, Dublin Ireland <
[email protected]> wrote:
>
> Hi Alan,
>
> As part of the preparations for JDK 9, Oracle’s engineers have been
analyzing open source projects like yours to understand usage.  One area of
concern involves identifying compatibility problems, such as reliance on
JDK-internal APIs.
>
> Our engineers have already prepared guidance on migrating some of the
more common usage patterns of JDK-internal APIs to supported public
interfaces. The list is on the OpenJDK wiki [0], along with instructions on
how to run the jdeps analysis tool yourself .
>
> As part of the ongoing development of JDK 9, I would like to encourage
migration from JDK-internal APIs towards the supported Java APIs. I have
prepared a report for your project rele ase jython2.5.3 based on the jdeps
output.
>
> The report is attached to this e-mail.
>
> For anything where your migration path is unclear, I would appreciate
comments on the JDK-internal API usage patterns in the attached jdeps
report - in particular comments elaborating on the rationale for them -
either to me or on this mailing list.
>
> Finding suitable replacements for unsupported interfaces is not always
straightforward, which is why I am reaching out to you early in the JDK 9
development cycle so you can give feedback about new APIs that may be
needed to facilitate this exercise.
>
> Thank you in advance for any efforts and feedback helping us make JDK 9
better.
>
> Rgds,Rory
>
> [0]
https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool
>
>
> --
> Rgds,Rory O'Donnell
> Quality Engineering Manager
> Oracle EMEA , Dublin, Ireland
>
>
>
>
>
>
------------------------------------------------------------------------------
> Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
> Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
> Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
> Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
>
http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
> _______________________________________________
> Jython-dev mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/jython-dev
>



--
- Jim

jim.baker@{colorado.edu|python.org|rackspace.com|zyasoft.com}
twitter.com/jimbaker
github.com/jimbaker
bitbucket.com/jimbaker

------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk

_______________________________________________
Jython-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jython-dev
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.