Bug #48816 [Asn]: IteratorIterator seek() causes bus error
| From: | nikic@php.net | Date: | Fri, 18 Mar 2016 19:33:54 +0000 |
| Subject: | Bug #48816 [Asn]: IteratorIterator seek() causes bus error | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-199928@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=48816&edit=1
ID: 48816
Updated by: nikic@php.net
Reported by: kim at burgestrand dot se
Summary: IteratorIterator seek() causes bus error
Status: Assigned
Type: Bug
Package: SPL related
Operating System: Mac OS 10.5.7
PHP Version: 5.3.0
Assigned To: colder
Block user comment: N
Private report: N
New Comment:
Closing, as per previous comment this is fixed already.
Previous Comments:
------------------------------------------------------------------------
[2013-11-19 13:14:28] arjen at react dot com
Bus error (segmentation fault) fixed since 5.3.16/5.4.6 (see http://3v4l.org/FTIYK)
This is a duplicate of https://bugs.php.net/bug.php?id=62616
------------------------------------------------------------------------
[2012-05-11 01:55:34] simon at welsh dot co dot nz
I am still getting a bus error with PHP 5.4, using a current git version. I am
calling count() on the IteratorIterator.
Reproduce code:
<?php
$it = new IteratorIterator(new ArrayIterator(array()));
var_dump($it->count());
I would expect a PHP Fatal error: Call to undefined method
ArrayIterator::count(), as there is no mention of methods being passed off to the
underlying Traversable object.
------------------------------------------------------------------------
[2010-11-14 14:19:31] felipe@php.net
I can reproduce it on 5.3-SVN.
==3389== Invalid read of size 4
==3389== at 0x8291199: spl_dual_it_free (spl_iterators.c:1460)
==3389== by 0x8291653: spl_dual_it_next (spl_iterators.c:1526)
==3389== by 0x8291619: zim_spl_dual_it_next (spl_iterators.c:1616)
==3389== by 0x84E841C: zend_do_fcall_common_helper_SPEC (zend_vm_execute.h:316)
==3389== by 0x84E95E3: ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER (zend_vm_execute.h:421)
==3389== by 0x84E7101: execute (zend_vm_execute.h:107)
==3389== by 0x84B54ED: zend_execute_scripts (zend.c:1194)
==3389== by 0x8427201: php_execute_script (main.c:2265)
==3389== by 0x8598D70: main (php_cli.c:1193)
==3389== Address 0x6 is not stack'd, malloc'd or (recently) free'd
==3389==
==3389== Process terminating with default action of signal 11 (SIGSEGV)
==3389== Access not within mapped region at address 0x6
==3389== at 0x8291199: spl_dual_it_free (spl_iterators.c:1460)
==3389== by 0x8291653: spl_dual_it_next (spl_iterators.c:1526)
==3389== by 0x8291619: zim_spl_dual_it_next (spl_iterators.c:1616)
==3389== by 0x84E841C: zend_do_fcall_common_helper_SPEC (zend_vm_execute.h:316)
==3389== by 0x84E95E3: ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER (zend_vm_execute.h:421)
==3389== by 0x84E7101: execute (zend_vm_execute.h:107)
==3389== by 0x84B54ED: zend_execute_scripts (zend.c:1194)
==3389== by 0x8427201: php_execute_script (main.c:2265)
==3389== by 0x8598D70: main (php_cli.c:1193)
------------------------------------------------------------------------
[2010-06-04 16:43:17] jan-phpbug at kantert dot net
I can reproduce the problem in stock Ubuntu 10.04 lucid on 86_64/amd64. PHP 5.3.2-1ubuntu4.2.
Results in a segmentation fault! We experienced similar problems with iterators at other points in
our code.
------------------------------------------------------------------------
[2009-07-06 15:56:27] kim at burgestrand dot se
I compiled PHP 5.2.10 (configure command: './configure'
'--with-mysql=/usr/local/mysql'
'--with-mysqli=/usr/local/mysql/bin/mysql_config' '--enable-mbstring'
'--with-curl=/usr' '--enable-sockets'
'--with-libxml-dir=/opt/local/include/libxml2/libxml'
'--with-pdo-mysql=shared,/usr/local/mysql' '--with-iconv=shared,/opt/local'
'--with-apxs2' '--with-config-file-path=/etc/php'
'--with-config-file-scan-dir=/etc/php/conf.d') and tested the code.
No out of bounds exceptions, and the output was consistent:
int(0)
int(1)
------------------------------------------------------------------------
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=48816
--
Edit this bug report at https://bugs.php.net/bug.php?id=48816&edit=1