Issue654142
Created on 2002-12-15.17:33:03 by reinouts, last changed 2008-06-08.04:36:52 by pjenvey.
| Messages | |||
|---|---|---|---|
| msg801 (view) | Author: Reinout van Schouwen (reinouts) | Date: 2002-12-15.17:33:03 | |
In a project I am working on I want to get a list of
items that are in the __dict__ dictionary of an inner
class. This produces the NPE shown below. If needed I
can provide the code. This happens on both Solaris and
Linux JVMs.
Jython 2.1 on java1.4.1_01 (JIT: null)
Type "copyright", "credits" or "license" for more
information.
>>>
>>> mc = MessageCatalog()
>>> mc.ch.__dict__
{'Language-Team': 'Dutch <vertaling@nl.linux.org>',
'MIME-Version': '1.0', 'POT-Creation-Date':
('2002-12-15 17:27', 1), 'PO-Revision-Date':
('2002-12-15 17:27', 1), 'Content-Transfer-Encoding':
'8bit', 'Project-Id-Version': '', 'Content-Type':
'text/plain; charset=utf-8', '# ': '',
'Last-Translator': ''}
>>> list(mc.ch.__dict__)
Traceback (innermost last):
File "<console>", line 1, in ?
java.lang.NullPointerException
at org.python.core.PyList.toString(PyList.java)
at org.python.core.PyObject.__repr__(PyObject.java)
at
org.python.core.PySystemState.displayhook(PySystemState.java)
at
org.python.core.PySystemStateFunctions.__call__(PySystemState.java)
at org.python.core.PyObject.invoke(PyObject.java)
at org.python.core.Py.printResult(Py.java)
at org.python.pycode._pyx40.f$0(<console>:1)
at org.python.pycode._pyx40.call_function(<console>)
at org.python.core.PyTableCode.call(PyTableCode.java)
at org.python.core.PyCode.call(PyCode.java)
at org.python.core.Py.runCode(Py.java)
at org.python.core.Py.exec(Py.java)
at
org.python.util.PythonInterpreter.exec(PythonInterpreter.java)
at
org.python.util.InteractiveInterpreter.runcode(InteractiveInterpreter.java)
at
org.python.util.InteractiveInterpreter.runsource(InteractiveInterpreter.java)
at
org.python.util.InteractiveInterpreter.runsource(InteractiveInterpreter.java)
at jython.JeditConsole.pushLine(JeditConsole.java:58)
at jython.LineCommand.doExecute(JeditConsole.java:191)
at jython.AbstractCommand.execute(JeditConsole.java:141)
at jython.JythonExecutor.run(JythonExecutor.java:298)
at java.lang.Thread.run(Thread.java:536)
java.lang.NullPointerException:
java.lang.NullPointerException
|
|||
| msg802 (view) | Author: Deleted User leouserz (leouserz) | Date: 2006-12-21.15:11:42 | |
Running this source:
class z:
class t:
def moo(self): pass
print list(z.t.__dict__)
a = z()
print list(a.t.__dict__)
reproduces the stack in 2.1. Importing it with the prints removed and creating a z and accessing t.__dict__ via
a = z()
list(a.z.__dict__)
recreates the stack.
But, in Jython3005 this does not occur so it appears to not be reproducible.
leouser
|
|||
| msg803 (view) | Author: Khalid Zuberi (kzuberi) | Date: 2006-12-21.18:13:14 | |
Great, thanks for checking. Not knowing exactly when/how this was fixed, how about we just make a little bugtest out of your sample code (which should pass currently but would fail in 2.1), and then we can mark this closed. - kz |
|||
| msg3250 (view) | Author: Philip Jenvey (pjenvey) | Date: 2008-06-08.04:36:48 | |
I added a test for this in r4567, closing out |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2008-06-08 04:36:53 | pjenvey | set | status: open -> closed resolution: works for me -> fixed messages: + msg3250 nosy: + pjenvey |
| 2002-12-15 17:33:03 | reinouts | create | |
Supported by Python Software Foundation,
Powered by Roundup