Python crashed on me

Oleg Broytmann phd at phd.pp.ru
Fri Jun 28 04:52:51 EDT 2002


Hi!

On Thu, Jun 27, 2002 at 08:45:16PM +0000, Bengt Richter wrote:
> >   Recently Python (one program that I am dbugging) started to crash.
> >FreeBSD kills it with "Bus error", Linux with "Segmentation fault".
> >
> >   I think the program crashed in the cPickle.dump(file, 1)

   I replaced cPikle.dump with pikle.dump and got infinite rcursion. The
traceback is below.

   What's that? Are there any limits that an object to be pikled must
follow? Could it be a tree with loops? (I am pretty sure it could - I used
the program for years, and data structures was not changed much). Could it
be "new" Python class? (Recently I changed one of my classes to be derived
from builtin list instead of UserList).

   Well (or not so well), the traceback:

Traceback (most recent call last):
  File "/home/phd/lib/bookmarks_db/check_urls.py", line 158, in ?
    run()
  File "/home/phd/lib/bookmarks_db/check_urls.py", line 145, in run
    storage.store(root_folder)
  File "bkmk_stpickle.py", line 23, in store
  File "/usr/local/lib/python2.2/pickle.py", line 973, in dump
    Pickler(file, bin).dump(object)
  File "/usr/local/lib/python2.2/pickle.py", line 115, in dump
    self.save(object)
  File "/usr/local/lib/python2.2/pickle.py", line 219, in save
    self.save_reduce(callable, arg_tup, state)
  File "/usr/local/lib/python2.2/pickle.py", line 245, in save_reduce
    save(arg_tup)
  File "/usr/local/lib/python2.2/pickle.py", line 225, in save
    f(self, object)
  File "/usr/local/lib/python2.2/pickle.py", line 374, in save_tuple
    save(element)
  File "/usr/local/lib/python2.2/pickle.py", line 225, in save
    f(self, object)

[about 1000 lines skipped - they are all the same]

  File "/usr/local/lib/python2.2/pickle.py", line 498, in save_inst
    save(stuff)
  File "/usr/local/lib/python2.2/pickle.py", line 225, in save
    f(self, object)
  File "/usr/local/lib/python2.2/pickle.py", line 447, in save_dict
    save(value)
  File "/usr/local/lib/python2.2/pickle.py", line 219, in save
    self.save_reduce(callable, arg_tup, state)
  File "/usr/local/lib/python2.2/pickle.py", line 245, in save_reduce
    save(arg_tup)
  File "/usr/local/lib/python2.2/pickle.py", line 225, in save
    f(self, object)
  File "/usr/local/lib/python2.2/pickle.py", line 374, in save_tuple
    save(element)
  File "/usr/local/lib/python2.2/pickle.py", line 225, in save
    f(self, object)
  File "/usr/local/lib/python2.2/pickle.py", line 414, in save_list
    save(element)
  File "/usr/local/lib/python2.2/pickle.py", line 143, in save
    pid = self.persistent_id(object)
RuntimeError: maximum recursion depth exceeded

Oleg.
-- 
     Oleg Broytmann            http://phd.pp.ru/            phd at phd.pp.ru
           Programmers don't die, they just GOSUB without RETURN.





More information about the Python-list mailing list