Patches item #1484758, was opened at 2006-05-09 15:14 Message generated for change (Comment added) made by gbrandl You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=305470&aid=1484758&group_id=5470
Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Library (Lib) Group: Python 2.4 >Status: Closed >Resolution: Fixed Priority: 5 Submitted By: kxroberto (kxroberto) Assigned to: Nobody/Anonymous (nobody) Summary: cookielib: reduce (fatal) dependency on "beta" logging? Initial Comment: The logging package is tagged "beta". Yet cookielib (as the ONLY module in the std. lib !?) uses Logger.debug() very excessively. I got occasional nasty crash traces (from users) when using cookielib Processors through urllib2 (multi-threaded usage) - see below. The causes are not errors in cookielib, but upon simple calls to Logger.debug() : varying AttributeError's in logging, which on the first glance seem to be impossible, as those attributes are set in the related __init__()'s but there are strange complex things going on with roots/hierarchies/copy etc. so.... thread/lock problems I'd guess. the patch uncomments several debug() calls in cookielib in import. only one's in important high-frequency execution flow path (not ones upon errors and exceptional states). And 2 minor fixes on pychecker warnings. After applying that, the nasty crash reports disappeared. I do not understand completely why the cookielib production code has to use the logging package (expensive) at all. At least for the high-frq used add_cookie_header its unnecessary. There could be some simpler (detached) test code for testing purposes. Importing the logging and setup is time consuming etc. (see other patch for urllib2 import optimization. ) I'd recommend: At least as far as logging is "beta" and cookielib NOT, all these debug()'s should be uncommented, or at least called ONLY upon a dispatching global 'use_logging' variable in cookielib, in case the test code cannot be externalized nicely. 2 example error traces: ...File "cookielib.pyo", line 1303, in add_cookie_header\\n\', \' File "logging\\\\__init__.pyo", line 878, in debug\\n\', \' File "logging\\\\__init__.pyo", line 1056, in getEffectiveLevel\\n\', "AttributeError: Logger instance has no attribute \'level\'\\n ...in http_request\\n\', \' File "cookielib.pyo", line 1303, in add_cookie_header\\n\', \' File "logging\\\\__init__.pyo", line 876, in debug\\n\', "AttributeError: Manager instance has no attribute \'disable\'\\n -robert ---------------------------------------------------------------------- >Comment By: Georg Brandl (gbrandl) Date: 2006-05-17 14:46 Message: Logged In: YES user_id=849994 Resolved with rev. 46027 by introducing a global "debug" flag, like other libraries do. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=305470&aid=1484758&group_id=5470 _______________________________________________ Patches mailing list [email protected] http://mail.python.org/mailman/listinfo/patches
