You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apr.apache.org by Henk Fictorie <he...@kpn.com> on 2006/09/18 17:08:50 UTC
APR 0.9.12 causes Apache 2.0.59 to stop responding
Environment: Sun V440 with Solaris 8. Webserver (2.0.55 and 2.0.59) compiled
with gcc 3.3. Both using openssl-0.9.8a. We use the worker MPM and
AcceptMutex set to pthread.
After Apache 2.0.59 was released we tried to upgrade our existing Apache
2.0.55 (mod_rewrite bug)
After a couple of hours the webserver stopped responding, we had to fall
back to Apache 2.0.55.
In our test environment I was able to reproduce this problem.
The culprit seems to be our setting AcceptMutex pthread in combination with
APR 0.9.12
When I compile/use Apache 2.0.59 in combination with the APR 0.9.7
everything works.
Reproduction:
- use pstack to find the process with the listener thread in poll state
- kill -9 that process
- no new process is created by the master process
- webserver stops responding
With APR 0.9.7 after killing the process the main process just creates a new
process and the webserver reacts normally.
Any ideas on what could be wrong, bug in APR 0.9.12?
regards Henk Fictorie
--
View this message in context: http://www.nabble.com/APR-0.9.12-causes-Apache-2.0.59-to-stop-responding-tf2291822.html#a6365459
Sent from the APR Dev (Apache Portable Runtime) mailing list archive at Nabble.com.
Re: APR 0.9.12 causes Apache 2.0.59 to stop responding
Posted by Henk Fictorie <he...@kpn.com>.
I tried your suggestion, it didn't work.
This is what I did:
- cd srclib/apr
- changed configure.in
- ./buildconf
- cd ../..
- cp /usr/local/apache2/build/config.nice .
- ./config.nice
- make
- make install DESTDIR=destdir
- tarred the destdir, copied it over to the testmachine
- performed test
I killed the process which is in the poll state. Pstack looks like this:
----------------- lwp# 3 / thread# 30 --------------------
fed9dbe0 poll (fb007c20, 2, ffffffff)
fec6a8dc poll (d2de8, 2, fb007cac, ffffffff, fb007bd0, 78100) + 34
0002c644 listener_thread (53000, 10, 6f800, 6ec00, 53000, 70000) + 134
fefd4a44 dummy_worker (111158, febc5d38, 0, 5, 1, fe401000) + c
fec6b11c _thread_start (111158, 0, 0, 0, 0, 0) + 40
I don't see any calls to apr-functions in this stacktrace, shouldn't there
be any?
regards Henk Fictorie
William A. Rowe, Jr. wrote:
>
> Henk, I strongly suspect mis-detection of the mutexes. You'll find one
> use of the APR_CHECK_FILE macro in apr/configure.in - try switching this
> to AC_CHECK_FILE and ./buildconf - then configure, build and install
>
> Let us know if this solves your problem. I suspect it will, and is
> already
> part of the planned 0.9.13
>
>
> Henk Fictorie wrote:
>> Environment: Sun V440 with Solaris 8. Webserver (2.0.55 and 2.0.59)
>> compiled
>> with gcc 3.3. Both using openssl-0.9.8a. We use the worker MPM and
>> AcceptMutex set to pthread.
>>
>> After Apache 2.0.59 was released we tried to upgrade our existing Apache
>> 2.0.55 (mod_rewrite bug)
>> After a couple of hours the webserver stopped responding, we had to fall
>> back to Apache 2.0.55.
>>
>> In our test environment I was able to reproduce this problem.
>> The culprit seems to be our setting AcceptMutex pthread in combination
>> with
>> APR 0.9.12
>> When I compile/use Apache 2.0.59 in combination with the APR 0.9.7
>> everything works.
>>
>> Reproduction:
>> - use pstack to find the process with the listener thread in poll state
>> - kill -9 that process
>> - no new process is created by the master process
>> - webserver stops responding
>>
>> With APR 0.9.7 after killing the process the main process just creates a
>> new
>> process and the webserver reacts normally.
>>
>> Any ideas on what could be wrong, bug in APR 0.9.12?
>>
>>
>> regards Henk Fictorie
>>
>
>
>
--
View this message in context: http://www.nabble.com/APR-0.9.12-causes-Apache-2.0.59-to-stop-responding-tf2291822.html#a6483980
Sent from the APR Dev (Apache Portable Runtime) mailing list archive at Nabble.com.
Re: APR 0.9.12 causes Apache 2.0.59 to stop responding
Posted by "William A. Rowe, Jr." <wr...@rowe-clan.net>.
Henk, I strongly suspect mis-detection of the mutexes. You'll find one
use of the APR_CHECK_FILE macro in apr/configure.in - try switching this
to AC_CHECK_FILE and ./buildconf - then configure, build and install
Let us know if this solves your problem. I suspect it will, and is already
part of the planned 0.9.13
Henk Fictorie wrote:
> Environment: Sun V440 with Solaris 8. Webserver (2.0.55 and 2.0.59) compiled
> with gcc 3.3. Both using openssl-0.9.8a. We use the worker MPM and
> AcceptMutex set to pthread.
>
> After Apache 2.0.59 was released we tried to upgrade our existing Apache
> 2.0.55 (mod_rewrite bug)
> After a couple of hours the webserver stopped responding, we had to fall
> back to Apache 2.0.55.
>
> In our test environment I was able to reproduce this problem.
> The culprit seems to be our setting AcceptMutex pthread in combination with
> APR 0.9.12
> When I compile/use Apache 2.0.59 in combination with the APR 0.9.7
> everything works.
>
> Reproduction:
> - use pstack to find the process with the listener thread in poll state
> - kill -9 that process
> - no new process is created by the master process
> - webserver stops responding
>
> With APR 0.9.7 after killing the process the main process just creates a new
> process and the webserver reacts normally.
>
> Any ideas on what could be wrong, bug in APR 0.9.12?
>
>
> regards Henk Fictorie
>
Re: APR 0.9.12 causes Apache 2.0.59 to stop responding
Posted by Garrett Rooney <ro...@electricjellyfish.net>.
On 9/18/06, Henk Fictorie <he...@kpn.com> wrote:
>
> Environment: Sun V440 with Solaris 8. Webserver (2.0.55 and 2.0.59) compiled
> with gcc 3.3. Both using openssl-0.9.8a. We use the worker MPM and
> AcceptMutex set to pthread.
>
> After Apache 2.0.59 was released we tried to upgrade our existing Apache
> 2.0.55 (mod_rewrite bug)
> After a couple of hours the webserver stopped responding, we had to fall
> back to Apache 2.0.55.
>
> In our test environment I was able to reproduce this problem.
> The culprit seems to be our setting AcceptMutex pthread in combination with
> APR 0.9.12
> When I compile/use Apache 2.0.59 in combination with the APR 0.9.7
> everything works.
>
> Reproduction:
> - use pstack to find the process with the listener thread in poll state
> - kill -9 that process
> - no new process is created by the master process
> - webserver stops responding
>
> With APR 0.9.7 after killing the process the main process just creates a new
> process and the webserver reacts normally.
>
> Any ideas on what could be wrong, bug in APR 0.9.12?
This sounds to me like an httpd problem. I'd recommend reporting it
there, and if the httpd developers can determine that APR is at fault
bringing the problem back here so we can do something about it.
-garrett