[issue15710] logging module crashes in Python 2.7.3 for handler.setLevel(long)
Roundup Robot added the comment: New changeset 8ba6d8fc9740 by Vinay Sajip in branch '2.7': Closes #15710: accept long in _checkLevel. http://hg.python.org/cpython/rev/8ba6d8fc9740 -- nosy: +python-dev resolution: invalid - fixed stage: - committed/rejected status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue15710 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15710] logging module crashes in Python 2.7.3 for handler.setLevel(long)
Vinay Sajip added the comment: I don't feel it would be correct to allow long for log levels, since a log level is not intended to have that range. It would be more sensible to get the ESAPI developers to use a more appropriate boundary value; in general, negative log values are not used (they are not necessary). -- resolution: - invalid status: open - pending type: crash - enhancement ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue15710 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15710] logging module crashes in Python 2.7.3 for handler.setLevel(long)
Antoine Pitrou added the comment: This seems to miss the point that it's a regression. int and long are supposed to be interchangeable for most purposes. -- nosy: +pitrou status: pending - open ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue15710 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15710] logging module crashes in Python 2.7.3 for handler.setLevel(long)
Vinay Sajip added the comment: type(-2**31) is long for 2.5 and 2.6 as well as 2.7. The check was added as a response to #6314, to catch incorrect values being passed as levels. It could be argued that -2**31 is not a sensible log level. While int and long are supposed to be interchangeable for most purposes, isn't this a reasonable case where you shouldn't need to support long? If you feel not, what scenarios do you believe lie outside the most purposes? -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue15710 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15710] logging module crashes in Python 2.7.3 for handler.setLevel(long)
Antoine Pitrou added the comment: type(-2**31) is long for 2.5 and 2.6 as well as 2.7. The check was added as a response to #6314, to catch incorrect values being passed as levels. Well, what is an incorrect value and why would you bother refusing long? And how about small long values (e.g. long(0))? -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue15710 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15710] logging module crashes in Python 2.7.3 for handler.setLevel(long)
Vinay Sajip added the comment: It's not that big a deal, and doesn't matter for 3.x anyway. It just doesn't seem quite right, so I'll make the change soon. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue15710 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15710] logging module crashes in Python 2.7.3 for handler.setLevel(long)
Changes by Éric Araujo mer...@netwok.org: -- nosy: +eric.araujo ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue15710 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15710] logging module crashes in Python 2.7.3 for handler.setLevel(long)
New submission from Tobin Baker: I'm using a 3rd-party library (ESAPI) which defines a log level as the literal -2**31. This worked fine until I upgraded to Python 2.7.3, which, unlike all previous versions of Python, coerces that literal to long rather than int. The following code in the logging module then throws a TypeError: def _checkLevel(level): if isinstance(level, int): rv = level elif str(level) == level: if level not in _levelNames: raise ValueError(Unknown level: %r % level) rv = _levelNames[level] else: raise TypeError(Level not an integer or a valid string: %r % level) return rv Although this is certainly an unusual use case, it seems that as just a matter of principle, the module should be using the check isinstance(level, (int, long)) rather than just isinstance(level, int). Here's the relevant part of the traceback: File /usr/lib/python2.7/logging/__init__.py, line 710, in setLevel self.level = _checkLevel(level) File /usr/lib/python2.7/logging/__init__.py, line 190, in _checkLevel raise TypeError(Level not an integer or a valid string: %r % level) TypeError: Level not an integer or a valid string: -2147483648L -- components: Library (Lib) messages: 168418 nosy: tobin.baker priority: normal severity: normal status: open title: logging module crashes in Python 2.7.3 for handler.setLevel(long) type: crash versions: Python 2.7 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue15710 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15710] logging module crashes in Python 2.7.3 for handler.setLevel(long)
Changes by Antoine Pitrou pit...@free.fr: -- nosy: +vinay.sajip ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue15710 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com