Oh, and there's a different error message I'm seeing at the same place in
the code:

[ERROR] "Timezone 'America/Los_Angeles' is invalid for account 77368:
Attempt to reload DateTime/TimeZone/America/Los_Angeles.pm aborted.
Compilation failed in require at (eval 7258) line 3.





On Mon, Jan 6, 2014 at 9:03 PM, Bill Moseley <mose...@hank.org> wrote:

> This is a long-shot/stabbing-in-the-dark post -- and I'm guessing this
> might not have anything to do with DateTime.
>
> Anyone have any suggestions what might be happening here?
>
>
> I have this code running in a Catalyst app running under mod_perl:
>
> try {
>     $c->stash->{timezone} = DateTime::TimeZone->new( name => $time_zone );
> } catch {
>     $c->log->error( "Timezone '$time_zone' is invalid for account
> $account: $_" );
> };
>
>
> And I'm seeing this in the logs:
>
> [ERROR] "Timezone 'America/Los_Angeles' is invalid for account 77368: *Invalid
> version format (non-numeric data)* at
> /usr/share/perl5/vendor_perl/DateTime/TimeZone/America/Los_Angeles.pm line
> 17.
> BEGIN failed--compilation aborted at
> /usr/share/perl5/vendor_perl/DateTime/TimeZone/America/Los_Angeles.pm line
> 17.
> Compilation failed in require at (eval 7248) line 3.
>
>
> Compiles fine:
>
> $ perl -c
> /usr/share/perl5/vendor_perl/DateTime/TimeZone/America/Los_Angeles.pm
> /usr/share/perl5/vendor_perl/DateTime/TimeZone/America/Los_Angeles.pm
> syntax OK
>
>
>
> On the same machine with same Perl:
>
> $ perl -le 'use DateTime; my $tz = DateTime::TimeZone->new( name =>
> "America/Los_Angeles" ); print $tz->name'
> America/Los_Angeles
>
>
>
> The app seems to run fine for quite some time, then it starts logging the
> error above -- and oddly, it seems to be mostly the same process ID that
> generates the errors.   There's 30 Apache processes.
>
> That is, I include the PID in the logs so I can do this:
>
> $ fgrep -r Angeles error_log-20140106 | perl -nle 'print $1 if
> /pid:(\d+)/' | sort | uniq -c
>      21 31535
>       6 32763
>
>
> So, out of 30 Apache processes the errors are happing on only two PIDs and
> mostly on one.
>
> Here's line 17.
>
> $ sed -n 17p
> /usr/share/perl5/vendor_perl/DateTime/TimeZone/America/Los_Angeles.pm
> use Class::Singleton 1.03;
>
> $ perl -c /usr/share/perl5/Class/Singleton.pm
> /usr/share/perl5/Class/Singleton.pm syntax OK
>
>
>
>
> On an older CentOS machine:
>
> This is perl, v5.10.1 (*) built for x86_64-linux-thread-multi
>
> $ perl -MDateTime::TimeZone::America::Los_Angeles -le 'print
> DateTime::TimeZone::America::Los_Angeles->VERSION'
> 1.46
>
> $ perl -MClass::Singleton -le 'print Class::Singleton->VERSION'
> 1.4
>
> --
> Bill Moseley
> mose...@hank.org
>



-- 
Bill Moseley
mose...@hank.org

Reply via email to