MT-Blacklist 1.65, Movable Type 2.65 and Perl 5.8.8

My hosting provider recently updated the server this site is on, and in that process Perl was upgraded to version 5.8.8. Everything seemed to work fine until I started getting hit by comment spam. A quick investigation revealed that MT-Blacklist had stopped working. Not good.

MT-Blacklist kept causing this error:

Long integer size is not compatible at ../../lib/ (autosplit into ../../lib/auto/Storable/ line 366, at [path to MT directory]/lib/MT/ line 28

This is slightly different from the problem I got in May last year (described in Server maintenance), and googling for it returned only one hit: Problemas con blacklist. I don’t speak Spanish, but I could make out enough of the post to realise that MT-Blacklist 1.65 is somehow not compatible with Perl 5.8.8. Sigh.

Yes, I am a dinosaur for still using Movable Type, and even more so for being stuck at version 2.65. But I’ve hacked and tweaked this installation so much I am terrified of attempting to upgrade. I just don’t have the time to deal with all the problems I would run into.

So, I really needed to get MT-Blacklist up and running again. If I couldn’t, I would have to either spend days on upgrading Movable Type, migrating to another CMS, or spend hours every week to manually remove spam. I considered building a spam filter from scratch, and even started doing so. Despite my primitive Perl skills I managed to come up with something that worked. But it wasn’t as good or elegant as MT-Blacklist.

Eventually I did find a solution, so in case someone else is having the same problem, here is how to fix it:

  1. Make a backup of your blacklist.txt file.
  2. Delete all records in the mt_plugindata table, as suggested in MT-Blacklist Error : Byte order is not compatible.
  3. Go to the MT-Blacklist Configure tab and reactivate MT-Blacklist.
  4. Go to the MT-Blacklist Add tab and import the contents of blacklist.txt.
  5. Sit back and relax. View your activity log every now and then and smile when you see all those “MT-Blacklist comment denial” entries.

Posted on June 7, 2006 in Movable Type


  1. Have you thought to check and see what a new MT upgrade would offer, maybe your hacks have been integrated into a newer version.

    Or better yet, what a new upgrade to a different CMS would offer?

    I think its inevitable that one day you’ll need to upgrade.

    Also, I’m not sure if its compatible with your version of MT, but maybe you should give akismet a try. It was built for Wordpress but there is a MT version.

    Since I’ve installed it on my blog I haven’t received any spam.

  2. June 7, 2006 by Roger Johansson (Author comment)

    Oh, of course I’ll need to upgrade or switch platforms eventually. Like when I have more time ;-). I have looked at upgrading MT, but I want to make sure I have at least a few days to spend on sorting any problems out. (Yes, expecting the worst ;-p.)

    Akismet is not, as far as I’m aware, available for my ancient version of MT. What I have in place now does work well enough for the time being.

    The worst problem I’m having with MT is that no matter what I do I can’t sort out the problems with comment preview decoding any HTML entities entered in the comment. It’s a pain for people trying to post code snippets and examples.

  3. I can’t imagine what Roger Johansson could be capable of doing if he switchs to TxP

    Of course, I will be anxious at forums, waiting for a newbie registered as “456bereastreet”, anxious to help him, in return to all I have been helped and all the things I learned from :D

    Anyway, it seems there is no way to discourage spammers and his robots… ¡spam non-stop! ¡techno-bot!

  4. Ahh I’ll always have fond memories of MT-Blacklist. Despite a lot of bugs here and there, it caught spam really well.

    The spam catcher built into the latest version of MT 3.x doesn’t feel as good. I don’t know all the algorithms behind it but I had to go in and tweak how it rated comments before I could be confident there would be no false positives or false negatives.

    Anyway, I wouldn’t suggest upgrading to MT 3.1 if your MT is running perfectly fine. Too much effort for too little benefit.

  5. Roger, I’m just wondering whether or not you’ve tried Movable Type 3.2? Jack’s assertion that 3.1x doesn’t provide much benefit over 2.65 is pretty outstandingly inconsistent with what other have said, but the changes we made in 3.2, and now in 3.3 make Movable Type a whole new piece of software. One that you are doing a major disservice to yourself in not checking out.

    Honestly, it’s pretty simple. Copy your database (you’re using MySQL, right?) to another. Install MT 3.3 alongside your years-old version, pointing at the copy of your database and then run mt.cgi. BAM. You’re upgraded.

    After that, poke around and see how easy upgrade is. Believe me, you absolutely won’t be sorry…

  6. My first impression of MT 3.2 was that the bundled spam protection worked perfectly as a replacement for mt-blacklist, but lately more and more spam has been creeping through the gates.
    I understand your concern. It took me two full days to get everything running again after a major upgrade (would probably be smoother with a vanilla installation, but that’s not really an option).

  7. Not for Roger, but for 3.x users: MT-Keystrokes works like a charm for me.

    What it does is that it validates that the user has entered any keystrokes while entering the comment, to weed out bots.

    I think only one comment spam has been entered since I installed MT-Keystrokes and that was manually entered and on topic. So I didn’t even remove it manually. On topic is, after all, on topic … (and rel=nofollow is used).

  8. Drupal has some kickass spam deterrent modules, blacklisting, user agent heuristics and more. I really think you should look into what a switch to Drupal would offer. For those who are prepared to sacrifice some accessibility for the sake of less spam, there’s even captcha support, captchas that actually work that is.

  9. June 8, 2006 by Roger Johansson (Author comment)

    Jay: The latest version of MT I have tried (on another blog of mine) is 3.17. Before attempting an upgrade I’d like to try it locally to find out what breaks. However I have not been able to get MT 3 or later up and running on Mac OS X.

    I am using MySQL, so maybe I’ll give MT 3.3 a try if it’s that easy ;-). Would it help me with my comment preview problem with escaped entities though?

  10. If you are trying to get MT to run locally I suggest using SQLite as your database instead of MySQL. SQLite is so much easier to install and is better suited to be running on a local machine as a part time server.

    Also, to follow-up on a point Chris Griffin made, MT-Akismet won’t work for you. It requires MT 3.2 and its built in junk filter hooks.

  11. I knew there was one other thing.

    I don’t think its MT-Blacklist that is incompatable with 5.8.8 then it is the versions of Storable. MT 2.6 uses Storable for serializing data structure. MT-Blocklist uses that. Storable is part of the Perl distribution that when you ISP upgraded a new version of Storable and that version had some issues with the entries made by the older version. Did you follow that? ;)

  12. What Tim says is true. Most likely they forgot to recompile Storable and have left it in an incompatible state with the installed version of Perl.

    Also, Roger, what problems are you having with MT on a Mac? I’m running about 8 installations on mine. Brad Choate does all of his development on a Mac. Is it getting MySQL running? SQLite is a good alternative as Tim mentions, but I’ve beaten my head against the wall to get and keep MySQL running smoothly because I’m used to it and like it.

    I’m sure that I could help you through the comment preview HTML entities problem. I’d need to have a solid example and your comment preview template. Send that stuff to me on email and I’ll take a look.

  13. June 10, 2006 by Roger Johansson (Author comment)

    Tim, Jay: Thanks - I’ll let my provider know about Storable.

    Jay: Not sure exactly what went wrong last time I tried running MT on my Mac as it was 8 or 9 months ago. I just remember I couldn’t get it to work. When I have enough time to give another try I’ll look into SQLite. Thanks for the tip!

    An email with the comment preview details is on its way. Thanks for offering to take a look!

  14. Glad to read such a nice piece of information.

  15. What I have in place now does work well enough for the time being.

Comments are disabled for this post (read why), but if you have spotted an error or have additional info that you think should be in this post, feel free to contact me.