[rt-users] Error with ModifyUsers.html after upgrade from 3.8.7 to 4.0.0
Paul Riddle
paulr at umbc.edu
Mon May 23 11:33:34 EDT 2011
Hi,
At UMBC, we recently upgraded our development RT instance from 3.8.7 to
4.0.0. The upgrade went smoothly, but now when we open any ticket and
click on the "People" tab, we are getting the following error:
System error
error: Can't use an undefined value as an ARRAY reference at
/local/rt4/share/html/Ticket/ModifyPeople.html line 115, <GEN752> line 12.
context:
...
111: for my $type (qw(To Cc Bcc)) {
112: $recips{$_->address} = 1 for $scrip->ActionObj->Action->$type();
113: }
114: }
115: for my $rule (map {@{$_->Rules}} @txns) {
116: next unless $rule->{hints} && $rule->{hints}{class} eq "SendEmail";
117: for my $type (qw(To Cc Bcc)) {
118: $recips{$_} = 1 for @{$rule->{hints}{recips}{$type}};
119: }
...
code stack: /local/rt4/share/html/Ticket/ModifyPeople.html:115
/local/rt4/sbin/../lib/RT/Interface/Web.pm:522
/local/rt4/sbin/../lib/RT/Interface/Web.pm:271
/local/rt4/share/html/autohandler:53
It appears that this is because 'Rules' is undefined for one or more of
the transactions in the @txns array, and the map statement is attempting
to dereference an undefined value. To confirm, I tried replacing line
115 with:
for my $rule (map {@{$_->Rules}} grep(($_->Rules != undef), @txns)) {
This fixed the error, and the result is a "modify people" page that
appears correct at first glance. However, it's obviously a band-aid,
and not really knowing anything about RT internals, I'm worried that we
have a deeper systemic issue that's going to crop up elsewhere. Any
ideas what would cause 'Rules' to be undefined in one or more of the
transactions here? It's obviously not supposed to be undefined, or
presumably the code would already check for it.
Thanks for any insight!
Paul Riddle
More information about the rt-users
mailing list