[Mailman-Users] Broken pickle

Grigory Batalov bga at altlinux.org
Tue Dec 4 06:26:41 CET 2007


On Tue, 4 Dec 2007 07:01:05 +0300, Grigory Batalov wrote:

> USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
...
> mailman  30584  0.0  0.7  82252 15640 ?        S    02:20   0:01 /usr/bin/python /usr/share/mailman/bin/qrunner --runner=IncomingRunner:5:6
> mailman  30616  0.0  0.7  81940 15524 ?        S    02:20   0:01 /usr/bin/python /usr/share/mailman/bin/qrunner --runner=IncomingRunner:4:6
> mailman  30646  0.0  0.8  84020 17548 ?        S    02:20   0:01 /usr/bin/python /usr/share/mailman/bin/qrunner --runner=IncomingRunner:3:6
> mailman  30672  0.0  0.7  82192 15704 ?        S    02:20   0:01 /usr/bin/python /usr/share/mailman/bin/qrunner --runner=IncomingRunner:2:6
> mailman   5779  0.0  0.6  80296 13740 ?        S    02:57   0:00 /usr/bin/python /usr/share/mailman/bin/qrunner --runner=IncomingRunner:0:6

  Also, as you can see, I have no IncomingRunner:1:6 and it fails to start
  every time I try to:

$ sudo -u mailman /usr/bin/python /usr/share/mailman/bin/qrunner --runner=IncomingRunner:1:6

Traceback (most recent call last):
  File "/usr/share/mailman/bin/qrunner", line 278, in ?
    main()
  File "/usr/share/mailman/bin/qrunner", line 238, in main
    qrunner.run()
  File "/usr/share/mailman/Mailman/Queue/Runner.py", line 71, in run
    filecnt = self._oneloop()
  File "/usr/share/mailman/Mailman/Queue/Runner.py", line 100, in _oneloop
    msg, msgdata = self._switchboard.dequeue(filebase)
  File "/usr/share/mailman/Mailman/Queue/Switchboard.py", line 159, in dequeue
    msg = cPickle.load(fp)
ValueError: insecure string pickle

  Using "strace" I have found which file it tries to load:

$ python
>>> file=open("/var/spool/mailman/in/1196682806.813381+4ffeef3dcbdc578279784fb47aa271ad8f6462f7.bak", "r")
>>> import cPickle
>>> msg=cPickle.load(file)
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
ValueError: insecure string pickle

  This file in spool looks regular except "^@" symbol at the end of first
  (long) line:

...bYQlIS1Mprnphtkfp4Urlx28fbCEAVsvLFc9KCkIQgH//2Q==\n\n------=_NextPart_000_0003_01C8359F.078C8BD9--\n\n\n^@
p1
.(dp1
S'listname'
...

  After I changed ^@ to quote (') I could load this file and print msg.

  How could it happen that pickle in queue became broken?

P.S. this is mailman-2.1.9

-- 
 Grigory Batalov,
 ALT Linux Team
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://mail.python.org/pipermail/mailman-users/attachments/20071204/fe9d8ddc/attachment.pgp 


More information about the Mailman-Users mailing list