Create new validation

I want to create a new validation for custom fields that would check the
format of a date. Where would I add this?

Mathew Snyder
Systems Administrator
Network+
ServerVault TechOps

Hi RT Users,

I get a very strange error at the Links Section of a ticket (and also if i
use the links Tab)

This Ticket has a Refered by Link from RTFM and it was merged into another
ticket. I have tried to reproduce this error, but no luck… It only occurs
from time to time.

Torsten

The error:

System error
error: Can’t call method “IsLocal” on an undefined value at
/opt/rt3/lib/RT/URI.pm line 247.
context:

243: =cut
244:
245: sub IsLocal {
246: my $self = shift;
247: return $self->Resolver->IsLocal;
248: }
249:
250:
251: # }}}

code stack: /opt/rt3/lib/RT/URI.pm:247
/opt/rt3/lib/RT/Links_Overlay.pm:159
/opt/rt3/share/html/Elements/EditLinks:109
/opt/rt3/share/html/Ticket/ModifyLinks.html:58
/opt/rt3/share/html/autohandler:215
raw error

Can’t call method “IsLocal” on an undefined value at /opt/rt3/lib/RT/URI.pm
line 247.

Trace begun at /usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Exceptions.pm line
131
HTML::Mason::Exceptions::rethrow_exception(‘Can’t call method “IsLocal” on
an undefined value at /opt/rt3/lib/RT/URI.pm line 247.^J’) called at
/opt/rt3/lib/RT/URI.pm line 247
RT::URI::IsLocal(‘RT::URI=HASH(0xa6e8d5c)’) called at
/opt/rt3/lib/RT/Links_Overlay.pm line 159
RT::Links::Next(‘RT::Links=HASH(0xa601900)’) called at
/opt/rt3/share/html/Elements/EditLinks line 109
HTML::Mason::Commands::ANON(‘Object’, ‘RT::Ticket=HASH(0xa3d43d8)’,
‘Merge’, 1) called at /usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Component.pm
line 136
HTML::Mason::Component::run(‘HTML::Mason::Component::FileBased=HASH(0xa297bc
4)’, ‘Object’, ‘RT::Ticket=HASH(0xa3d43d8)’, ‘Merge’, 1) called at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Request.pm line 1074
eval {…} at /usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Request.pm line 1068
HTML::Mason::Request::comp(undef, undef, ‘Object’,
‘RT::Ticket=HASH(0xa3d43d8)’, ‘Merge’, 1) called at
/opt/rt3/share/html/Ticket/ModifyLinks.html line 58
HTML::Mason::Commands::ANON(‘id’, 287349, ‘id’, 287349) called at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Component.pm line 136
HTML::Mason::Component::run(‘HTML::Mason::Component::FileBased=HASH(0xa6a918
4)’, ‘id’, 287349, ‘id’, 287349) called at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Request.pm line 1074
eval {…} at /usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Request.pm line 1068
HTML::Mason::Request::comp(undef, undef, ‘id’, 287349, ‘id’, 287349) called
at /usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Request.pm line 760
HTML::Mason::Request::call_next(‘HTML::Mason::Request::CGI=HASH(0xa3bc678)’,
‘id’, 287349) called at /opt/rt3/share/html/autohandler line 215
HTML::Mason::Commands::ANON(‘id’, 287349) called at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Component.pm line 136
HTML::Mason::Component::run(‘HTML::Mason::Component::FileBased=HASH(0x9d6baa
0)’, ‘id’, 287349) called at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Request.pm line 1069
eval {…} at /usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Request.pm line 1068
HTML::Mason::Request::comp(undef, undef, undef, ‘id’, 287349) called at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Request.pm line 338
eval {…} at /usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Request.pm line 338
eval {…} at /usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Request.pm line 297
HTML::Mason::Request::exec(‘HTML::Mason::Request::CGI=HASH(0xa3bc678)’)
called at /usr/lib/perl5/site_perl/5.8.5/HTML/Mason/CGIHandler.pm line 197
eval {…} at /usr/lib/perl5/site_perl/5.8.5/HTML/Mason/CGIHandler.pm line
197
HTML::Mason::Request::CGI::exec(‘HTML::Mason::Request::CGI=HASH(0xa3bc678)’)
called at /usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Interp.pm line 216
HTML::Mason::Interp::exec(undef, undef, ‘id’, 287349) called at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/CGIHandler.pm line 127
eval {…} at /usr/lib/perl5/site_perl/5.8.5/HTML/Mason/CGIHandler.pm line
127
HTML::Mason::CGIHandler::_handler(‘HTML::Mason::CGIHandler=HASH(0x99af8c8)’,
‘HASH(0xa2769dc)’) called at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/CGIHandler.pm line 76
HTML::Mason::CGIHandler::handle_cgi_object(‘HTML::Mason::CGIHandler=HASH(0x9
9af8c8)’, ‘CGI::Fast=HASH(0xa1cd504)’) called at
/opt/rt3/bin/mason_handler.fcgi line 76
eval {…} at /opt/rt3/bin/mason_handler.fcgi line 76

I want to create a new validation for custom fields that would check the
format of a date. Where would I add this?

This is in RT 3.6.

Hi Torsten,

I ran into this last week (RT 3.4.5), and wasn’t able to find much on Google or the list archives about it. It does seem to come up when people are trying to do different things.

In our situation, it was the result of the following:

  1. Two tickets were created for the same issue (customer double-submitted it)
  2. A link was created between them (“Depends on/Depended on by”)
  3. The link was removed
  4. One was deleted, and subsequently purged from the database with RTx::Shredder

With the database in this state, trying to load the ticket that hadn’t been deleted resulted in the error you describe. My solution was to restore the deleted ticket using the dumpfile created by rtx-shredder’s --sqldump switch, and set its status to “rejected” so that it isn’t automatically purged by our nightly rtx-shredder job.

I’m not sure if we could’ve done anything else (removed the link transaction(s) from the database perhaps? I didn’t try this because I’d rather add unnecessary data than delete anything), or if this is a bug or an unavoidable consequence of using RTx::Shredder to purge our database of spam (there is plenty). The bottom line, for us, was that the two tickets should’ve been merged, as they were both from a legitimate customer. Deleting one was the incorrect solution.

Sincerely,
Frank Pater
DCANet
http://www.dca.net
voice: 888-4-DCANET (888-432-2638)
fax: 302-426-6386On Wed, May 24, 2006 at 03:05:58PM +0200, Torsten Brumm wrote:

Hi RT Users,

I get a very strange error at the Links Section of a ticket (and also if i
use the links Tab)

This Ticket has a Refered by Link from RTFM and it was merged into another
ticket. I have tried to reproduce this error, but no luck… It only occurs
from time to time.

Torsten

The error:

System error
error: Can’t call method “IsLocal” on an undefined value at
/opt/rt3/lib/RT/URI.pm line 247.
context:

243: =cut
244:
245: sub IsLocal {
246: my $self = shift;
247: return $self->Resolver->IsLocal;
248: }
249:
250:
251: # }}}

code stack: /opt/rt3/lib/RT/URI.pm:247
/opt/rt3/lib/RT/Links_Overlay.pm:159
/opt/rt3/share/html/Elements/EditLinks:109
/opt/rt3/share/html/Ticket/ModifyLinks.html:58
/opt/rt3/share/html/autohandler:215
raw error

Can’t call method “IsLocal” on an undefined value at /opt/rt3/lib/RT/URI.pm
line 247.

Trace begun at /usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Exceptions.pm line
131
HTML::Mason::Exceptions::rethrow_exception(‘Can’t call method “IsLocal” on
an undefined value at /opt/rt3/lib/RT/URI.pm line 247.^J’) called at
/opt/rt3/lib/RT/URI.pm line 247
RT::URI::IsLocal(‘RT::URI=HASH(0xa6e8d5c)’) called at
/opt/rt3/lib/RT/Links_Overlay.pm line 159
RT::Links::Next(‘RT::Links=HASH(0xa601900)’) called at
/opt/rt3/share/html/Elements/EditLinks line 109
HTML::Mason::Commands::ANON(‘Object’, ‘RT::Ticket=HASH(0xa3d43d8)’,
‘Merge’, 1) called at /usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Component.pm
line 136
HTML::Mason::Component::run(‘HTML::Mason::Component::FileBased=HASH(0xa297bc
4)’, ‘Object’, ‘RT::Ticket=HASH(0xa3d43d8)’, ‘Merge’, 1) called at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Request.pm line 1074
eval {…} at /usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Request.pm line 1068
HTML::Mason::Request::comp(undef, undef, ‘Object’,
‘RT::Ticket=HASH(0xa3d43d8)’, ‘Merge’, 1) called at
/opt/rt3/share/html/Ticket/ModifyLinks.html line 58
HTML::Mason::Commands::ANON(‘id’, 287349, ‘id’, 287349) called at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Component.pm line 136
HTML::Mason::Component::run(‘HTML::Mason::Component::FileBased=HASH(0xa6a918
4)’, ‘id’, 287349, ‘id’, 287349) called at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Request.pm line 1074
eval {…} at /usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Request.pm line 1068
HTML::Mason::Request::comp(undef, undef, ‘id’, 287349, ‘id’, 287349) called
at /usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Request.pm line 760
HTML::Mason::Request::call_next(‘HTML::Mason::Request::CGI=HASH(0xa3bc678)’,
‘id’, 287349) called at /opt/rt3/share/html/autohandler line 215
HTML::Mason::Commands::ANON(‘id’, 287349) called at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Component.pm line 136
HTML::Mason::Component::run(‘HTML::Mason::Component::FileBased=HASH(0x9d6baa
0)’, ‘id’, 287349) called at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Request.pm line 1069
eval {…} at /usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Request.pm line 1068
HTML::Mason::Request::comp(undef, undef, undef, ‘id’, 287349) called at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Request.pm line 338
eval {…} at /usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Request.pm line 338
eval {…} at /usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Request.pm line 297
HTML::Mason::Request::exec(‘HTML::Mason::Request::CGI=HASH(0xa3bc678)’)
called at /usr/lib/perl5/site_perl/5.8.5/HTML/Mason/CGIHandler.pm line 197
eval {…} at /usr/lib/perl5/site_perl/5.8.5/HTML/Mason/CGIHandler.pm line
197
HTML::Mason::Request::CGI::exec(‘HTML::Mason::Request::CGI=HASH(0xa3bc678)’)
called at /usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Interp.pm line 216
HTML::Mason::Interp::exec(undef, undef, ‘id’, 287349) called at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/CGIHandler.pm line 127
eval {…} at /usr/lib/perl5/site_perl/5.8.5/HTML/Mason/CGIHandler.pm line
127
HTML::Mason::CGIHandler::_handler(‘HTML::Mason::CGIHandler=HASH(0x99af8c8)’,
‘HASH(0xa2769dc)’) called at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/CGIHandler.pm line 76
HTML::Mason::CGIHandler::handle_cgi_object(‘HTML::Mason::CGIHandler=HASH(0x9
9af8c8)’, ‘CGI::Fast=HASH(0xa1cd504)’) called at
/opt/rt3/bin/mason_handler.fcgi line 76
eval {…} at /opt/rt3/bin/mason_handler.fcgi line 76


http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

Community help: http://wiki.bestpractical.com
Commercial support: sales@bestpractical.com

Discover RT’s hidden secrets with RT Essentials from O’Reilly Media.
Buy a copy at http://rtbook.bestpractical.com

We’re hiring! Come hack Perl for Best Practical: http://bestpractical.com/about/jobs.html

Hi Frank,

We didn’t delete something, but we merged to tickets and one of them had a
referer to RTFM. It drives me crazy, that i can’t reproduce this and i’m
also stepping in the dark, because i can’t figure out the way the steps
where done, because the Extract Article from the Ticket to the RTFM
generates no History Entry…

Hopefully Jesse or someone else has an idea or solution.

Torsten

Hi Frank,

We didn’t delete something, but we merged to tickets and one of them had a
referer to RTFM. It drives me crazy, that i can’t reproduce this and i’m
also stepping in the dark, because i can’t figure out the way the steps
where done, because the Extract Article from the Ticket to the RTFM
generates no History Entry…

Hopefully Jesse or someone else has an idea or solution.

Ruslan has managed to replicate the error, so we should be able to fix
it.

Jesse

Hi Frank,

We didn’t delete something, but we merged to tickets and one of them had a
referer to RTFM. It drives me crazy, that i can’t reproduce this and i’m
also stepping in the dark, because i can’t figure out the way the steps
where done, because the Extract Article from the Ticket to the RTFM
generates no History Entry…

Hopefully Jesse or someone else has an idea or solution.

Ruslan has managed to replicate the error, so we should be able to fix
it.

Jesse

Yep, fix is in 3.4-RELEASE branch and would be part of 3.4.6.

Best regards, Ruslan.

Torsten, I’ve uploaded Shredder-0.04 that has fix for this bug. Really
in your description step 3) should be omited as RT doesn’t show links
to deleted tickets and do it very deep in the core and shredder was
biten by this. So in result you had a ticket with a link to an object
that doesn’t exist.On 5/24/06, Frank Pater fpater@dca.net wrote:

Hi Torsten,

I ran into this last week (RT 3.4.5), and wasn’t able to find much on Google or the list archives about it. It does seem to come up when people are trying to do different things.

In our situation, it was the result of the following:

  1. Two tickets were created for the same issue (customer double-submitted it)
  2. A link was created between them (“Depends on/Depended on by”)
  3. The link was removed
  4. One was deleted, and subsequently purged from the database with RTx::Shredder

With the database in this state, trying to load the ticket that hadn’t been deleted resulted in the error you describe. My solution was to restore the deleted ticket using the dumpfile created by rtx-shredder’s --sqldump switch, and set its status to “rejected” so that it isn’t automatically purged by our nightly rtx-shredder job.

I’m not sure if we could’ve done anything else (removed the link transaction(s) from the database perhaps? I didn’t try this because I’d rather add unnecessary data than delete anything), or if this is a bug or an unavoidable consequence of using RTx::Shredder to purge our database of spam (there is plenty). The bottom line, for us, was that the two tickets should’ve been merged, as they were both from a legitimate customer. Deleting one was the incorrect solution.

Sincerely,
Frank Pater
DCANet
http://www.dca.net
voice: 888-4-DCANET (888-432-2638)
fax: 302-426-6386

On Wed, May 24, 2006 at 03:05:58PM +0200, Torsten Brumm wrote:

Hi RT Users,

I get a very strange error at the Links Section of a ticket (and also if i
use the links Tab)

This Ticket has a Refered by Link from RTFM and it was merged into another
ticket. I have tried to reproduce this error, but no luck… It only occurs
from time to time.

Torsten

The error:

System error
error: Can’t call method “IsLocal” on an undefined value at
/opt/rt3/lib/RT/URI.pm line 247.
context:

243: =cut
244:
245: sub IsLocal {
246: my $self = shift;
247: return $self->Resolver->IsLocal;
248: }
249:
250:
251: # }}}

code stack: /opt/rt3/lib/RT/URI.pm:247
/opt/rt3/lib/RT/Links_Overlay.pm:159
/opt/rt3/share/html/Elements/EditLinks:109
/opt/rt3/share/html/Ticket/ModifyLinks.html:58
/opt/rt3/share/html/autohandler:215
raw error

Can’t call method “IsLocal” on an undefined value at /opt/rt3/lib/RT/URI.pm
line 247.

Trace begun at /usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Exceptions.pm line
131
HTML::Mason::Exceptions::rethrow_exception(‘Can’t call method “IsLocal” on
an undefined value at /opt/rt3/lib/RT/URI.pm line 247.^J’) called at
/opt/rt3/lib/RT/URI.pm line 247
RT::URI::IsLocal(‘RT::URI=HASH(0xa6e8d5c)’) called at
/opt/rt3/lib/RT/Links_Overlay.pm line 159
RT::Links::Next(‘RT::Links=HASH(0xa601900)’) called at
/opt/rt3/share/html/Elements/EditLinks line 109
HTML::Mason::Commands::ANON(‘Object’, ‘RT::Ticket=HASH(0xa3d43d8)’,
‘Merge’, 1) called at /usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Component.pm
line 136
HTML::Mason::Component::run(‘HTML::Mason::Component::FileBased=HASH(0xa297bc
4)’, ‘Object’, ‘RT::Ticket=HASH(0xa3d43d8)’, ‘Merge’, 1) called at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Request.pm line 1074
eval {…} at /usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Request.pm line 1068
HTML::Mason::Request::comp(undef, undef, ‘Object’,
‘RT::Ticket=HASH(0xa3d43d8)’, ‘Merge’, 1) called at
/opt/rt3/share/html/Ticket/ModifyLinks.html line 58
HTML::Mason::Commands::ANON(‘id’, 287349, ‘id’, 287349) called at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Component.pm line 136
HTML::Mason::Component::run(‘HTML::Mason::Component::FileBased=HASH(0xa6a918
4)’, ‘id’, 287349, ‘id’, 287349) called at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Request.pm line 1074
eval {…} at /usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Request.pm line 1068
HTML::Mason::Request::comp(undef, undef, ‘id’, 287349, ‘id’, 287349) called
at /usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Request.pm line 760
HTML::Mason::Request::call_next(‘HTML::Mason::Request::CGI=HASH(0xa3bc678)’,
‘id’, 287349) called at /opt/rt3/share/html/autohandler line 215
HTML::Mason::Commands::ANON(‘id’, 287349) called at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Component.pm line 136
HTML::Mason::Component::run(‘HTML::Mason::Component::FileBased=HASH(0x9d6baa
0)’, ‘id’, 287349) called at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Request.pm line 1069
eval {…} at /usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Request.pm line 1068
HTML::Mason::Request::comp(undef, undef, undef, ‘id’, 287349) called at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Request.pm line 338
eval {…} at /usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Request.pm line 338
eval {…} at /usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Request.pm line 297
HTML::Mason::Request::exec(‘HTML::Mason::Request::CGI=HASH(0xa3bc678)’)
called at /usr/lib/perl5/site_perl/5.8.5/HTML/Mason/CGIHandler.pm line 197
eval {…} at /usr/lib/perl5/site_perl/5.8.5/HTML/Mason/CGIHandler.pm line
197
HTML::Mason::Request::CGI::exec(‘HTML::Mason::Request::CGI=HASH(0xa3bc678)’)
called at /usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Interp.pm line 216
HTML::Mason::Interp::exec(undef, undef, ‘id’, 287349) called at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/CGIHandler.pm line 127
eval {…} at /usr/lib/perl5/site_perl/5.8.5/HTML/Mason/CGIHandler.pm line
127
HTML::Mason::CGIHandler::_handler(‘HTML::Mason::CGIHandler=HASH(0x99af8c8)’,
‘HASH(0xa2769dc)’) called at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/CGIHandler.pm line 76
HTML::Mason::CGIHandler::handle_cgi_object(‘HTML::Mason::CGIHandler=HASH(0x9
9af8c8)’, ‘CGI::Fast=HASH(0xa1cd504)’) called at
/opt/rt3/bin/mason_handler.fcgi line 76
eval {…} at /opt/rt3/bin/mason_handler.fcgi line 76


http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

Community help: http://wiki.bestpractical.com
Commercial support: sales@bestpractical.com

Discover RT’s hidden secrets with RT Essentials from O’Reilly Media.
Buy a copy at http://rtbook.bestpractical.com

We’re hiring! Come hack Perl for Best Practical: http://bestpractical.com/about/jobs.html


http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

Community help: http://wiki.bestpractical.com
Commercial support: sales@bestpractical.com

Discover RT’s hidden secrets with RT Essentials from O’Reilly Media.
Buy a copy at http://rtbook.bestpractical.com

We’re hiring! Come hack Perl for Best Practical: http://bestpractical.com/about/jobs.html

Best regards, Ruslan.

Hi Ruslan,

Cool, a new shredder release, but i don’t use the shredder at our productive
system, the only thing that happen was a ticket merge after or before they
have liked to the RTFM.

No shreddered ticket at all :wink:

Torsten

Heh. Anyway the error happens when a link point to an object that doesn’t exist.On 5/28/06, Torsten Brumm torsten.brumm@kuehne-nagel.com wrote:

Hi Ruslan,

Cool, a new shredder release, but i don’t use the shredder at our productive
system, the only thing that happen was a ticket merge after or before they
have liked to the RTFM.

No shreddered ticket at all :wink:

Torsten

-----Ursprüngliche Nachricht-----
Von: Ruslan Zakirov [mailto:ruslan.zakirov@gmail.com]
Gesendet: Samstag, 27. Mai 2006 02:48
An: Frank Pater
Cc: Torsten Brumm; rt-users@lists.bestpractical.com
Betreff: Re: [rt-users] RT 3.4.4 Links Error

Torsten, I’ve uploaded Shredder-0.04 that has fix for this
bug. Really in your description step 3) should be omited as
RT doesn’t show links to deleted tickets and do it very deep
in the core and shredder was biten by this. So in result you
had a ticket with a link to an object that doesn’t exist.

On 5/24/06, Frank Pater fpater@dca.net wrote:

Hi Torsten,

I ran into this last week (RT 3.4.5), and wasn’t able to
find much on Google or the list archives about it. It does
seem to come up when people are trying to do different things.

In our situation, it was the result of the following:

  1. Two tickets were created for the same issue (customer
    double-submitted it)
  2. A link was created between them (“Depends on/Depended on by”)
  3. The link was removed
  4. One was deleted, and subsequently purged from the database with
    RTx::Shredder

With the database in this state, trying to load the ticket
that hadn’t been deleted resulted in the error you describe.
My solution was to restore the deleted ticket using the
dumpfile created by rtx-shredder’s --sqldump switch, and set
its status to “rejected” so that it isn’t automatically
purged by our nightly rtx-shredder job.

I’m not sure if we could’ve done anything else (removed the
link transaction(s) from the database perhaps? I didn’t try
this because I’d rather add unnecessary data than delete
anything), or if this is a bug or an unavoidable consequence
of using RTx::Shredder to purge our database of spam (there
is plenty). The bottom line, for us, was that the two tickets
should’ve been merged, as they were both from a legitimate
customer. Deleting one was the incorrect solution.

Sincerely,
Frank Pater
DCANet
http://www.dca.net
voice: 888-4-DCANET (888-432-2638)
fax: 302-426-6386

On Wed, May 24, 2006 at 03:05:58PM +0200, Torsten Brumm wrote:

Hi RT Users,

I get a very strange error at the Links Section of a ticket (and
also if i use the links Tab)

This Ticket has a Refered by Link from RTFM and it was
merged into

another ticket. I have tried to reproduce this error, but
no luck…

It only occurs from time to time.

Torsten

The error:

System error
error: Can’t call method “IsLocal” on an undefined value at
/opt/rt3/lib/RT/URI.pm line 247.
context:

243: =cut
244:
245: sub IsLocal {
246: my $self = shift;
247: return $self->Resolver->IsLocal;
248: }
249:
250:
251: # }}}

code stack: /opt/rt3/lib/RT/URI.pm:247
/opt/rt3/lib/RT/Links_Overlay.pm:159
/opt/rt3/share/html/Elements/EditLinks:109
/opt/rt3/share/html/Ticket/ModifyLinks.html:58
/opt/rt3/share/html/autohandler:215
raw error

Can’t call method “IsLocal” on an undefined value at
/opt/rt3/lib/RT/URI.pm line 247.

Trace begun at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Exceptions.pm line
131
HTML::Mason::Exceptions::rethrow_exception(‘Can’t call method
"IsLocal" on an undefined value at /opt/rt3/lib/RT/URI.pm line
247.^J’) called at /opt/rt3/lib/RT/URI.pm line 247
RT::URI::IsLocal(‘RT::URI=HASH(0xa6e8d5c)’) called at
/opt/rt3/lib/RT/Links_Overlay.pm line 159
RT::Links::Next(‘RT::Links=HASH(0xa601900)’) called at
/opt/rt3/share/html/Elements/EditLinks line 109
HTML::Mason::Commands::ANON(‘Object’,
‘RT::Ticket=HASH(0xa3d43d8)’, ‘Merge’, 1) called at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Component.pm
line 136

HTML::Mason::Component::run('HTML::Mason::Component::FileBased=HASH(

0xa297bc 4)’, ‘Object’, ‘RT::Ticket=HASH(0xa3d43d8)’, ‘Merge’, 1)
called at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Request.pm line

1074 eval {…} at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Request.pm line 1068
HTML::Mason::Request::comp(undef, undef, ‘Object’,
‘RT::Ticket=HASH(0xa3d43d8)’, ‘Merge’, 1) called at
/opt/rt3/share/html/Ticket/ModifyLinks.html line 58
HTML::Mason::Commands::ANON(‘id’, 287349, ‘id’,

  1. called

at /usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Component.pm line 136

HTML::Mason::Component::run('HTML::Mason::Component::FileBased=HASH(

0xa6a918 4)’, ‘id’, 287349, ‘id’, 287349) called at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Request.pm line
1074 eval

{…} at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Request.pm line

1068 HTML::Mason::Request::comp(undef, undef, ‘id’, 287349, ‘id’,
287349) called at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Request.pm line 760

HTML::Mason::Request::call_next('HTML::Mason::Request::CGI=HASH(0xa3

bc678)’, ‘id’, 287349) called at /opt/rt3/share/html/autohandler
line 215 HTML::Mason::Commands::ANON(‘id’, 287349) called at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Component.pm line 136

HTML::Mason::Component::run('HTML::Mason::Component::FileBased=HASH(

0x9d6baa
0)’, ‘id’, 287349) called at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Request.pm line
1069 eval

{…} at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Request.pm line

1068 HTML::Mason::Request::comp(undef, undef, undef,
‘id’, 287349)

called at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Request.pm line

338 eval {…} at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Request.pm line
338 eval

{…} at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Request.pm line

297

HTML::Mason::Request::exec('HTML::Mason::Request::CGI=HASH(0xa3bc678

)’) called at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/CGIHandler.pm line 197
eval {…} at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/CGIHandler.pm line
197

HTML::Mason::Request::CGI::exec('HTML::Mason::Request::CGI=HASH(0xa3

bc678)’) called at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/Interp.pm line 216
HTML::Mason::Interp::exec(undef, undef, ‘id’, 287349) called at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/CGIHandler.pm line 127
eval {…} at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/CGIHandler.pm line
127

HTML::Mason::CGIHandler::_handler('HTML::Mason::CGIHandler=HASH(0x99

af8c8)’,
‘HASH(0xa2769dc)’) called at
/usr/lib/perl5/site_perl/5.8.5/HTML/Mason/CGIHandler.pm line 76

HTML::Mason::CGIHandler::handle_cgi_object('HTML::Mason::CGIHandler=

HASH(0x9 9af8c8)’, ‘CGI::Fast=HASH(0xa1cd504)’) called at
/opt/rt3/bin/mason_handler.fcgi line 76 eval {…} at
/opt/rt3/bin/mason_handler.fcgi line 76


http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

Community help: http://wiki.bestpractical.com Commercial support:
sales@bestpractical.com

Discover RT’s hidden secrets with RT Essentials from
O’Reilly Media.

Buy a copy at http://rtbook.bestpractical.com

We’re hiring! Come hack Perl for Best Practical:
http://bestpractical.com/about/jobs.html


http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

Community help: http://wiki.bestpractical.com Commercial support:
sales@bestpractical.com

Discover RT’s hidden secrets with RT Essentials from O’Reilly Media.
Buy a copy at http://rtbook.bestpractical.com

We’re hiring! Come hack Perl for Best Practical:
http://bestpractical.com/about/jobs.html


Best regards, Ruslan.

Best regards, Ruslan.