Hi Carl,<br>
<br>
This simple change, courtesy Jesse, solved the "RT hanging" issue for me. I don't use fastcgi. Your mileage may vary.<br>
<br>
In ACE_Overlay.pm, find<br>
<br>
sub Object {<br>
my $self = shift;<br>
<br>
my $appliesto_obj;<br>
<br>
if ($self->__Value('ObjectType') && $OBJECT_TYPES{$self->__Value(
<div id="mb_9">'ObjectType')} ) {<br> $appliesto_obj = $self->__Value('ObjectType')->new($self->CurrentUser);<br> unless (ref( $appliesto_obj) eq $self->__Value('ObjectType')) {<br> return undef;
<br> }<br> $appliesto_obj->Load( $self->__Value('ObjectId') );<br> return ($appliesto_obj);<br> }<br> else {<br> $RT::Logger->warning( "$self -> Object called for an object "
<br> . "of an unknown type:"<br>
. $self->ObjectType );<br> return (undef);<br> }<br>}<br><br><br>remove:<br><br> $RT::Logger->warning( "$self -> Object called for an object "<br> . "of an unknown type:"
<br>
. $self->ObjectType );<br>
<br>
</div>
<br>
<br><br><div><span class="gmail_quote">On 9/13/05, <b class="gmail_sendername">Carl Makin</b> <<a href="mailto:carl@xena.ipaustralia.gov.au">carl@xena.ipaustralia.gov.au</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi Jesse, Peter,<br><br>Jesse Vincent wrote:<br><br>>Peter wrote...<br>><br>><br>>>Easiest way to reproduce: Toggle "Let this user be granted rights".<br>>>Some other administrative tasks also cause it to hang.
<br>>><br>>>Symptoms: Apache child process is using all cpu, slowly eating all memory.<br>>><br>>>Associated rt.log entry is:<br>>>[Mon Sep 12 18:42:07 2005] [warning]: Deep recursion on subroutine
<br>>>"RT::ACE::_Value" at /usr/share/perl5/DBIx/SearchBuilder/Record.pm line 425.<br>>>(/usr/share/request-tracker3.4/lib/RT.pm:277)<br>>><br>>><br>I'm not seeing that particular message although everything else is the same.
<br><br>MySQL was showing heavy traffic but a light load and RT seemed to be<br>executing the following query in a tight loop;<br><br>SELECT * FROM CachedGroupMembers WHERE Disabled = '0' AND GroupId = '4'<br>AND MemberId = '1'
<br><br>This returns an empty set. There are no records in that table with a<br>MemberId of 1.<br><br>When I kill the MySQL thread I get a heap of;<br><br>[Wed Sep 14 00:40:21 2005] [err]: ACE 109 couldn't load its principal
<br>object (/usr/local/rt3/lib/RT/ACE_Overlay.pm:839)<br><br>in rt.log.<br><br>><br>><br>>Ok. Now we're getting somewhere. In RT::ACE::_Value, add a Carp::cluck;<br>><br>>That will tell us _how_ it's recurring. then it should be a 30 second
<br>>fix.<br>><br>><br>[Wed Sep 14 11:28:13 2005] [error] [client <a href="http://10.0.100.18">10.0.100.18</a>] FastCGI: server<br>"/usr/local/rt3/bin/mason_handler.fcgi" stderr:<br>\tDBIx::SearchBuilder::Record::__ANON__('RT::ACE=HASH(0x8cc60a0)')
<br>called at /usr/local/rt3/lib/RT/ACE_Overlay.pm line 815, referer:<br><a href="http://newton/Admin/Users/Modify.html?id=70">http://newton/Admin/Users/Modify.html?id=70</a><br>[Wed Sep 14 11:28:13 2005] [error] [client
<a href="http://10.0.100.18">10.0.100.18</a>] FastCGI: server<br>"/usr/local/rt3/bin/mason_handler.fcgi" stderr:<br>\tRT::ACE::Object('RT::ACE=HASH(0x8cc60a0)') called at<br>/usr/local/rt3/lib/RT/ACE_Overlay.pm line 869, referer:
<br><a href="http://newton/Admin/Users/Modify.html?id=70">http://newton/Admin/Users/Modify.html?id=70</a><br>[Wed Sep 14 11:28:13 2005] [error] [client <a href="http://10.0.100.18">10.0.100.18</a>] FastCGI: server<br>"/usr/local/rt3/bin/mason_handler.fcgi" stderr:
<br>\tRT::ACE::_Value('RT::ACE=HASH(0x8cc60a0)', 'ObjectType') called at<br>/usr/local/lib/perl5/site_perl/5.8.6/DBIx/SearchBuilder/Record.pm line<br>425, referer: <a href="http://newton/Admin/Users/Modify.html?id=70">http://newton/Admin/Users/Modify.html?id=70
</a><br><br>I put the Carp::cluck into the _Value subroutine in ACE_Overlay.pm.<br><br>Is there anything more I can give you?<br><br>Carl.<br><br></blockquote></div><br>