#27811 [Fbk->Opn]: Segmentation fault when xml_parse() used
| From: | andrei at vinchi dot ru | Date: | Thu, 01 Apr 2004 06:52:02 +0000 |
| Subject: | #27811 [Fbk->Opn]: Segmentation fault when xml_parse() used | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-57292@lists.php.net to get a copy of this message | ||
ID: 27811
User updated by: andrei at vinchi dot ru
Reported By: andrei at vinchi dot ru
-Status: Feedback
+Status: Open
Bug Type: *XML functions
Operating System: Red Hat 7.2, SlackWare 9.0
PHP Version: 4.3.5
New Comment:
I've just tried latest PHP snapshot too and see that the problem still
present. In the gdb the same line 1747 of file
php4-STABLE-200404010630/ext/xml/expat/xmltok_impl.c produce crash.
Previous Comments:
------------------------------------------------------------------------
[2004-03-31 14:09:04] iliaa@php.net
Please try using this CVS snapshot:
http://snaps.php.net/php4-STABLE-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php4-win32-STABLE-latest.zip
I've just tried latest PHP snapshot and I do not see a
crash. However I do see XML errors after entry #19
which appear like this: XML parse error on 121 in 905
------------------------------------------------------------------------
[2004-03-31 14:04:55] andrei at vinchi dot ru
Description:
------------
xml_parse() function is using in script that parse xml data containing
some " " strings. At this string it report an error, but after
script is die and Apache process crash with notice in error_log:
"[notice] child pid 27456 exit signal Segmentation Fault (11)".
Config line: ./configure --prefix=/opt/php
--with-apache=/usr/src/apache_1.3.27rusPL30.16 --with-zlib --with-bz2
--enable-bcmath --enable-calendar --with-readline --enable-exif
--enable-wddx --enable-dba --with-gdbm --with-dbase --with-system-regex
--with-mod_charset --with-pgsql=/usr/local/PostgreSQL
--with-mysql=/usr/local/MySQL --enable-safe-mode --enable-track-vars
--enable-memory-limit --disable-short-tags --disable-display-source
--with-gd --enable-gd-native-ttf --with-freetype-dir --with-jpeg-dir
--with-png-dir --with-xpm-dir --with-debug
gdb:
Program received signal SIGSEGV, Segmentation fault.
normal_updatePosition (enc=0x815edc0,
ptr=0x821ca78 "ONTENT-DATA-175 CONTENT-DATA-176 CONTENT-DATA-177
CONTENT-DATA-178 CONTENT-DATA-179 CONTENT-DATA-180 CONTENT-DATA-181
CONTENT-DATA-182 CONTENT-DATA-183 CONTENT-DATA-184 CONTENT-DATA-185
CONTENT-DATA-1"...,
end=0x821ada0
" DESCRIPTION-1 DESCRIPTION-2 DESCRIPTION-3 DESCRIPTION-4 DESCRIPTION-5 DESCRIPTION-6 DESCRIPTION-7 DESCRIPTION-8 DESCRIPTION-9 DESCRIPTION-10 DES"...,
pos=0x82144f0)
at /andrei/php/build/php-4.3.5/ext/xml/expat/xmltok_impl.c:1747
1747 switch (BYTE_TYPE(enc, ptr)) {
(gdb)
Reproduce code:
---------------
1. http://na.vinchi.ru/mkfaultdata.php.txt
This script must be used for creating "bad.dat" file. It contain xml
data for parsing by second script that produce crash.
2. http://na.vinchi.ru/xml-crash.php.txt
Expected result:
----------------
The script must output 50 lines like this: "Indexing:
news_view.php?id=1". Last number changed from 1 to 50.
Actual result:
--------------
Indexing: news_view.php?id=1
... cuted ...
Indexing: news_view.php?id=19
XML parse error on 121 in 298
After that script and process dies.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=27811&edit=1