----- Original Message ----
> From: Elizabeth Dodd <[email protected]>
> To: [email protected]
> Sent: Fri, September 24, 2010 2:04:52 AM
> Subject: Re: [Freevo-users] Insecure String Pickle when starting Recordserver
>
> could you summarise this gem for the wiki?
Sure. I'm suspecting that when I did a hard reset not too long after starting
the Freevo, it may have caused an incomplete write to the
previouslyRecorded.pickle file. Either way, the recordserver would not start,
throwing an exception: Insecure String Pickle.
(By the way, that's got to be the most awesome exception message I've run into.
I've been amusing my friends with it all day long.)
It appears in an attempt to keep harmful tampering to a minimum, (c)Pickle does
basic checks before loading a pickle file. Judging from the posts on the web,
things like Windows-style EOL characters (\n\r) instead of Linux (\n) will
cause
problems. In this case, the last line of the file was truncated mid-line and I
think that was setting off alarm bells. I neatened up the end of the
previouslyRecorded.pickle file, trying to end it at a proper boundry, but I
think I didn't hit it exactly. It doesn't seem to cause too much trouble, but
that last object is probably missing bits. Hopefully nothing important.
Trying to start recordserver now yeilded an EOFerror exception when trying to
load the pickle file. I did way too much searching and trying small Python
scripts to read in the file and write it back out and properly close it and
doing tests in the freevo prompt shell... all no good. My research turned up
that pickle files end with a '.', and that gave me a clue. It wasn't until I
started up recordserver and let it create a new pickle file I found that the
file ends with 's.' on the final line. I added that (taking steps to eliminate
the final EOL character that vim adds by default) and the
previouslyRecorded.pickle would then load properly into the recordserver.
I haven't had a chance to see if it's really working, or if nothing that I've
already recorded is in the schedule right now. But that's just laziness on my
part. Suffice to say, recordserver is reading the file without throwing an
exception, so I'm happy again.
If you let me know where you think this should be put in the Wiki, I can give
it
a go myself...
James
------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
Freevo-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-users