Bug #65647 [Opn->Fbk]: @list call behaves incorrectly and may cause Segmentation fault (11)
| From: | johannes@php.net | Date: | Tue, 10 Sep 2013 11:11:07 +0000 |
| Subject: | Bug #65647 [Opn->Fbk]: @list call behaves incorrectly and may cause Segmentation fault (11) | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-181510@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=65647&edit=1
ID: 65647
Updated by: johannes@php.net
Reported by: piotr dot m at shwrm dot com
Summary: @list call behaves incorrectly and may cause
Segmentation fault (11)
-Status: Open
+Status: Feedback
Type: Bug
Package: *General Issues
Operating System: Linux / Ubuntu 13.04
PHP Version: 5.5.3
Block user comment: N
Private report: N
New Comment:
Thank you for this bug report. To properly diagnose the problem, we
need a backtrace to see what is happening behind the scenes. To
find out how to generate a backtrace, please read
http://bugs.php.net/bugs-generating-backtrace.php
for *NIX and
http://bugs.php.net/bugs-generating-backtrace-win32.php
for Win32
Once you have generated a backtrace, please submit it to this bug
report and change the status back to "Open". Thank you for helping
us make PHP better.
The above has guidance on creating a backtrace, but please disable Zend Optimizer and XDebug first.
Previous Comments:
------------------------------------------------------------------------
[2013-09-10 10:43:53] piotr dot m at shwrm dot com
No, the problem does not seem to persit when run in CLI mode. The code behaves exactly as it should.
Here's a var_dump(get_loaded_extensions()):
0 => string 'Core' (length=4)
1 => string 'date' (length=4)
2 => string 'ereg' (length=4)
3 => string 'libxml' (length=6)
4 => string 'openssl' (length=7)
5 => string 'pcre' (length=4)
6 => string 'zlib' (length=4)
7 => string 'bcmath' (length=6)
8 => string 'bz2' (length=3)
9 => string 'calendar' (length=8)
10 => string 'ctype' (length=5)
11 => string 'dba' (length=3)
12 => string 'dom' (length=3)
13 => string 'hash' (length=4)
14 => string 'fileinfo' (length=8)
15 => string 'filter' (length=6)
16 => string 'ftp' (length=3)
17 => string 'gettext' (length=7)
18 => string 'SPL' (length=3)
19 => string 'iconv' (length=5)
20 => string 'json' (length=4)
21 => string 'mbstring' (length=8)
22 => string 'session' (length=7)
23 => string 'standard' (length=8)
24 => string 'posix' (length=5)
25 => string 'Reflection' (length=10)
26 => string 'Phar' (length=4)
27 => string 'shmop' (length=5)
28 => string 'SimpleXML' (length=9)
29 => string 'soap' (length=4)
30 => string 'sockets' (length=7)
31 => string 'exif' (length=4)
32 => string 'sysvmsg' (length=7)
33 => string 'sysvsem' (length=7)
34 => string 'sysvshm' (length=7)
35 => string 'tokenizer' (length=9)
36 => string 'wddx' (length=4)
37 => string 'xml' (length=3)
38 => string 'xmlreader' (length=9)
39 => string 'xmlwriter' (length=9)
40 => string 'zip' (length=3)
41 => string 'apache2handler' (length=14)
42 => string 'PDO' (length=3)
43 => string 'curl' (length=4)
44 => string 'imap' (length=4)
45 => string 'memcached' (length=9)
46 => string 'pdo_pgsql' (length=9)
47 => string 'pgsql' (length=5)
48 => string 'readline' (length=8)
49 => string 'redis' (length=5)
50 => string 'mhash' (length=5)
51 => string 'Zend OPcache' (length=12)
52 => string 'xdebug' (length=6)
Unfortunately the coredump does not get created - any ideas on how i might force the generation of
one?
------------------------------------------------------------------------
[2013-09-10 09:52:06] leight+bugs dot php at gmail dot com
Unable to reproduce with 5.5.3 or 5.6.0-dev on Debian 7 or OSX using PHP CLI
(unable to test with Apache at present).
Piotr do you get the same results using the CLI? What other modules do you have
loaded?
A backtrace of the coredump might also be useful.
------------------------------------------------------------------------
[2013-09-10 09:21:08] piotr dot m at shwrm dot com
Description:
------------
Call to @list on an array returned by function_get_args() will incorrectly fill variables (only last
one is filled) 80% of the time and will cause a Segmentation fault (11) on the other 20%.
PHP 5.5.3 run on Apache 2.2.22
Test script:
---------------
function a() {
$opts = func_get_args();
@list($a, $b, $c) = $opts;
var_dump($a, $b, $c);
}
a('1','22', '333');
Expected result:
----------------
string '1' (length=1)
string '22' (length=2)
string '333' (length=3)
Actual result:
--------------
null
null
string '333' (length=3)
Or segfault:
[Tue Sep 10 10:57:46 2013] [notice] child pid 32315 exit signal Segmentation fault (11), possible
coredump in /etc/apache2
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=65647&edit=1