[request-tracker-maintainers] Bug#498692: request-tracker3.6: hangs when displaying merged tickets

Niko Tyni ntyni at debian.org
Sat Sep 13 06:23:05 UTC 2008


clone 498692 -1
reassign -1 perl 5.10.0-13
retitle -1 Sys::Syslog slowness
block 498692 with -1
severity -1 important
tag -1 fixed-upstream
forwarded -1 http://rt.cpan.org/Public/Bug/Display.html?id=34753
# no need to block the testing migration
found 498692 3.6.7-2
thanks

On Fri, Sep 12, 2008 at 03:59:07PM +0300, Niko Tyni wrote:
> On Fri, Sep 12, 2008 at 12:19:11PM +0200, Ansgar Burchardt wrote:
> > Package: request-tracker3.6
> > Version: 3.6.7-3
> > Severity: grave
> > Justification: renders package unusable
> > 
> > I am using request-tracket3.6 with Apache 2 (FastCGI), Postfix and Postgres
> > backend.  When trying to display a merged ticket, RT's FastCGI process
> > just hangs.  This results in RT no longer being accessible over the Web
> > interface at all.
> 
> >     Sep 12 11:37:46 bistromathics RT: We found a merged ticket.124/123
> >     Sep 12 11:38:52 bistromathics last message repeated 177 times

> I can't reproduce this here. The number of syslog messages is certainly
> excessive, and the ticket display takes a bit longer than I would expect
> (five seconds or so), but it does work for me.

Ah, the problem is that the Sys::Syslog version bundled with Perl
5.10 can only log about 4 messages per second to a unix socket. See
[rt.cpan.org #34753]:

 http://rt.cpan.org/Public/Bug/Display.html?id=34753

The quick fix is to install the separate libsys-syslog-perl package,
which has a fixed version, or raise the logging priority ($LogToSyslog)
from 'debug' in RT_SiteConfig.pm. Please let me know if this fixes the
hang for you or if there's something else than this slowness going on.

> That looks just suboptimal syslogging, it's trying a stream socket
> first and falling back to a datagram one. The question is why it's
> looping there.

I missed the important thing:

> >    select(8, [5], NULL, [5], {0, 250000})  = 0 (Timeout)

The RT::Ticket->Load() function has been called excessively in the
whole 3.6 series for every access control check. It's just the logging
that broke.

Cloning to the perl package; it would be enough to fix the bug there
but let's keep this one open for now in case we need a workaround for
Lenny.
-- 
Niko Tyni   ntyni at debian.org





More information about the pkg-request-tracker-maintainers mailing list