Description of problem: When calling Bug.get via XMLRPC it never returns and causes httpd on the test server to consume large amount of resources. Somewhere it is getting stuck in endless loop of some kind. If I comment out the following line in extensions/external_bugs/code/get_bug_data.pl it works fine: #$bugref->{'external_bugs'} = extensions::external_bugs::lib::ExternalBugs->new( { bug => $bugref } ); I have temporarily added extensions/external_bugs/disabled to allow us to continue testing. Will need to be removed when we figure out what is wrong. Dave
Created attachment 366097 [details] v1 for fixing problem with endless loop in Bug.get Hi Dave, I was able to fix the problem with the endless loop of Bug.get by adding the line $bug->{external_bugs} = $bug->external_bugs->{bugs}; to Bugzilla/WebService/Bug.pm similar to what we have in bugzilla.getBugs and also in our 3.2 code we had it for Bug.get. Thanks, Noura
Thanks Noura. I am going to hold off on this review as I got the idea to rewrite the External Bugs code completely today as I was never really happy with my old implementation. The new one is more clean and more compliant with normal Bugzilla objects. I am almost done and will show what I have tomorrow. So the patch you made will probably need changing as well. Also as a side note. I am making quite a bit of changes to the hook naming that we currently use which will touch quite a few files. I am also removing hooks that we created ourselves that are not longer needed as upstream has added more. Thanks Dave
Hey Dave, This seems to be working with your new external_bugs code. and the testcase t/400_webservice_bug_get_bugs.t passes successfully. Thanks, Noura
Closing as this should be better now.