Skip Menu |

This queue is for tickets about the Schedule-Cron CPAN distribution.

Report information
The Basics
Id: 68450
Status: resolved
Priority: 0/
Queue: Schedule-Cron

People
Owner: roland [...] cpan.org
Requestors: tlhackque [...] yahoo.com
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 1.01_1
Fixed in: (no value)



Schedule::Cron V 1.01_1. Running nofork. Queue became empty as the only entry called clean_timetable() without adding any more entries; main loop dies trying to get the next entry from the queue. Seems like we should exit in this case since there will never be anything else to do, but we definitely shouldn't crash. Here's the traceback: Schedule::Cron::CODE(0xa1f5660) (/usr/lib/perl5/site_perl/5.8.8/Schedule/Cron.pm:771): 771: my ($index,$time) = @{shift @{$self->{queue}}}; DB<7> x $self 0 Schedule::Cron=HASH(0xa1f56c0) 'cfg' => HASH(0xa1f5498) 'after_job' => CODE(0xa013810) -> &main::checkJob in tools/experimental.pl:157-163 'catch' => 1 'log' => CODE(0xa013534) -> &main::cronlog in tools/experimental.pl:130-153 'nofork' => 1 'processprefix' => 'experimental.pl' 'dispatcher' => CODE(0xa013450) -> &main::defaultSched in tools/experimental.pl:124-126 'map' => HASH(0xa1f5708) 'init' => 0 'queue' => ARRAY(0xa1f5990) 0 ARRAY(0xa1f57d4) 0 0 1 1306264782 'time_table' => ARRAY(0xa1de5a0) 0 HASH(0xa1f569c) 'args' => ARRAY(0xa1f55c4) 0 'init' 1 HASH(0x9fdbbd4) 'd' => 1 'p' => '/var/run/tick_daemon.pid' 2 REF(0xa012e2c) -> Schedule::Cron=HASH(0xa1f56c0) -> REUSED_ADDRESS 'dispatcher' => CODE(0xa0139b4) -> &main::init in tools/experimental.pl:167-189 'time' => '* * * * * *' DB<8> x $self 0 Schedule::Cron=HASH(0xa1f56c0) 'cfg' => HASH(0xa1f5498) 'after_job' => CODE(0xa013810) -> &main::checkJob in tools/experimental.pl:157-163 'catch' => 1 'log' => CODE(0xa013534) -> &main::cronlog in tools/experimental.pl:130-153 'nofork' => 1 'processprefix' => 'experimenta.pl' 'dispatcher' => CODE(0xa013450) -> &main::defaultSched in tools/experimental.pl:124-126 'map' => HASH(0xa1f5708) 'init' => 0 'queue' => ARRAY(0xa1f55c4) empty array 'time_table' => ARRAY(0xb36bba0) empty array DB<9> s Schedule::Cron::CODE(0xa1f5660) (/usr/lib/perl5/site_perl/5.8.8/Schedule/Cron.pm:771): 771: my ($index,$time) = @{shift @{$self->{queue}}}; DB<9> s Schedule::Cron::CODE(0xa1f5660) (/usr/lib/perl5/site_perl/5.8.8/Schedule/Cron.pm:771): 771: my ($index,$time) = @{shift @{$self->{queue}}}; DB<9> s Can't use an undefined value as an ARRAY reference at /usr/lib/perl5/site_perl/5.8.8/Schedule/Cron.pm line 771. at /usr/lib/perl5/site_perl/5.8.8/Schedule/Cron.pm line 771 Schedule::Cron::__ANON__ [/usr/lib/perl5/site_perl/5.8.8/Schedule/Cron.pm:813]() called at /usr/lib/perl5/site_perl/5.8.8/Schedule/Cron.pm line 878 Schedule::Cron::run('Schedule::Cron=HASH(0xa1f56c0)', 'HASH (0xa013018)') called at tools/experimental.pl line 95 main::start() called at tools/experimental_tick_twiki.pl line 56 File::Temp::CODE(0xa340ae4)(/usr/lib/perl5/5.8.8/File/Temp.pm:870): 870: local($., $@, $!, $^E, $?);
Subject: Crash scheduling empty queue
From: tlhackque [...] yahoo.com
I really did put a subject on the original report, which was "Crash scheduing empty queue." I don't seem to be able to edit one in.. The task in question was a wildcard (* * * * * *) task that runs once, deletes itself, and normally adds more task entries. In this case, there were no more...
 fixed in 1.01