Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
strange error when trying to log something
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  4 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Ryszard Szopa  
View profile  
 More options Jul 23 2009, 5:08 am
Newsgroups: comp.lang.python
From: Ryszard Szopa <ryszard.sz...@gmail.com>
Date: Thu, 23 Jul 2009 02:08:39 -0700 (PDT)
Local: Thurs, Jul 23 2009 5:08 am
Subject: strange error when trying to log something
Hi,

I've recently reinstalled Python 2.6 (from DMG) on my Mac, and I am
running into very strage errors. Namely, logging seems to be badly
broken. When I open the interpreter through Django's manage.py shell
and try to use logging, I get the following error:

>>> logging.critical('ala')

------------------------------------------------------------
Traceback (most recent call last):
  File "<ipython console>", line 1, in <module>
  File "/Library/Frameworks/Python.framework/Versions/2.6/lib/
python2.6/logging/__init__.py", line 1416, in critical
    root.critical(*((msg,)+args), **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/2.6/lib/
python2.6/logging/__init__.py", line 1074, in critical
    self._log(CRITICAL, msg, args, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/2.6/lib/
python2.6/logging/__init__.py", line 1142, in _log
    record = self.makeRecord(self.name, level, fn, lno, msg, args,
exc_info, func, extra)
  File "/Library/Frameworks/Python.framework/Versions/2.6/lib/
python2.6/logging/__init__.py", line 1117, in makeRecord
    rv = LogRecord(name, level, fn, lno, msg, args, exc_info, func)
  File "/Library/Frameworks/Python.framework/Versions/2.6/lib/
python2.6/logging/__init__.py", line 272, in __init__
    from multiprocessing import current_process
  File "/Library/Frameworks/Python.framework/Versions/2.6/lib/
python2.6/multiprocessing/__init__.py", line 64, in <module>
    from multiprocessing.util import SUBDEBUG, SUBWARNING
  File "/Library/Frameworks/Python.framework/Versions/2.6/lib/
python2.6/multiprocessing/util.py", line 121, in <module>
    _afterfork_registry = weakref.WeakValueDictionary()
  File "/Library/Frameworks/Python.framework/Versions/2.6/lib/
python2.6/weakref.py", line 51, in __init__
    UserDict.UserDict.__init__(self, *args, **kw)
TypeError: unbound method __init__() must be called with UserDict
instance as first argument (got WeakValueDictionary instance instead)

I was able to silence the error (and be able to work normally) by
making UserDict.UserDict inherit from object.

Any ideas what is causing the error? Before I updated Python
everything was fine. Am I breaking a lot of things by making
UserDict.UserDict a new style class?

Thanks in advance for any insight.

  -- Ryszard Szopa


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Peter Otten  
View profile  
 More options Jul 23 2009, 5:29 am
Newsgroups: comp.lang.python
Followup-To: comp.lang.python
From: Peter Otten <__pete...@web.de>
Date: Thu, 23 Jul 2009 11:29:13 +0200
Local: Thurs, Jul 23 2009 5:29 am
Subject: Re: strange error when trying to log something

I have a hunch that you are triggering a reload() somewhere. Example:

Python 2.6.2 (release26-maint, Apr 19 2009, 01:58:18)
[GCC 4.3.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.

>>> import weakref
>>> weakref.WeakValueDictionary()

<WeakValueDictionary at 140598938447312>
>>> import UserDict
>>> reload(UserDict)

<module 'UserDict' from '/usr/lib/python2.6/UserDict.pyc'>
>>> weakref.WeakValueDictionary()

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.6/weakref.py", line 51, in __init__
    UserDict.UserDict.__init__(self, *args, **kw)
TypeError: unbound method __init__() must be called with UserDict instance
as first argument (got WeakValueDictionary instance instead)

Try restarting the interpreter after any change to source files.

Peter


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Aahz  
View profile  
 More options Jul 25 2009, 12:12 pm
Newsgroups: comp.lang.python
From: a...@pythoncraft.com (Aahz)
Date: 25 Jul 2009 09:12:49 -0700
Local: Sat, Jul 25 2009 12:12 pm
Subject: Re: strange error when trying to log something
In article <h49ah5$hv3$0...@news.t-online.com>,
Peter Otten  <__pete...@web.de> wrote:

Nice sleuthing!  How did you figure that out?
--
Aahz (a...@pythoncraft.com)           <*>         http://www.pythoncraft.com/

"At Resolver we've found it useful to short-circuit any doubt and just        
refer to comments in code as 'lies'. :-)"
--Michael Foord paraphrases Christian Muirhead on python-dev, 2009-03-22


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Peter Otten  
View profile  
 More options Jul 26 2009, 5:08 am
Newsgroups: comp.lang.python
Followup-To: comp.lang.python
From: Peter Otten <__pete...@web.de>
Date: Sun, 26 Jul 2009 11:08:10 +0200
Local: Sun, Jul 26 2009 5:08 am
Subject: Re: strange error when trying to log something

Roughly:

- The poster's description/remedy makes no sense (to me); have a look at the
traceback.
- Nothing suspicious except the actual error message. Isn't
WeakValueDictionary a UserDict? Verify.
- There must be two different UserDict classes. This can happen to an
unsuspecting user by importing the main script or by doing a reload().
UserDict is unlikely to be the main script, and web frameworks (django was
mentioned) often use a reload mechanism to avoid frequent server restarts.
- Reproduce the error.

Peter


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »