everything I have at it and am completely stumped. I apologize for the
length, I have tried to be as succint as possible.
I have a pythoncard/wxPython application. The application works well
except that users were reporting occasional crashes. The application
would simply stop and just hang. I was able to reproduce the bug
faithfully and ran the application in the python debugger pdb.py.
The trace is below and I simply cannot understand why it is hanging
where it is. The application gets stuck executing
return len(self.data[0])
This works many many times during the applications execution, indeed
several successful runs of this line are visible immediatley above the
hang. I have also printed out the value of self.data. This is a list
containing 12 inner lists each of length 3 at the point of the hang and
is never larger than that.
What on earth could cause this to stop the interpreter cold in its
tracks without an exception being thrown? CPU usage on the machine is
high throughout the application's execution and stays as such after the
"hang" begins. I eventually kill the app although I have let it run for
a long time and it never leaves this line.
For what its worth, I am using python 2.3 on windows2k.
Anyone have idea what could be happening?
c:\python23\lib \site-packages\wxpyth on\grid.py(664) _setOORInfo()->None
-> return val
(Pdb) s
--Return--
c:\python23\lib \site-packages\wxpyth on\grid.py(850) __init__()->None
-> self._setOORInf o(self)
(Pdb) s
c:\cygwin\home\ ar881\developme nt\bt_analysis\ console\ndbbtab le.py(17)__init
__()
-> self.data = data
(Pdb) s
c:\cygwin\home\ ar881\developme nt\bt_analysis\ console\ndbbtab le.py(18)__init
__()
-> self.colLabels = headings
(Pdb) s
--Return--
c:\cygwin\home\ ar881\developme nt\bt_analysis\ console\ndbbtab le.py(18)__init
__()->None
-> self.colLabels = headings
(Pdb) s
c:\cygwin\home\ ar881\developme nt\bt_analysis\ console\ndbbtab legrid.py(15)__
init__()
-> self.colsizes = colsizes
(Pdb) s
c:\cygwin\home\ ar881\developme nt\bt_analysis\ console\ndbbtab legrid.py(16)__
init__()
-> self.SetTable(t able, True)
(Pdb) s
--Call--
c:\python23\lib \site-packages\wxpyth on\grid.py(993) SetTable()
-> def SetTable(self, *_args, **_kwargs):
(Pdb) s
c:\python23\lib \site-packages\wxpyth on\grid.py(994) SetTable()
-> val = gridc.wxGrid_Se tTable(self, *_args, **_kwargs)
(Pdb) s
--Call--
c:\cygwin\home\ ar881\developme nt\bt_analysis\ console\ndbbtab le.py(27)GetNum berRows()
-> def GetNumberRows(s elf):
(Pdb) s
c:\cygwin\home\ ar881\developme nt\bt_analysis\ console\ndbbtab le.py(28)GetNum berRows()
-> return len(self.data)
(Pdb) s
--Return--
c:\cygwin\home\ ar881\developme nt\bt_analysis\ console\ndbbtab le.py(28)GetNum berRows()->12
-> return len(self.data)
(Pdb) s
--Call--
c:\cygwin\home\ ar881\developme nt\bt_analysis\ console\ndbbtab le.py(30)GetNum berCols()
-> def GetNumberCols(s elf):
(Pdb) s
c:\cygwin\home\ ar881\developme nt\bt_analysis\ console\ndbbtab le.py(31)GetNum berCols()
-> if len(self.data) <= 0:
(Pdb) s
c:\cygwin\home\ ar881\developme nt\bt_analysis\ console\ndbbtab le.py(34)GetNum berCols()
-> return len(self.data[0])
(Pdb) s
--Return--
c:\cygwin\home\ ar881\developme nt\bt_analysis\ console\ndbbtab le.py(34)GetNum berCols()->3
-> return len(self.data[0])
(Pdb) s