Edit report at https://bugs.php.net/bug.php?id=67584&edit=1
ID: 67584
User updated by: marcus at synchromedia dot co dot uk
Reported by: marcus at synchromedia dot co dot uk
Summary: Misleading error in pecl_http 2.0.x
Status: Assigned
Type: Bug
Package: HTTP related
Operating System: OS X
PHP Version: 5.4.30
Assigned To: mike
Block user comment: N
Private report: N
New Comment:
That doesn't quite work - it's assuming the includes are in the ext/ folder under a PHP
source tree, not built independently. I worked around that by making an ext folder containing a
symlink back to its parent folder and then it found them ok, but then it fails with this error,
which seems unrelated:
/Users/marcus/Sites/pecl_http/php_http_params.c:714:5: error: use of undeclared identifier
'HASH_KEY_NON_EXISTENT'
&& HASH_KEY_NON_EXISTENT != (key.type = zend_hash_get_current_key_ex(ht,
&key.str, &key.len, &key.num, key.dup, NULL))
^
1 error generated.
make: *** [php_http_params.lo] Error 1
`make' failed
Previous Comments:
------------------------------------------------------------------------
[2014-07-10 12:06:47] mike@php.net
Doh. You could try with a CFLAGS env like:
CFLAGS="-I/usr/local/Cellar/php54-raphf/1.0.4/include
-I/usr/local/Cellar/php54-propro/1.0.0/include" pecl build
------------------------------------------------------------------------
[2014-07-08 15:39:42] marcus at synchromedia dot co dot uk
I've managed to grab your latest code from the git repo, but I don't know how to tell it
where to find the raphf header files so it's failing when I do a 'pecl build'. I
installed raphf and propro from source via homebrew, so their header files are in
/usr/local/Cellar/php54-raphf/1.0.4/include and /usr/local/Cellar/php54-propro/1.0.0/include.
------------------------------------------------------------------------
[2014-07-08 11:02:11] marcus at synchromedia dot co dot uk
I'll have a go with a fresh build.
I just tried a few variations on the breakpoint. The segfault happens when I set a breakpoint on the
'$url = ...' line. I run the script in debug mode - it echoes the first class name, then
quits with an error 139, which is a segfault. I'm running xdebug 2.2.5 in PHP 5.4.30 built from
homebrew on OS X 10.9.4.
Without the breakpoint, it does not segfault and completes successfully.
------------------------------------------------------------------------
[2014-07-08 10:23:16] mike@php.net
I forgot to answer the question about the originating request:
The response has its request as parent message:
$request = $response->getParentMessage();
------------------------------------------------------------------------
[2014-07-08 10:21:01] mike@php.net
Disregard the exception behavior I gave before, it seems I tripped over old memory.
$response->getTransferInfo("error") should contain the same information like the
exception message.
I committed a fix for the uninitialized response object to R_2_0 and master. Could you try one of
those?
Do you mean that "get_class($response);" segfaults with XDebug?
I'll have a look! What's your XDebug version=?
------------------------------------------------------------------------
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
https://bugs.php.net/bug.php?id=67584
--
Edit this bug report at https://bugs.php.net/bug.php?id=67584&edit=1