Skip Menu |

Preferred bug tracker

Please visit the preferred bug tracker to report your issue.

This queue is for tickets about the DateTime-TimeZone CPAN distribution.

Report information
The Basics
Id: 98588
Status: resolved
Priority: 0/
Queue: DateTime-TimeZone

People
Owner: Nobody in particular
Requestors: gmarler [...] bloomberg.net
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: Misleading diagnostic during constructor eval
Date: Wed, 3 Sep 2014 15:02:06 -0000
To: bug-DateTime-TimeZone [...] rt.cpan.org
From: "Gordon Marler (BLOOMBERG/ 120 PARK)" <gmarler [...] bloomberg.net>
I noticed this when I missed one of the dependencies (List::AllUtils) that was added in v1.71, at which point all attempts to create a DateTime::TimeZone object failed with this message: 'Cannot determine local time zone' Turns out this message is seriously misleading. Tracing through the debugger, I came across this eval, which in v1.74 is located at line 74 of lib/DateTime/TimeZone.pm: my $e = do { local $@; local $SIG{__DIE__}; eval "require $real_class"; $@; }; If the class being require'ed isn't available, you should get the actual message returned, like so: Can't locate List::AllUtils in @INC ... But you don't. Fixing this would probably eliminate a lot of confusing bug reports against this module.
On Wed Sep 03 11:02:22 2014, gmarler@bloomberg.net wrote: Show quoted text
> I noticed this when I missed one of the dependencies (List::AllUtils) > that was added in v1.71, at which point all attempts to create a > DateTime::TimeZone object failed with this message: > > 'Cannot determine local time zone' > > Turns out this message is seriously misleading. > > Tracing through the debugger, I came across this eval, which in v1.74 > is located at line 74 of lib/DateTime/TimeZone.pm: > > my $e = do { > local $@; > local $SIG{__DIE__}; > eval "require $real_class"; > $@; > }; > > If the class being require'ed isn't available, you should get the > actual message returned, like so: > > Can't locate List::AllUtils in @INC ... > > But you don't. Fixing this would probably eliminate a lot of > confusing bug reports against this module.
That's the message I get. I'm using Perl 5.10.1 & 5.16.3, so either this is a problem with your version of Perl or something else is going on. Can you come up with a test to replicate this bug?
Subject: Re:[rt.cpan.org #98588] Misleading diagnostic during constru
Date: Sat, 13 Sep 2014 20:58:32 -0000
To: bug-DateTime-TimeZone [...] rt.cpan.org
From: "Gordon Marler (BLOOMBERG/ 120 PARK)" <gmarler [...] bloomberg.net>
I got it with 5.18.1. not quite sure how I would test for that, but I'll give it some thought. --- Sent from Bloomberg Professional for Android Show quoted text
----- Original Message ----- From: Dave Rolsky via RT <bug-DateTime-TimeZone@rt.cpan.org> At: Saturday, September 13, 2014 15:56 <URL: https://rt.cpan.org/Ticket/Display.html?id=98588 > On Wed Sep 03 11:02:22 2014, gmarler@bloomberg.net wrote:
> I noticed this when I missed one of the dependencies (List::AllUtils) > that was added in v1.71, at which point all attempts to create a > DateTime::TimeZone object failed with this message: > > 'Cannot determine local time zone' > > Turns out this message is seriously misleading. > > Tracing through the debugger, I came across this eval, which in v1.74 > is located at line 74 of lib/DateTime/TimeZone.pm: > > my $e = do { > local $@; > local $SIG{__DIE__}; > eval "require $real_class"; > $@; > }; > > If the class being require'ed isn't available, you should get the > actual message returned, like so: > > Can't locate List::AllUtils in @INC ... > > But you don't. Fixing this would probably eliminate a lot of > confusing bug reports against this module.
That's the message I get. I'm using Perl 5.10.1 & 5.16.3, so either this is a problem with your version of Perl or something else is going on. Can you come up with a test to replicate this bug?