Edit report at http://bugs.php.net/bug.php?id=53844&edit=1
ID: 53844
Comment by: r at rcrowley dot org
Reported by: r at rcrowley dot org
Summary: PHP built from source on Solaris gets SIGSEGV with
libiconv
Status: Open
Type: Bug
Package: ICONV related
Operating System: Solaris
PHP Version: 5.3.5
Block user comment: N
Private report: N
New Comment:
This problem is not limited to one odd Joyent SmartMachine. The problem
exists on
several not quite identical machines.
Previous Comments:
------------------------------------------------------------------------
[2011-01-26 08:48:40] r at rcrowley dot org
Description:
------------
With PHP built from source on a Joyent SmartMachine and using the
operating
system's libiconv, simple uses of the PHP iconv function result in
SIGSEGV.
PHP builds without (related) warnings and is linked to the libiconv
shared
library:
[root@gnp2b7ak ~]# ldd $(which php) | grep iconv
libiconv.so.2 => /opt/local/lib/libiconv.so.2
[root@gnp2b7ak ~]#
We're using the following configuration:
./configure \
--disable-ctype \
--disable-dom \
--disable-fileinfo \
--disable-flatfile \
--disable-inifile \
--disable-ipv6 \
--disable-memcache-session \
--disable-phar \
--disable-posix \
--disable-session \
--disable-simplexml \
--disable-xmlwriter \
--enable-mbstring \
--enable-memcache \
--host=i386-sun-solaris2 \
--mandir=/opt/local/man \
--prefix=/opt/local \
--with-apxs2=/opt/local/apache2/bin/apxs \
--with-config-file-path=/opt/local/etc \
--with-curl \
--with-gd \
--with-jpeg-dir=/opt/local \
--with-libxml-dir=/opt/local \
--with-mcrypt \
--with-mysql=mysqlnd \
--with-openssl=/opt/local \
--with-iconv \
--without-pdo-sqlite \
--without-sqlite \
--without-sqlite3 \
--with-pdo-mysql=mysqlnd \
--with-pear \
--with-png-dir=/opt/local \
--with-regex=system \
--with-zlib \
--with-zlib-dir=/usr
Test script:
---------------
php -r 'echo iconv("UTF-8", "UTF-8", "Hello, world.\n");'
Expected result:
----------------
[root@gnp2b7ak ~]# php -r 'echo iconv("UTF-8", "UTF-8", "Hello,
world.\n");'
Hello, world.
[root@gnp2b7ak ~]#
Actual result:
--------------
[root@gnp2b7ak ~]# php -r 'echo iconv("UTF-8", "UTF-8", "Hello,
world.\n");'
Segmentation Fault (core dumped)
[root@gnp2b7ak ~]#
Note that the iconv(1) program works fine:
[root@gnp2b7ak ~]# echo "Hello, world." | /opt/local/bin/iconv -f UTF-8
-t UTF-8
Hello, world.
[root@gnp2b7ak ~]#
(gdb) bt
#0 0xec835356 in ?? ()
#1 0xfe8d68ab in iconv () from /lib/libc.so.1
#2 0x08156b59 in php_iconv_string (in_p=0x860d478 "Hello, world.\n",
in_len=14,
out=0x80475c0, out_len=0x80475c4, out_charset=0x860d44c "UTF-8",
in_charset=0x860e8f4 "UTF-8") at /tmp/tmp.qsay1T/php-
5.3.4/ext/iconv/iconv.c:501
#3 0x08159b1c in php_if_iconv (ht=3, return_value=0x860d490,
return_value_ptr=0x0, this_ptr=0x0, return_value_used=1)
at /tmp/tmp.qsay1T/php-5.3.4/ext/iconv/iconv.c:2327
#4 0x082d4cfa in zend_do_fcall_common_helper_SPEC
(execute_data=0x8746430) at
zend_vm_execute.h:316
#5 0x082d3d79 in execute (op_array=0x860d378) at zend_vm_execute.h:107
#6 0x082a7429 in zend_eval_stringl (str=0x8047d0b "echo
iconv(\"UTF-8\", \"UTF-
8\", \"Hello, world.\\n\");", str_len=48, retval_ptr=0x0,
string_name=0x858210c "Command line code") at /tmp/tmp.qsay1T/php-
5.3.4/Zend/zend_execute_API.c:1193
#7 0x082a75e2 in zend_eval_stringl_ex (str=0x8047d0b "echo
iconv(\"UTF-8\",
\"UTF-8\", \"Hello, world.\\n\");", str_len=48, retval_ptr=0x0,
string_name=0x858210c "Command line code", handle_exceptions=1) at
/tmp/tmp.qsay1T/php-5.3.4/Zend/zend_execute_API.c:1235
#8 0x082a765a in zend_eval_string_ex (str=0x8047580 "\016",
retval_ptr=0x0,
string_name=0x858210c "Command line code", handle_exceptions=1)
at /tmp/tmp.qsay1T/php-5.3.4/Zend/zend_execute_API.c:1246
#9 0x08336c40 in main (argc=3, argv=0x8047c24) at /tmp/tmp.qsay1T/php-
5.3.4/sapi/cli/php_cli.c:1282
(gdb)
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/bug.php?id=53844&edit=1