[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2018-10-11 Thread Orivej Desh
Change by Orivej Desh : -- nosy: +orivej ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2018-01-28 Thread Guido van Rossum
Guido van Rossum added the comment: Please don't discuss on closed issues. Open a new issue. -- ___ Python tracker ___

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2018-01-28 Thread Ofer
Ofer added the comment: @jason.coombs as far as I can tell, this only works in python3, but not in python2, where it still produces the same error. -- versions: +Python 2.7 -Python 3.3 ___ Python tracker

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2018-01-28 Thread Jason R. Coombs
Jason R. Coombs added the comment: @slallum, That does seem to be a problem, though I do observe that the issue reported by bdb with CalledProcessError is no longer an issue: >>> import subprocess, pickle >>> try: ... subprocess.check_call(['python', '-c', 'raise

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2018-01-28 Thread Ofer
Ofer added the comment: Perhaps this is a problem for a different issue, but pickling custom exceptions fails when the exception gets more than one argument: import pickle class MultipleArgumentsError(Exception): def __init__(self, a, b): self.a = a

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2013-02-27 Thread Roundup Robot
Roundup Robot added the comment: New changeset 2c9f7ed28384 by R David Murray in branch '3.2': #17296: backport fix for issue 1692335, naive exception pickling. http://hg.python.org/cpython/rev/2c9f7ed28384 New changeset 67c27421b00b by R David Murray in branch '3.3': Null merge for issue

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2012-07-29 Thread Georg Brandl
Georg Brandl added the comment: Richard, can the issue be closed? -- priority: release blocker - critical ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue1692335 ___

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2012-07-29 Thread Richard Oudkerk
Richard Oudkerk added the comment: Richard, can the issue be closed? I guess so (although the change could arguably be back ported). Pickling of Exception classes is still somewhat dodgy because an example like class Error(Exception): def __init__(self, x):

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2012-07-29 Thread Georg Brandl
Georg Brandl added the comment: Please reopen if you think it should be backported. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue1692335 ___

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2012-07-28 Thread Georg Brandl
Georg Brandl ge...@python.org added the comment: OK, finally I think this can go in. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue1692335 ___

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2012-07-28 Thread Roundup Robot
Roundup Robot added the comment: New changeset 68e2690a471d by Richard Oudkerk in branch 'default': Issue #1692335: Move initial args assignment to BaseException.__new__ http://hg.python.org/cpython/rev/68e2690a471d -- nosy: +python-dev ___ Python

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2012-07-28 Thread Łukasz Langa
Changes by Łukasz Langa luk...@langa.pl: -- assignee: lukasz.langa - sbt stage: patch review - commit review versions: -Python 2.7, Python 3.2 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue1692335

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2012-07-27 Thread Richard Oudkerk
Richard Oudkerk shibt...@gmail.com added the comment: Here is a minimal patch against default. It is a clear improvement on the current situation, even though it still cannot handle the case class Error(Exception): def __init__(self, x): Exception.__init__(self) self.x = x

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2012-07-27 Thread Richard Oudkerk
Changes by Richard Oudkerk shibt...@gmail.com: Added file: http://bugs.python.org/file26537/init_args.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue1692335 ___

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2012-07-27 Thread Antoine Pitrou
Antoine Pitrou pit...@free.fr added the comment: There should be an actual pickling / unpickling test, so that this doesn't regress by mistake. Le vendredi 27 juillet 2012 à 11:01 +, Richard Oudkerk a écrit : Changes by Richard Oudkerk shibt...@gmail.com: Added file:

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2012-07-27 Thread Richard Oudkerk
Richard Oudkerk shibt...@gmail.com added the comment: ExceptionTests.testAttributes already checks the attributes of unpickled copies (using all protocols). -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue1692335

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2012-07-27 Thread Antoine Pitrou
Antoine Pitrou pit...@free.fr added the comment: ExceptionTests.testAttributes already checks the attributes of unpickled copies (using all protocols). Ok, sorry for the noise then. -- ___ Python tracker rep...@bugs.python.org

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2012-07-27 Thread Brett Cannon
Brett Cannon br...@python.org added the comment: Temporarily making this a blocker to see if Georg considers this a bugfix or feature. -- nosy: +benjamin.peterson priority: critical - release blocker ___ Python tracker rep...@bugs.python.org

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2012-07-27 Thread Richard Oudkerk
Richard Oudkerk shibt...@gmail.com added the comment: BTW, BaseException_init() has the code Py_XDECREF(self-args); self-args = args; Py_INCREF(self-args); Presumably the Py_XDECREF(self-args) would be better replaced by Py_CLEAR(self-args)? --

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2012-07-27 Thread Antoine Pitrou
Antoine Pitrou pit...@free.fr added the comment: Presumably the Py_XDECREF(self-args) would be better replaced by Py_CLEAR(self-args)? Ah, yes, definitely. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue1692335

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2012-07-27 Thread Antoine Pitrou
Antoine Pitrou pit...@free.fr added the comment: Or you could simply Py_INCREF(args) before the Py_XDECREF... -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue1692335 ___

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2012-07-27 Thread Richard Oudkerk
Richard Oudkerk shibt...@gmail.com added the comment: Or you could simply Py_INCREF(args) before the Py_XDECREF... But won't self-args point to a broken object while any callbacks triggered by Py_XDECREF() are run? An alternative would be tmp = self-args; self-args = args;

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2012-07-27 Thread Antoine Pitrou
Antoine Pitrou pit...@free.fr added the comment: But won't self-args point to a broken object while any callbacks triggered by Py_XDECREF() are run? An alternative would be tmp = self-args; self-args = args; Py_INCREF(self-args); Py_XDECREF(tmp); You are right,

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2012-07-27 Thread Richard Oudkerk
Richard Oudkerk shibt...@gmail.com added the comment: Patch which adds fix for BaseException_init(). Actually this class of problem seem to be quite common. BaseException_set_tb() appears to be affected too, as is the code in the tutorial which introduces setters. -- Added file:

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2012-07-26 Thread Richard Oudkerk
Richard Oudkerk shibt...@gmail.com added the comment: I see that the originally proposed patch is more or less what I suggested above. Since this has been a critical issue for 5 years, I think such a minimal patch should be committed even though it is not a complete solution. It seems to me

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2012-07-26 Thread Brett Cannon
Brett Cannon br...@python.org added the comment: While I would be happy to see this issue finally closed, but it's up to Georg if this goes into 3.3 or not as one could argue it's a feature or a bugfix/oversight. As for the actual fix, classic classes shouldn't hold back a good solution

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2012-07-26 Thread Richard Oudkerk
Richard Oudkerk shibt...@gmail.com added the comment: I realize now that the idea of using object.__reduce__(..., 2) would not really work since many exception classes use non-slot descriptors (unless '__slots__' attributes were also added as hints of what to serialize). I think there are two

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2012-07-26 Thread Antoine Pitrou
Antoine Pitrou pit...@free.fr added the comment: I think there are two options simple enough to sneak in to 3.3: (1) The trivial patch of initially setting self-args in __new__(). (2) Georg's idea of additionally setting a __newargs__ attribute in __new__() and using it in __reduce__().

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2012-07-24 Thread Richard Oudkerk
Richard Oudkerk shibt...@gmail.com added the comment: ISTM the simplest approach would be to just set self-args in BaseException.__new__() (like in Georg's patch) but to ignore the possibility that the user might later set self.args to something stupid wrong: diff -r 51ac5f06dd04

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2012-03-11 Thread Éric Araujo
Changes by Éric Araujo mer...@netwok.org: -- nosy: +pitrou ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue1692335 ___ ___ Python-bugs-list mailing

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2012-03-08 Thread Łukasz Langa
Changes by Łukasz Langa luk...@langa.pl: -- assignee: - lukasz.langa nosy: +lukasz.langa ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue1692335 ___

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2012-01-16 Thread Zbyszek Szmek
Changes by Zbyszek Szmek zbys...@in.waw.pl: -- nosy: +zbysz ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue1692335 ___ ___ Python-bugs-list mailing

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2012-01-13 Thread Georg Brandl
Changes by Georg Brandl ge...@python.org: -- assignee: georg.brandl - ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue1692335 ___ ___

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2012-01-11 Thread Faheem Mitha
Faheem Mitha fah...@faheem.info added the comment: What is the status on this? It contains to be an issue. See http://bugs.python.org/issue13751 and http://bugs.python.org/issue13760 -- nosy: +fmitha ___ Python tracker rep...@bugs.python.org

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2012-01-11 Thread Tal Einat
Tal Einat talei...@gmail.com added the comment: I'd just like to weigh in and say that this is a major issue for me at the moment. Not being able to indiscriminately pickle/unpickle exceptions is making my parallel-processing work very painful, because of problematic stdlib exceptions. I'm

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2011-06-12 Thread Terry J. Reedy
Changes by Terry J. Reedy tjre...@udel.edu: -- versions: +Python 3.3 -Python 3.1 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue1692335 ___ ___

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2011-04-12 Thread Ben Bass
Ben Bass benpaulb...@googlemail.com added the comment: Perhaps this should be addressed separately, but subprocess.CalledProcessError is subject to this problem (can't be unpickled) (it has separate returncode and cmd attributes, but no args). It's straightforward to conform user-defined

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2011-04-05 Thread STINNER Victor
Changes by STINNER Victor victor.stin...@haypocalc.com: -- nosy: +haypo ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue1692335 ___ ___

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2010-09-22 Thread Jason R. Coombs
Jason R. Coombs jar...@jaraco.com added the comment: In msg108954, I believe belopolsky is mistaken in stating that it would be easy to simply provide custom __getinitargs__ or __reduce__ to support it. It appears __getinitargs__ does not work on Python 2.5 or Python 2.7. Exceptions of the

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2010-09-22 Thread Jason R. Coombs
Jason R. Coombs jar...@jaraco.com added the comment: After some further reading, I found that PEP-352 (http://www.python.org/dev/peps/pep-0352/) explicitly states that Including programmatic information (e.g., an error code number) should be stored as a separate attribute in a subclass [and

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2010-09-22 Thread Alexander Belopolsky
Alexander Belopolsky belopol...@users.sourceforge.net added the comment: On Wed, Sep 22, 2010 at 9:39 AM, Jason R. Coombs rep...@bugs.python.org wrote: .. It appears __getinitargs__ does not work on Python 2.5 or Python 2.7. Yes, __getinitargs__ is only used for old style classes. I was

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2010-09-17 Thread Mark Lawrence
Changes by Mark Lawrence breamore...@yahoo.co.uk: -- versions: +Python 2.7, Python 3.2 -Python 2.6 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue1692335 ___

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2010-06-29 Thread Alexander Belopolsky
Alexander Belopolsky belopol...@users.sourceforge.net added the comment: The case in msg76028 are probably not pointing to a bug. If subclass' __init__ passes its args to the base class __init__ (as it probably should), pickling works: class E(Exception): Extension with values, init

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2010-06-29 Thread Eric Huss
Eric Huss e...@huss.org added the comment: Alexander, the use case I was involved with was an RPC system which allowed exceptions to propagate over the connection. In this case, you do not have absolute control over which exceptions may be raised, or who wrote the code that is raising the

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2010-05-31 Thread Tres Seaver
Tres Seaver tsea...@agendaless.com added the comment: The attached patch adds Mark's examples to test_pickle as a failing test. -- nosy: +tseaver Added file: http://bugs.python.org/file17509/issue1692335-tests.patch ___ Python tracker

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2010-04-12 Thread Kyle VanderBeek
Kyle VanderBeek ky...@kylev.com added the comment: Ping? Is anyone working on this? Have Eric's concerns been addressed and can we pickle/unpickle all exceptions yet? -- nosy: +kylev ___ Python tracker rep...@bugs.python.org

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2009-05-14 Thread Daniel Diniz
Changes by Daniel Diniz aja...@gmail.com: -- stage: - patch review type: - behavior versions: +Python 3.1 -Python 2.5 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue1692335 ___

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2008-11-18 Thread Eric Huss
Eric Huss [EMAIL PROTECTED] added the comment: I'm disappointed to see this closed. Exception pickling is still broken in some cases in 2.6. ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue1692335 ___

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2008-11-18 Thread Eric Huss
Eric Huss [EMAIL PROTECTED] added the comment: In the attached test_exception_pickle.py file, class C and D cannot be unpickled (raises TypeError). class C(Exception): Extension with values, args not set. def __init__(self, foo): self.foo = foo class D(Exception): Extension

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2008-11-18 Thread Benjamin Peterson
Changes by Benjamin Peterson [EMAIL PROTECTED]: -- nosy: -benjamin.peterson ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue1692335 ___ ___

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2008-11-18 Thread Guido van Rossum
Guido van Rossum [EMAIL PROTECTED] added the comment: OK, reopening. Can you post an example that fails today? -- resolution: out of date - status: closed - open ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue1692335

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2008-11-17 Thread Ziga Seilnacht
Ziga Seilnacht [EMAIL PROTECTED] added the comment: Sorry for the long silence. I think that this patch is not relevant anymore. The code that uses exception pickling already had to be adapted to changes in Python 2.5, so there is no need to change the pickling again and risk breaking user code.

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2008-11-17 Thread Guido van Rossum
Changes by Guido van Rossum [EMAIL PROTECTED]: -- resolution: - out of date status: open - closed ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue1692335 ___

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2008-07-30 Thread Benjamin Peterson
Benjamin Peterson [EMAIL PROTECTED] added the comment: How is this coming? Can we apply this to 2.6? -- nosy: +benjamin.peterson ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue1692335 ___

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2008-02-04 Thread Alexandre Vassalotti
Changes by Alexandre Vassalotti: -- nosy: +alexandre.vassalotti _ Tracker [EMAIL PROTECTED] http://bugs.python.org/issue1692335 _ ___ Python-bugs-list mailing list

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2008-02-03 Thread Martin v. Löwis
Martin v. Löwis added the comment: I tested exception_pickling_25.diff, and it may break existing code. In 2.5.1, Exception(Hello,4).__reduce__() gives (type 'exceptions.Exception', ('Hello', 4)) With the patch, it gives TypeError: can't pickle Exception objects IMO, that is an unacceptable

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2008-02-02 Thread Jaroslav Pachola
Jaroslav Pachola added the comment: To me it seems more like a bug fix - in Python 2.4 and older the pickling works well and the current 2.5 behavior really breaks existing code. That's why I plead for inclusion in 2.5.2; because this issue prevents our company to move to 2.5.

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2008-02-02 Thread Guido van Rossum
Guido van Rossum added the comment: Understood. Can you get other developers on python-dev to weigh in? Maybe I am over-estimating the danger. _ Tracker [EMAIL PROTECTED] http://bugs.python.org/issue1692335 _

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2008-02-01 Thread Guido van Rossum
Guido van Rossum added the comment: I'm against including this in 2.5.2. It reeks of a new feature, and the code looks like it would risk breaking other apps. (I'm fine with adding this to 2.6 of course.) -- nosy: +gvanrossum _ Tracker [EMAIL

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2008-01-19 Thread Facundo Batista
Facundo Batista added the comment: The last patch (exception_pickling_26.diff) applies cleanly, and all the tests run ok. System: Python 2.6a0 (trunk:60073M, Jan 19 2008, 11:41:33) [GCC 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)] on linux2 -- nosy: +facundobatista

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2008-01-17 Thread Jaroslav Pachola
Jaroslav Pachola added the comment: While zseil's patch for Python 2.5 works for me (on the current 2.5.1 download), svn version of Python 2.6 rejects the 2.6 patch. Attaching fixed 2.6 patch (2 rejects, 1 fuzz fixed, patch works without complains for me). I would be very glad if someone could

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2007-11-19 Thread Brett Cannon
Changes by Brett Cannon: -- nosy: +brett.cannon _ Tracker [EMAIL PROTECTED] http://bugs.python.org/issue1692335 _ ___ Python-bugs-list mailing list Unsubscribe:

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2007-09-17 Thread Sean Reifschneider
Sean Reifschneider added the comment: It's not clear to me what the next step is here, does one or more of the other folks need to provide some input? Georg: If you are looking for something from someone, can you assign the ticket to them? -- assignee: - georg.brandl nosy: +jafo

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2007-08-28 Thread Sean Reifschneider
Changes by Sean Reifschneider: _ Tracker [EMAIL PROTECTED] http://bugs.python.org/issue1692335 _ ___ Python-bugs-list mailing list Unsubscribe:

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2007-08-28 Thread Sean Reifschneider
Changes by Sean Reifschneider: _ Tracker [EMAIL PROTECTED] http://bugs.python.org/issue1692335 _ ___ Python-bugs-list mailing list Unsubscribe:

[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2007-08-23 Thread Georg Brandl
Georg Brandl added the comment: Raising priority. -- priority: normal - urgent severity: normal - major title: Move initial args assignment to BaseException.__new__ - Fix exception pickling: Move initial args assignment to BaseException.__new__ versions: +Python 2.6