default userpic

Issues with upgrade to MTOS 4.2.1

Vote 0 Votes

I just upgraded to 4.2.1 and am having a few odd errors. To upgrade, I unpacked 4.21 into a clean directory, installed my plugins and then switched my live symlink from my old install to the new one. The upgrade seemed to go fine, and mt-check claims everything's great. Here's what I'm seeing:

  • A constant stream of errors from TypePad antispam. Every new comment results in the following:

Junk Filter TypePad AntiSpam died with: Undefined subroutine &URI::Escape::escapechar called at /path/to/install/MTOS-4.21 -en/extlib/URI/query.pm line 50.

  • Frequent 500 errors during normal processing. The intended action (say, marking comments as spam) typically gets completed successfully, but not always.

There's nothing interesting in my Apache error logs - an occasional 'premature end of script headers' in mt.cgi with no further info. I've double checked all of my filesystem permissions (I'm on Linux at Dreamhost if is matters). Help!

Reported on Movable Type 4.2

7 Replies

| Add a Reply
  • I don't want to come off as passing the buck here, but I used to use Dreamhost and found them to be a pretty unreliable host; I had a lot of database and general performance problems when I hosted my blog there, and those issues can cause 500 errors. If you are seeing 500 errors on operations that take longer than a few dozen seconds, chances are it is Apache losing patience with your script and killing it via a CGI timeout.

    What happens when you install a fresh copy of Movable Type, don't use symlinks, etc.?

  • Hmm. It's possible, of course, especially the 500 errors (DreamHost can be quite aggressive about terminating processes that take up more that their fair share of CPU). That wouldn't explain the TypePad AntiSpam errors, however.

    My install was a clean one - I didn't create a fresh db, but I haven't modified my schema or done anything to my working db outside of Movable Type itself. I could live with the 500 errors and the rest if I was able to get rid of the hundreds of spam comments I'm getting a week.

  • I get the same thing (the _query.pm error not 500s)and my host is pretty decent, Livingdot.

  • After being moved to a new host @ Dreamhost, the 500 errors have gone away, suggesting the host I was on was overloaded. However, my _query.pm problems remain. Typepad Antispam errors out on every single spam message it processes, resulting in virtually every spam comment passing through undetected. In case it helps, my host is running 64-bit Linux kernel 2.6.24.6, perl v5.8.8 built for x86_64-linux-gnu-thread-multi and Apache 2.2.9 with PHP 4.4.7.

  • It seems I posted my last follow-up to this forum's doppelganger - why are there two forums, one with 'new-design' in the URL?

    At any rate, copied from the other forum:

    I've done some more research into this. Forgive me, but I'm not a Perl guru so I'm not sure if any of this is helpful or not.

    Looking in the extlib directory of my MT install, I see the URI module is version 1.36 (line 5 of extlib/URI.pm) and that the URI::Escape module is version 3.29 (extlib/URI/Escape.pm line 148).

    I inserted the following code into _query.pm just above the line that's failing:

    open(MYOUTFILE, ">/home/ggoodale/perl.out");
    print MYOUTFILE "$URI::VERSION\n";
    print MYOUTFILE "$URI::Escape::VERSION\n";
    close(MYOUTFILE);

    I then submitted a comment. The perl.out file now contains the following lines:

    1.36
    3.28

    I then ran the following on the command line:

    > perl -MURI -e 'print "$URI::VERSION\n"'
    1.35
    > perl -MURI -e 'print "$URI::Escape::VERSION\n"'
    3.28

    So it appears MT is picking up the URI module from extlib, but URI is using the URI::Escape module from my hosting provider's default perl install. How can I fix this?

  • Hi Mike,

    Thanks, but no luck. Changing

    use URI::Escape qw(uri_unescape);

    to

    use only URI::Escape qw(uri_unescape) => "3.29";

    produced the following error when I attempted to log in to create a new comment and test out the workaround:

    syntax error at /path/to/MTOS-4.21-en/extlib/URI/_query.pm line 5, near "URI::Escape qw(uri_unescape)" Compilation failed in require at /path/to/MTOS-4.21-en/extlib/URI/_generic.pm line 3. Compilation failed in require at /path/to/MTOS-4.21-en/extlib/URI/_server.pm line 2. Compilation failed in require at /path/to/MTOS-4.21-en/extlib/URI/http.pm line 3. Compilation failed in require at (eval 75) line 3.

    A bit of googling turned up this alternate syntax:

    use only URI::Escape => "3.29", qw(uri_unescape);

    which produced a different error:

    Can't locate object method "_init" via package "URI::_foreign" at /mnt/local/home/ggoodale/fibble.org/MTOS-4.21-en/extlib/URI.pm line 60.

    Any idea what's going on?

Add a Reply

If you need to share template code, replace all the "<" signs with "&lt;" or use this utility.

Forum Groups

1773 6162

Last Topic: Excluding categories from blog by kholechek on Feb 9, 2012

86 302

Last Topic: website entries by masoud on Oct 26, 2011

1429 5077

Last Topic: What apocalypse hit this community in the middle of 2011? by 75th on Feb 10, 2012

695 2910

Last Topic: Insert Image / File Fails by Russ Miller on Feb 10, 2012

84 291

Last Topic: How to have some other characters in entry basename automatically written by Afshin Haghighatnia on Dec 22, 2011

173 737

Last Topic: About the MT version stated in HTML source by Alex E. Schneider on Feb 7, 2012

190 567

Last Topic: Analytics Reporting by michael webster on Feb 5, 2012

48 210

Last Topic: An idea and also a request by Afshin Haghighatnia on Jun 29, 2011

64 246

Last Topic: jQuery in MT 5.1 still at 1.4 - why? by perlmonkey on May 25, 2011

code.sixapart.com

137 478

Last Topic: Getting a thumbnail with xpath by Peter on Mar 13, 2011

222 720

Last Topic: Custom Field for Asset Not Appearing by android on Feb 9, 2012