John Nagle added the comment:

> Or just use pickle._Pickler instead of pickle.Pickler and like 
> (implementation detail!).

Tried that.  Changed my own code as follows:

25a26
> 
71,72c72,73
<         self.reader = pickle.Unpickler(self.proc.stdout)    # set up reader
<         self.writer = pickle.Pickler(self.proc.stdin,kpickleprotocolversion)
---
>         self.reader = pickle._Unpickler(self.proc.stdout)    # set up reader
>         self.writer = pickle._Pickler(self.proc.stdin,kpickleprotocolversion
125,126c126,127
<         self.reader = pickle.Unpickler(self.datain)     # set up reader
<         self.writer = pickle.Pickler(self.dataout,kpickleprotocolversion)   
---
>         self.reader = pickle._Unpickler(self.datain)     # set up reader
>         self.writer = pickle._Pickler(self.dataout,kpickleprotocolversion)  

Program runs after those changes.

So it looks like CPickle has a serious memory corruption problem.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue23655>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to