I’ve run into an odd problem…
This is on FreeBSD 4.8; RT 3.04, DBIx::Searchbuilder 0.88.
I’m trying to import tickets from another system. I’ve whacked up a
script that is starting to work… I am able to Create() tickets with
(most of) the desired attributes from the old system. The strangeness
is that if I run my script at full speed (either inside the perl
debugger or normally), it fails. When I single step through it,
(actually, I “continue” in stages), it works.
During my development/debugging I’ve seen the same sort of failures (at
the same place) but with different stack traces.
When it fails, this is the trace:
[Fri Aug 8 17:37:47 2003] [crit]: Use of uninitialized value in
subtraction (-) at
/usr/local/lib/perl5/site_perl/5.8.0/DBIx/SearchBuilder/Record/Cachable.
pm line 96.
DBIx::SearchBuilder::Record::Cachable::LoadByCols(‘RT::Ticket=HASH(0x8eb
0c24)’,‘id’,6144) called at /space/rt3/lib//RT/Record.pm line 222
RT::Record::LoadByCols('RT::Ticket=HASH(0x8eb0c24)','id',6144)
called at
/usr/local/lib/perl5/site_perl/5.8.0/DBIx/SearchBuilder/Record.pm line
811
DBIx::SearchBuilder::Record::LoadById(‘RT::Ticket=HASH(0x8eb0c24)’,6144)
called at /space/rt3/lib//RT/Ticket_Overlay.pm line 212
RT::Ticket::Load('RT::Ticket=HASH(0x8eb0c24)',6144) called at
/space/rt3/lib//RT/Transaction_Overlay.pm line 118
RT::Transaction::Create(‘RT::Transaction=HASH(0x8e8cec4)’,‘Ticket’,6144,
‘TimeTaken’,0,‘Type’,‘Create’,‘Data’,‘undef’,…) called at
/space/rt3/lib//RT/Ticket_Overlay.pm line 3780
RT::_NewTransaction(‘RT::Ticket=HASH(0x8d10c78)’,‘Type’,‘Create’
,‘TimeTaken’,0,‘MIMEObj’,‘undef’) called at
/space/rt3/lib//RT/Ticket_Overlay.pm line 615
RT::Create(‘RT::Ticket=HASH(0x8d10c78)’,‘Requestor’,‘ARRAY(0x8cd
5a1c)’,‘Subject’,‘linux login environment
please’,‘Status’,‘open’,‘FinalPriority’,99,…) called at
./import-itrack line 295
main::bug_to_ticket('HASH(0x8e6f060)') called at ./import-itrack
line 176
(/space/rt3/lib//RT.pm:242)
This is the line that is complaining:
## Decide if the cache object is too old
if ((time() - $cache_time) <=
$this->{’_CacheConfig’}{‘cache_for_sec’}) {
$this->_fetch($cache_key);
return (1, "Fetched from cache");
So apparently $cache_time is not set…
How do I go about debugging this? If it is easy, I’d like to just
completely disable the cache concept till I get the rest of my
code/process more stable…
Is this something that anyone has seen?