#50312 [Fbk->Opn]: Opening an https using fopen consumes all cpu time
| From: | kvr at centrum dot cz | Date: | Fri, 27 Nov 2009 18:14:42 +0000 |
| Subject: | #50312 [Fbk->Opn]: Opening an https using fopen consumes all cpu time | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-145131@lists.php.net to get a copy of this message | ||
ID: 50312
User updated by: kvr at centrum dot cz
Reported By: kvr at centrum dot cz
-Status: Feedback
+Status: Open
Bug Type: HTTP related
Operating System: Linux, Debian
PHP Version: 5.3SVN-2009-11-27 (snap)
New Comment:
php (or OpenSSL library) doesn't handle the error code EAGAIN and
instead of waiting for data using select() or poll(), it calls read()
again and again, taking all the cpu time.
Previous Comments:
------------------------------------------------------------------------
[2009-11-27 18:04:20] jani@php.net
Yes, it's the OpenSSL lib doing the read, what's the bug here?
------------------------------------------------------------------------
[2009-11-27 17:56:41] kvr at centrum dot cz
Yes, I tried it exactly as written in your example.
The php version was the latest: ~/iphp/bin/php -v
PHP 5.3.2-dev (cli) (built: Nov 27 2009 17:39:57)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies
Did you check the strace output (or whatever tool your system
provides to trace program syscalls) ? Could you please attach it?
------------------------------------------------------------------------
[2009-11-27 17:48:47] jani@php.net
Well, did you try the short example I provided? That site isn't
exactly "slow" but since you're not providing anything to work with
that's what I tested and that works..
------------------------------------------------------------------------
[2009-11-27 16:57:04] kvr at centrum dot cz
Well, sorry, the URL address was supposed to be replaced with
anything real but preferably slow.
I compiled the php5.3-latest as proposed and the problem is there as
well.
------------------------------------------------------------------------
[2009-11-27 14:31:01] jani@php.net
Unless of course your provided "code" is supposed to work at all?
This works too:
# php -r '$fd = fopen("https://master.php.net/manage/users.php",
"r");'
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/50312
--
Edit this bug report at http://bugs.php.net/?id=50312&edit=1