Deep recursion on subroutine "RT::Tickets::Next" on 4.0.1

I am seeing a repeated error on an RT 4.0.1 instance that was upgraded from 3.8.8. The error appears whenever the GUI is used as best I can tell. Here is the error, which is identical every time:

RT: Deep recursion on subroutine “RT::tickets::Next” at /opt/rt4/sbin/…/lib/RT/Tickets.pm line 2950. (/opt/rt4/sbin/…/lib/RT/Tickets.pm:2950)

I searched the list archives for similar errors, and I came up with this:

http://www.gossamer-threads.com/lists/rt/users/103917

The problem seems different in this case.

The action in Tickets.pm that’s throwing this error is: “return $self->Next;” on line 2950.

This is RT 4.0.1 on Centos 5 with Apache 2.2.3, and mod_perl.

Does anyone have any idea on this one?

I am seeing a repeated error on an RT 4.0.1 instance that was upgraded from 3.8.8. The error appears whenever the GUI is used as best I can tell. Here is the error, which is identical every time:

We’ve got a number of upgraded instances without this issue.
Do you have local customizations?
Do you have a full stacktrace?

-kevin

Hi,

Do you use UseSQLForACLChecks option? Can it be that a search for
tickets on a page finds a lot of tickets user can not see?On Mon, Aug 15, 2011 at 7:58 PM, Chris McCafferty cjm@ias.edu wrote:

I am seeing a repeated error on an RT 4.0.1 instance that was upgraded from 3.8.8. The error appears whenever the GUI is used as best I can tell. Here is the error, which is identical every time:

RT: Deep recursion on subroutine “RT::tickets::Next” at /opt/rt4/sbin/…/lib/RT/Tickets.pm line 2950. (/opt/rt4/sbin/…/lib/RT/Tickets.pm:2950)

I searched the list archives for similar errors, and I came up with this:

http://www.gossamer-threads.com/lists/rt/users/103917

The problem seems different in this case.

The action in Tickets.pm that’s throwing this error is: “return $self->Next;” on line 2950.

This is RT 4.0.1 on Centos 5 with Apache 2.2.3, and mod_perl.

Does anyone have any idea on this one?

RT Training Sessions (http://bestpractical.com/services/training.html)

  • Chicago, IL, USA September 26 & 27, 2011
  • San Francisco, CA, USA October 18 & 19, 2011
  • Washington DC, USA October 31 & November 1, 2011
  • Melbourne VIC, Australia November 28 & 29, 2011
  • Barcelona, Spain November 28 & 29, 2011

Best regards, Ruslan.

Ruslan,

Thank you for the reply. UseSQLForACLChecks set to 1 removes the error.

The team Dashboards all have the “X newest unowned tickets” search, and yes, there are some queues with new tickets this user cannot see. There may be many tickets the user cannot see because of permissions.

Is it ideal to leave UseSQLForACLChecks in place? If not, is there an alternative?On Aug 15, 2011, at 1:08 PM, Ruslan Zakirov wrote:

Hi,

Do you use UseSQLForACLChecks option? Can it be that a search for
tickets on a page finds a lot of tickets user can not see?

On Mon, Aug 15, 2011 at 7:58 PM, Chris McCafferty cjm@ias.edu wrote:

I am seeing a repeated error on an RT 4.0.1 instance that was upgraded from 3.8.8. The error appears whenever the GUI is used as best I can tell. Here is the error, which is identical every time:

RT: Deep recursion on subroutine “RT::tickets::Next” at /opt/rt4/sbin/…/lib/RT/Tickets.pm line 2950. (/opt/rt4/sbin/…/lib/RT/Tickets.pm:2950)

I searched the list archives for similar errors, and I came up with this:

http://www.gossamer-threads.com/lists/rt/users/103917

The problem seems different in this case.

The action in Tickets.pm that’s throwing this error is: “return $self->Next;” on line 2950.

This is RT 4.0.1 on Centos 5 with Apache 2.2.3, and mod_perl.

Does anyone have any idea on this one?

RT Training Sessions (http://bestpractical.com/services/training.html)

  • Chicago, IL, USA September 26 & 27, 2011
  • San Francisco, CA, USA October 18 & 19, 2011
  • Washington DC, USA October 31 & November 1, 2011
  • Melbourne VIC, Australia November 28 & 29, 2011
  • Barcelona, Spain November 28 & 29, 2011


Best regards, Ruslan.

Kevin,

Our single local customization is this:

cat local/html/Callbacks/stuff/Search/Simple.html/ModifyQuery

<%init>
#active is the default: open new stalled
$$query =~ s/\bany\b/new open resolved stalled rejected deleted/i;
$$query =~ s/\bclosed\b/resolved rejected deleted/i;
</%init>

<%args>
$query => undef
</%args>

There is no stack trace, or any apparent error in the GUI. Do you want me to generate a trace?On Aug 15, 2011, at 12:46 PM, Kevin Falcone wrote:

On Mon, Aug 15, 2011 at 11:58:00AM -0400, Chris McCafferty wrote:

I am seeing a repeated error on an RT 4.0.1 instance that was upgraded from 3.8.8. The error appears whenever the GUI is used as best I can tell. Here is the error, which is identical every time:

We’ve got a number of upgraded instances without this issue.
Do you have local customizations?
Do you have a full stacktrace?

-kevin

RT: Deep recursion on subroutine “RT::tickets::Next” at /opt/rt4/sbin/…/lib/RT/Tickets.pm line 2950. (/opt/rt4/sbin/…/lib/RT/Tickets.pm:2950)

I searched the list archives for similar errors, and I came up with this:

http://www.gossamer-threads.com/lists/rt/users/103917

The problem seems different in this case.

The action in Tickets.pm that’s throwing this error is: “return $self->Next;” on line 2950.

This is RT 4.0.1 on Centos 5 with Apache 2.2.3, and mod_perl.

Does anyone have any idea on this one?

RT Training Sessions (http://bestpractical.com/services/training.html)

  • Chicago, IL, USA September 26 & 27, 2011
  • San Francisco, CA, USA October 18 & 19, 2011
  • Washington DC, USA October 31 & November 1, 2011
  • Melbourne VIC, Australia November 28 & 29, 2011
  • Barcelona, Spain November 28 & 29, 2011

RT Training Sessions (http://bestpractical.com/services/training.html)

  • Chicago, IL, USA ˜ September 26 & 27, 2011
  • San Francisco, CA, USA ˜ October 18 & 19, 2011
  • Washington DC, USA ˜ October 31 & November 1, 2011
  • Melbourne VIC, Australia ˜ November 28 & 29, 2011
  • Barcelona, Spain ˜ November 28 & 29, 2011

Is it ideal to leave UseSQLForACLChecks in place? If not, is there an alternative?

It’s good that it helps. RT shows better numbers, paging of searches
is better as well with this option enabled. If you don’t see terrible
slow down after switch then you’re ok.

Best regards, Ruslan.