Need for one more release candidate for Jython 2.7.1

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Need for one more release candidate for Jython 2.7.1

Jim Baker-2
So it looks like we will need a RC3 for Jython 2.7.1, given the following two bugs:
#2596, now fixed in master, is just the sort of bug that may scramble existing user tests (although multi-line messages are relatively rare). #2593 has an easy path to raising a NullPointerException that can come up in common Python code. But it should be very straightforward to guard against, so we should have a fix for it momentarily I would assume.

And that is it. There are exactly 301 other bugs that are open, as I write this email, so clearly we have plenty of work to consider in the future. But in my judgment, we are about there for a final release.

But it's still not too late to submit a bug against RC2! Please test against the download links on Frank's blog post: http://fwierzbicki.blogspot.com/2017/06/jython-271-rc2-released.html

- Jim

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Jython-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jython-dev
Reply | Threaded
Open this post in threaded view
|

Re: Need for one more release candidate for Jython 2.7.1

Tobias.Brieden

Is there any chance that a bug fix for issue 2513 [0] can still be included in Jython 2.7.1? This bug in Jython's JSR 223 implementation prevents parallel execution. Therefore, the execution of Jython scripts is in our application guarded by a global lock, which is a performance bottleneck. A fix would be a great improvement for us!

 

Tobias

 

[0] http://bugs.jython.org/issue2513

 

 

Von: Jim Baker [mailto:[hidden email]]
Gesendet: Freitag, 9. Juni 2017 07:35
An: Jython Developers; [hidden email]
Betreff: [Jython-dev] Need for one more release candidate for Jython 2.7.1

 

So it looks like we will need a RC3 for Jython 2.7.1, given the following two bugs:

#2596, now fixed in master, is just the sort of bug that may scramble existing user tests (although multi-line messages are relatively rare). #2593 has an easy path to raising a NullPointerException that can come up in common Python code. But it should be very straightforward to guard against, so we should have a fix for it momentarily I would assume.

 

And that is it. There are exactly 301 other bugs that are open, as I write this email, so clearly we have plenty of work to consider in the future. But in my judgment, we are about there for a final release.

 

But it's still not too late to submit a bug against RC2! Please test against the download links on Frank's blog post: http://fwierzbicki.blogspot.com/2017/06/jython-271-rc2-released.html

 

- Jim


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Jython-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jython-dev
Reply | Threaded
Open this post in threaded view
|

Re: Need for one more release candidate for Jython 2.7.1

Stefan Richthofer
Tobias,
if you (or someone else) had a concrete fix for #2513 (or at least a precise idea how to fix it), ideally kind of a pull request, we can consider it.
Otherwise - given that nobody seems to be actively working on #2513 - and there is no totally obvious fix discribed in the threat, I'm afraid chances would be quite minimal. At least AFAICT.
 
- Stefan
 
Gesendet: Dienstag, 13. Juni 2017 um 11:19 Uhr
Von: [hidden email]
An: [hidden email]
Betreff: Re: [Jython-dev] Need for one more release candidate for Jython 2.7.1

Is there any chance that a bug fix for issue 2513 [0] can still be included in Jython 2.7.1? This bug in Jython's JSR 223 implementation prevents parallel execution. Therefore, the execution of Jython scripts is in our application guarded by a global lock, which is a performance bottleneck. A fix would be a great improvement for us!

 

Tobias

 

[0] http://bugs.jython.org/issue2513

 

 

Von: Jim Baker [mailto:[hidden email]]
Gesendet: Freitag, 9. Juni 2017 07:35
An: Jython Developers; [hidden email]
Betreff: [Jython-dev] Need for one more release candidate for Jython 2.7.1

 

So it looks like we will need a RC3 for Jython 2.7.1, given the following two bugs:

#2596, now fixed in master, is just the sort of bug that may scramble existing user tests (although multi-line messages are relatively rare). #2593 has an easy path to raising a NullPointerException that can come up in common Python code. But it should be very straightforward to guard against, so we should have a fix for it momentarily I would assume.

 

And that is it. There are exactly 301 other bugs that are open, as I write this email, so clearly we have plenty of work to consider in the future. But in my judgment, we are about there for a final release.

 

But it's still not too late to submit a bug against RC2! Please test against the download links on Frank's blog post: http://fwierzbicki.blogspot.com/2017/06/jython-271-rc2-released.html

 

- Jim

------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot_______________________________________________ Jython-dev mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/jython-dev

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Jython-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jython-dev
Reply | Threaded
Open this post in threaded view
|

Re: Need for one more release candidate for Jython 2.7.1

Jim Baker-2
In reply to this post by Tobias.Brieden
Tobias,

I took a detailed look at http://bugs.jython.org/issue2513. Unfortunately there is no easy fix for this problem as stated, because org.python.jsr223.ScriptEngine, via org.python.util.PythonInterepreter, relies on org.python.core.PySystemState (= sys in Python), which effectively collects together global state for Python, either directly, such as sys.stdout, or indirectly, via sys.modules and any globals within those modules. The mechanism that ScriptEngine uses to put locals on a thread local will not work here, because this is maintained by a separate entity in Python, the frame object (= PyFrame in Jython); there is no such support for sys.stdout, etc, to be looked up from the thread.

There is a possible solution, but it's not feasible at this point in the release cycle and needs to be deferred to later. Instead of always attempting to reuse PySystemState, Jython's JSR223 should instead support a model where new PySystemState objects can be attached to a ScriptEngine. I believe this is similar to what Nashorn supports with its --global-per-engine property (also configurable some other ways, see the notes). Regardless of exact similarity, this is how we would have to do it:

ScriptEngine engine = factory.getScriptEngine(new String[] { "--global-per-engine" });

(https://wiki.openjdk.java.net/display/Nashorn/Nashorn+jsr223+engine+notes)

We should be able to implement this for 2.7.2; and also maybe we can speed up the cadence for 2.7.2. I don't see why that is not possible: a 6 month release cycle is still a very good idea, we just had too many problems we identified during 2.7.1 that kept pushing us back, plus changing time availability by contributors (certainly the case for me!).

Lastly, for Jython 3, we may want to revisit some of our APIs like PySystemState so that they can be less global, lighter weight, and have better lifecycle management, while still maintaining their Python semantics. (So not easy!)

- Jim

On Tue, Jun 13, 2017 at 3:19 AM, <[hidden email]> wrote:

Is there any chance that a bug fix for issue 2513 [0] can still be included in Jython 2.7.1? This bug in Jython's JSR 223 implementation prevents parallel execution. Therefore, the execution of Jython scripts is in our application guarded by a global lock, which is a performance bottleneck. A fix would be a great improvement for us!

 

Tobias

 

[0] http://bugs.jython.org/issue2513

 

 

Von: Jim Baker [mailto:[hidden email]]
Gesendet: Freitag, 9. Juni 2017 07:35
An: Jython Developers; [hidden email]
Betreff: [Jython-dev] Need for one more release candidate for Jython 2.7.1

 

So it looks like we will need a RC3 for Jython 2.7.1, given the following two bugs:

#2596, now fixed in master, is just the sort of bug that may scramble existing user tests (although multi-line messages are relatively rare). #2593 has an easy path to raising a NullPointerException that can come up in common Python code. But it should be very straightforward to guard against, so we should have a fix for it momentarily I would assume.

 

And that is it. There are exactly 301 other bugs that are open, as I write this email, so clearly we have plenty of work to consider in the future. But in my judgment, we are about there for a final release.

 

But it's still not too late to submit a bug against RC2! Please test against the download links on Frank's blog post: http://fwierzbicki.blogspot.com/2017/06/jython-271-rc2-released.html

 

- Jim


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Jython-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jython-dev



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Jython-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jython-dev
Reply | Threaded
Open this post in threaded view
|

Re: Need for one more release candidate for Jython 2.7.1

Tobias.Brieden
In reply to this post by Jim Baker-2

Thanks for the explanation!

 

Tobias

 

Von: [hidden email] [mailto:[hidden email]] Im Auftrag von Jim Baker
Gesendet: Dienstag, 13. Juni 2017 21:00
An: Brieden, Tobias
Cc: Jython Developers
Betreff: Re: [Jython-dev] Need for one more release candidate for Jython 2.7.1

 

Tobias,

I took a detailed look at http://bugs.jython.org/issue2513. Unfortunately there is no easy fix for this problem as stated, because org.python.jsr223.ScriptEngine, via org.python.util.PythonInterepreter, relies on org.python.core.PySystemState (= sys in Python), which effectively collects together global state for Python, either directly, such as sys.stdout, or indirectly, via sys.modules and any globals within those modules. The mechanism that ScriptEngine uses to put locals on a thread local will not work here, because this is maintained by a separate entity in Python, the frame object (= PyFrame in Jython); there is no such support for sys.stdout, etc, to be looked up from the thread.

There is a possible solution, but it's not feasible at this point in the release cycle and needs to be deferred to later. Instead of always attempting to reuse PySystemState, Jython's JSR223 should instead support a model where new PySystemState objects can be attached to a ScriptEngine. I believe this is similar to what Nashorn supports with its --global-per-engine property (also configurable some other ways, see the notes). Regardless of exact similarity, this is how we would have to do it:

ScriptEngine engine = factory.getScriptEngine(new String[] { "--global-per-engine" });

(<a href="https://wiki.openjdk.java.net/display/Nashorn/Nashorn&#43;jsr223&#43;engine&#43;notes">https://wiki.openjdk.java.net/display/Nashorn/Nashorn+jsr223+engine+notes)

We should be able to implement this for 2.7.2; and also maybe we can speed up the cadence for 2.7.2. I don't see why that is not possible: a 6 month release cycle is still a very good idea, we just had too many problems we identified during 2.7.1 that kept pushing us back, plus changing time availability by contributors (certainly the case for me!).

Lastly, for Jython 3, we may want to revisit some of our APIs like PySystemState so that they can be less global, lighter weight, and have better lifecycle management, while still maintaining their Python semantics. (So not easy!)

 

- Jim

 

On Tue, Jun 13, 2017 at 3:19 AM, <[hidden email]> wrote:

Is there any chance that a bug fix for issue 2513 [0] can still be included in Jython 2.7.1? This bug in Jython's JSR 223 implementation prevents parallel execution. Therefore, the execution of Jython scripts is in our application guarded by a global lock, which is a performance bottleneck. A fix would be a great improvement for us!

 

Tobias

 

[0] http://bugs.jython.org/issue2513

 

 

Von: Jim Baker [mailto:[hidden email]]
Gesendet: Freitag, 9. Juni 2017 07:35
An: Jython Developers; [hidden email]
Betreff: [Jython-dev] Need for one more release candidate for Jython 2.7.1

 

So it looks like we will need a RC3 for Jython 2.7.1, given the following two bugs:

#2596, now fixed in master, is just the sort of bug that may scramble existing user tests (although multi-line messages are relatively rare). #2593 has an easy path to raising a NullPointerException that can come up in common Python code. But it should be very straightforward to guard against, so we should have a fix for it momentarily I would assume.

 

And that is it. There are exactly 301 other bugs that are open, as I write this email, so clearly we have plenty of work to consider in the future. But in my judgment, we are about there for a final release.

 

But it's still not too late to submit a bug against RC2! Please test against the download links on Frank's blog post: http://fwierzbicki.blogspot.com/2017/06/jython-271-rc2-released.html

 

- Jim


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Jython-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jython-dev

 


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Jython-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jython-dev
Reply | Threaded
Open this post in threaded view
|

Re: Need for one more release candidate for Jython 2.7.1

Jim Baker-2
It looks like we will be able to release RC3 this weekend. This will have given us 2 weeks for reviewing RC2, and hopefully we can hold to the same schedule for RC3. This would mean, if all goes well, we can release 2.7.1 on Saturday July 1.

In other words, Jython 2.7.1 on 2017-07-01.

It's just like a long awaited summer movie :)

There was one additional bug report, http://bugs.jython.org/issue2598, during the RC2 period. This issue is about using the ast module (or Java equivalent) with ImportFrom AST nodes, specifically with relative imports, since RC2 was released. However, this has been the case as the bug mentions for 2.7.0 as well, so it is not a regression.

Although we should fix this bug, I do not believe this rises to a bug that should block RC3 or the final release. Instead it can be deferred until 2.7.2, unless someone can produce an easy patch. But historically the imp.java module is a bit of a challenge to work with, because there are so many logic paths. 

- Jim

On Wed, Jun 14, 2017 at 1:47 AM, <[hidden email]> wrote:

Thanks for the explanation!

 

Tobias

 

Von: [hidden email] [mailto:[hidden email]] Im Auftrag von Jim Baker
Gesendet: Dienstag, 13. Juni 2017 21:00
An: Brieden, Tobias
Cc: Jython Developers
Betreff: Re: [Jython-dev] Need for one more release candidate for Jython 2.7.1

 

Tobias,

I took a detailed look at http://bugs.jython.org/issue2513. Unfortunately there is no easy fix for this problem as stated, because org.python.jsr223.ScriptEngine, via org.python.util.PythonInterepreter, relies on org.python.core.PySystemState (= sys in Python), which effectively collects together global state for Python, either directly, such as sys.stdout, or indirectly, via sys.modules and any globals within those modules. The mechanism that ScriptEngine uses to put locals on a thread local will not work here, because this is maintained by a separate entity in Python, the frame object (= PyFrame in Jython); there is no such support for sys.stdout, etc, to be looked up from the thread.

There is a possible solution, but it's not feasible at this point in the release cycle and needs to be deferred to later. Instead of always attempting to reuse PySystemState, Jython's JSR223 should instead support a model where new PySystemState objects can be attached to a ScriptEngine. I believe this is similar to what Nashorn supports with its --global-per-engine property (also configurable some other ways, see the notes). Regardless of exact similarity, this is how we would have to do it:

ScriptEngine engine = factory.getScriptEngine(new String[] { "--global-per-engine" });

(https://wiki.openjdk.java.net/display/Nashorn/Nashorn+jsr223+engine+notes)

We should be able to implement this for 2.7.2; and also maybe we can speed up the cadence for 2.7.2. I don't see why that is not possible: a 6 month release cycle is still a very good idea, we just had too many problems we identified during 2.7.1 that kept pushing us back, plus changing time availability by contributors (certainly the case for me!).

Lastly, for Jython 3, we may want to revisit some of our APIs like PySystemState so that they can be less global, lighter weight, and have better lifecycle management, while still maintaining their Python semantics. (So not easy!)

 

- Jim

 

On Tue, Jun 13, 2017 at 3:19 AM, <[hidden email]> wrote:

Is there any chance that a bug fix for issue 2513 [0] can still be included in Jython 2.7.1? This bug in Jython's JSR 223 implementation prevents parallel execution. Therefore, the execution of Jython scripts is in our application guarded by a global lock, which is a performance bottleneck. A fix would be a great improvement for us!

 

Tobias

 

[0] http://bugs.jython.org/issue2513

 

 

Von: Jim Baker [mailto:[hidden email]]
Gesendet: Freitag, 9. Juni 2017 07:35
An: Jython Developers; [hidden email]
Betreff: [Jython-dev] Need for one more release candidate for Jython 2.7.1

 

So it looks like we will need a RC3 for Jython 2.7.1, given the following two bugs:

#2596, now fixed in master, is just the sort of bug that may scramble existing user tests (although multi-line messages are relatively rare). #2593 has an easy path to raising a NullPointerException that can come up in common Python code. But it should be very straightforward to guard against, so we should have a fix for it momentarily I would assume.

 

And that is it. There are exactly 301 other bugs that are open, as I write this email, so clearly we have plenty of work to consider in the future. But in my judgment, we are about there for a final release.

 

But it's still not too late to submit a bug against RC2! Please test against the download links on Frank's blog post: http://fwierzbicki.blogspot.com/2017/06/jython-271-rc2-released.html

 

- Jim


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Jython-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jython-dev

 


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Jython-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jython-dev



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Jython-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jython-dev