apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rainer Jung <rainer.j...@kippdata.de>
Subject Re: apr 1.4.4 breaks mod_jk
Date Tue, 17 May 2011 22:53:52 GMT
On 18.05.2011 00:30, Mike Jakubik wrote:
> On Wed, 2011-05-18 at 00:07 +0200, Rainer Jung wrote:
>> Thanks for the report. Would you mind opening an issues in Bugzilla? You
>> can choose the Tomcat project and Tomcat Connectors as a component. If
>> it turns out as an APR bug, we can move the issue there later.
>> It would be very helpful, if you could provide thread stacks using
>> pstack or gdb. Please provide a couple of such threads stack outputs.
>> Furthermore, if your MPM is worker, not prefork, it would be helpful if
>> you could check using ps, which of the threads in the process actually
>> consume the CPU. I'm not sure about FreeBSD ps flags, but -H -p ...
>> could be right. This helps us select out the right thread stack.
>> Regards,
>> Rainer
> I can recompile apache to prefork if it will make debugging easier (fyi,
> problem occurs with both worker and prefork MPMs) . Some help with the
> actual debugging would be appreciated, i can use GDB but i don’t know
> how to preform the debugging process.

If you can find pstack, that will be easier. pstack just takes the
process id and writes out the stacks for all threads. My quick search
indicates it pstack should exist for FreeBSD.

GDB allows to also get details on the values of variables used, step
through the code etc. You give gdb two arguments, the path to your httpd
binary and the process ID of the CPU consuming process. Once the gdb
prompt is shown, you can enter

thread apply all bt full

which will output thread and variable information for all threads.

pstack and gdb might produce many lines of output, especially for
worker, so you might want to write the result directly to a file, e.g.

pstack PID > /tmp/pstack.txt

And yes, if the problem also occurs for prefork, then that makes
debugging a bit easier.



View raw message