Scrip IsApplicable 298 died. - Can't call method "Type" on an undefined value

Hi

I am using RT 3.8.8.
From time to time, I see the following errors in rt.log

[Fri Apr 15 07:48:06 2011] [info]: Successful login for xxxxx from
00.000.000.00 (/opt/rt3/bin/…/lib/RT/Interface/Web.pm:430)
[Fri Apr 15 07:48:42 2011] [error]: Scrip IsApplicable 298 died. - Can’t
call method “Type” on an undefined value at
/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm line 399 during global
destruction. (/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm:417)
[Fri Apr 15 07:48:42 2011] [error]: Scrip IsApplicable 290 died. - Can’t
call method “Type” on an undefined value at
/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm line 399 during global
destruction. (/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm:417)
[Fri Apr 15 07:48:42 2011] [error]: Scrip IsApplicable 205 died. - Can’t
call method “Type” on an undefined value at
/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm line 399 during global
destruction. (/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm:417)
[Fri Apr 15 07:48:42 2011] [error]: Scrip IsApplicable 282 died. - Can’t
call method “Type” on an undefined value at
/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm line 399 during global
destruction. (/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm:417)
[Fri Apr 15 07:48:42 2011] [error]: Scrip IsApplicable 200 died. - Can’t
call method “Type” on an undefined value at
/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm line 399 during global
destruction. (/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm:417)
[Fri Apr 15 07:48:42 2011] [error]: Scrip IsApplicable 187 died. - Can’t
call method “Type” on an undefined value at
/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm line 399 during global
destruction. (/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm:417)
[Fri Apr 15 07:48:42 2011] [error]: Scrip IsApplicable 178 died. - Can’t
call method “Type” on an undefined value at
/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm line 399 during global
destruction. (/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm:417)
[Fri Apr 15 07:48:42 2011] [error]: Scrip IsApplicable 168 died. - Can’t
call method “Type” on an undefined value at
/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm line 399 during global
destruction. (/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm:417)
[Fri Apr 15 07:48:54 2011] [info]: Successful login for yyyyy from
00.000.000.00 (/opt/rt3/bin/…/lib/RT/Interface/Web.pm:430)

All these scripts have in common that they are Stage=TransactionBatch

If I look inside Scrip_Overlay.pm, I see
397 foreach my $TransactionObj ( @Transactions ) {
398 # in TxnBatch stage we can select scrips that are not
applicable to all txns
399 my $txn_type = $TransactionObj->Type;

so it looks as if I have an undefined value in @Transactions !?!?

I log all transactions in rt.log and I have not been able to find any
triggering condition.

Does anyone understand what is happening ?
How do I start debugging this ?

Thanks
Gerard

Hi,

In a few words: “a script didn’t destroy some tickets in time and now
it’s too late to apply batch stage scrips, they just die”.

In details. You have a scrip in TransactionBatch stage. You have a
script you run from command line/cron. Scrips in batch stage are
applied when ticket’s object is destroyed. Your script changes
ticket(s), however it doesn’t destroy object(s) early enough. So batch
stage delayed untill global destruction. During global destruction
code dies as some required objects are destroyed already.On Fri, Apr 15, 2011 at 5:32 PM, Gerard FENELON gerard@eve-team.com wrote:

Hi

I am using RT 3.8.8.
From time to time, I see the following errors in rt.log

[Fri Apr 15 07:48:06 2011] [info]: Successful login for xxxxx from
00.000.000.00 (/opt/rt3/bin/…/lib/RT/Interface/Web.pm:430)
[Fri Apr 15 07:48:42 2011] [error]: Scrip IsApplicable 298 died. - Can’t
call method “Type” on an undefined value at
/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm line 399 during global destruction.
(/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm:417)
[Fri Apr 15 07:48:42 2011] [error]: Scrip IsApplicable 290 died. - Can’t
call method “Type” on an undefined value at
/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm line 399 during global destruction.
(/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm:417)
[Fri Apr 15 07:48:42 2011] [error]: Scrip IsApplicable 205 died. - Can’t
call method “Type” on an undefined value at
/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm line 399 during global destruction.
(/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm:417)
[Fri Apr 15 07:48:42 2011] [error]: Scrip IsApplicable 282 died. - Can’t
call method “Type” on an undefined value at
/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm line 399 during global destruction.
(/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm:417)
[Fri Apr 15 07:48:42 2011] [error]: Scrip IsApplicable 200 died. - Can’t
call method “Type” on an undefined value at
/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm line 399 during global destruction.
(/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm:417)
[Fri Apr 15 07:48:42 2011] [error]: Scrip IsApplicable 187 died. - Can’t
call method “Type” on an undefined value at
/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm line 399 during global destruction.
(/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm:417)
[Fri Apr 15 07:48:42 2011] [error]: Scrip IsApplicable 178 died. - Can’t
call method “Type” on an undefined value at
/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm line 399 during global destruction.
(/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm:417)
[Fri Apr 15 07:48:42 2011] [error]: Scrip IsApplicable 168 died. - Can’t
call method “Type” on an undefined value at
/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm line 399 during global destruction.
(/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm:417)
[Fri Apr 15 07:48:54 2011] [info]: Successful login for yyyyy from
00.000.000.00 (/opt/rt3/bin/…/lib/RT/Interface/Web.pm:430)

All these scripts have in common that they are Stage=TransactionBatch

If I look inside Scrip_Overlay.pm, I see
397 foreach my $TransactionObj ( @Transactions ) {
398 # in TxnBatch stage we can select scrips that are not
applicable to all txns
399 my $txn_type = $TransactionObj->Type;

so it looks as if I have an undefined value in @Transactions !?!?

I log all transactions in rt.log and I have not been able to find any
triggering condition.

Does anyone understand what is happening ?
How do I start debugging this ?

Thanks
Gerard

Best regards, Ruslan.

Hi Ruslan

Thanks for the explanation but I don’t think I know where to take from here.
First I am confused by the fact that you talking of destroyed tickets
but it seemed to me that my problem was disappearing transactions.
Anyway I don’t destroy anything knowingly, tickets or transactions inmy
scrips/cron destroy anything knowingly.

My crons are rt-remind on Sunday and Dashboards every hour on the hour.
The errors occur anytime during the week and in the example I sent it is
date 48 minutes after the hour.

I don’t know whether it is relevant, but I did notice that some of my
scrips appeared
to take a long time to process :
Most of my scrips put a line in the var/log/rt.log and some of those
lines appear out of order.

GerardOn 2011-04-16 00:37, Ruslan Zakirov wrote:

Hi,

In a few words: “a script didn’t destroy some tickets in time and now
it’s too late to apply batch stage scrips, they just die”.

In details. You have a scrip in TransactionBatch stage. You have a
script you run from command line/cron. Scrips in batch stage are
applied when ticket’s object is destroyed. Your script changes
ticket(s), however it doesn’t destroy object(s) early enough. So batch
stage delayed untill global destruction. During global destruction
code dies as some required objects are destroyed already.

On Fri, Apr 15, 2011 at 5:32 PM, Gerard FENELONgerard@eve-team.com wrote:

Hi

I am using RT 3.8.8.
From time to time, I see the following errors in rt.log

[Fri Apr 15 07:48:06 2011] [info]: Successful login for xxxxx from
00.000.000.00 (/opt/rt3/bin/…/lib/RT/Interface/Web.pm:430)
[Fri Apr 15 07:48:42 2011] [error]: Scrip IsApplicable 298 died. - Can’t
call method “Type” on an undefined value at
/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm line 399 during global destruction.
(/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm:417)
[Fri Apr 15 07:48:42 2011] [error]: Scrip IsApplicable 290 died. - Can’t
call method “Type” on an undefined value at
/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm line 399 during global destruction.
(/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm:417)
[Fri Apr 15 07:48:42 2011] [error]: Scrip IsApplicable 205 died. - Can’t
call method “Type” on an undefined value at
/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm line 399 during global destruction.
(/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm:417)
[Fri Apr 15 07:48:42 2011] [error]: Scrip IsApplicable 282 died. - Can’t
call method “Type” on an undefined value at
/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm line 399 during global destruction.
(/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm:417)
[Fri Apr 15 07:48:42 2011] [error]: Scrip IsApplicable 200 died. - Can’t
call method “Type” on an undefined value at
/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm line 399 during global destruction.
(/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm:417)
[Fri Apr 15 07:48:42 2011] [error]: Scrip IsApplicable 187 died. - Can’t
call method “Type” on an undefined value at
/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm line 399 during global destruction.
(/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm:417)
[Fri Apr 15 07:48:42 2011] [error]: Scrip IsApplicable 178 died. - Can’t
call method “Type” on an undefined value at
/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm line 399 during global destruction.
(/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm:417)
[Fri Apr 15 07:48:42 2011] [error]: Scrip IsApplicable 168 died. - Can’t
call method “Type” on an undefined value at
/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm line 399 during global destruction.
(/opt/rt3/bin/…/lib/RT/Scrip_Overlay.pm:417)
[Fri Apr 15 07:48:54 2011] [info]: Successful login for yyyyy from
00.000.000.00 (/opt/rt3/bin/…/lib/RT/Interface/Web.pm:430)

All these scripts have in common that they are Stage=TransactionBatch

If I look inside Scrip_Overlay.pm, I see
397 foreach my $TransactionObj ( @Transactions ) {
398 # in TxnBatch stage we can select scrips that are not
applicable to all txns
399 my $txn_type = $TransactionObj->Type;

so it looks as if I have an undefined value in @Transactions !?!?

I log all transactions in rt.log and I have not been able to find any
triggering condition.

Does anyone understand what is happening ?
How do I start debugging this ?

Thanks
Gerard

Gerard FENELON Corporate Support
Emulation& Verification Engineering
2 bis, voie La Cardon
phone: +33 1 6453 2734 Parc Gutenberg
fax: +33 1 6453 2740 91120 Palaiseau
http://www.eve-team.com FRANCE