ID:               33190
 Updated by:       [EMAIL PROTECTED]
 Reported By:      php dot bugs at jamie-thompson dot co dot uk
-Status:           Open
+Status:           Bogus
 Bug Type:         XSLT related
 Operating System: Debian Sarge
 PHP Version:      4.3.10
 New Comment:

And you're sure it's not bug in Sablotron?
I'm having a bit hard time believing this is anything genuine since
your configure line won't produce a PHP with xslt support..and the lack
of the example PHP script makes it also pretty hard to reproduce. Report
to the sablotron people, they maintain the extension too.. (which, btw.
will not exist in PHP 5)



Previous Comments:
------------------------------------------------------------------------

[2005-05-30 20:25:28] php dot bugs at jamie-thompson dot co dot uk

Description:
------------
I'm using external xml files to populate a select control. As XSLT 1.0
doesn't allow arbitray node-sets, I load these from external documents
using the document() function. One file contains the actual data, the
other contains a wildcard entry. I want to union these nodesets and use
the result to populate the control.

This works fine with Firefox's Transformiix engine, but Sablotron seems
to dislike the union operator immensely when used on external data, E.g.
merging a local nodeset with an external one causes a lockup, as does
merging two identical exterbal nodesets (though only from different
sources).

Info:
-----
I am using Debian Sarge, with fully updated packages as of 30/05/05,
currently that's PHP 4.3.10-15 and Apache 2.0.54-4.

Here's the configure line from phpinfo():
'../configure' '--prefix=/usr' '--with-apxs2=/usr/bin/apxs2'
'--with-config-file-path=/etc/php4/apache2' '--enable-memory-limit'
'--disable-debug' '--with-regex=php' '--disable-rpath'
'--disable-static' '--with-pic' '--with-layout=GNU'
'--with-pear=/usr/share/php' '--enable-calendar' '--enable-sysvsem'
'--enable-sysvshm' '--enable-sysvmsg' '--enable-track-vars'
'--enable-trans-sid' '--enable-bcmath' '--with-bz2' '--enable-ctype'
'--with-db4' '--with-iconv' '--enable-exif' '--enable-filepro'
'--enable-ftp' '--with-gettext' '--enable-mbstring'
'--with-pcre-regex=/usr' '--enable-shmop' '--enable-sockets'
'--enable-wddx' '--disable-xml' '--with-expat-dir=/usr' '--with-xmlrpc'
'--enable-yp' '--with-zlib' '--without-pgsql' '--with-kerberos=/usr'
'--with-openssl=/usr' '--with-zip=/usr' '--enable-dbx'
'--with-mime-magic=/usr/share/misc/file/magic.mime'
'--with-exec-dir=/usr/lib/php4/libexec' '--without-mm'
'--without-mysql' '--without-sybase-ct'



Reproduce code:
---------------
I have attempted to cobble together some testcases, these can be found
at:

http://random.jamie-thompson.co.uk/sablotron/bug.xsl
http://random.jamie-thompson.co.uk/sablotron/bug1.xml
http://random.jamie-thompson.co.uk/sablotron/bug2.xml
http://random.jamie-thompson.co.uk/sablotron/bug1clone.xml

The xsl file is single-source file, (a stylesheet wrapped in an xml
wrapper so as to be able to include arbitray local nodesets for
testing), which loads the xml files using the document function.

In the xsl file's main template you will find a number of tests, with
those that cause lock-ups commented out. These scenarios are:

* performing a union of two external nodesets. This seems to work,
sometimes. It started working in my testcase at some indeterminate
point, however it still causes lockups in my actual code.
* performing a union of an external xml file with a local node set.
This causes Sablotron to lock up
* performing a union of an external xml file with another containing
the same node set. This also causes Sablotron to lock up

Expected result:
----------------
I expect to get the union of the two node sets without a lockup
occurring.

Firefox's output with all of the tests enabled is:
one:
equipment
list
item
equipment
id
0
name
Any Equipment

two:
equipment
list
item
equipment
id
1
name
More Equipment

local:
random
hi
random
woo

remote 1:
equipment
list
item
equipment
id
0
name
Any Equipment

remote 2:
equipment
list
item
equipment
id
1
name
More Equipment

dual remote:
list
item
equipment
id
1
name
More Equipment
list
item
equipment
id
0
name
Any Equipment

single remote and local:
random
hi
equipment
list
item
equipment
id
0
name
Any Equipment

clone remote:
equipment
list
item
equipment
id
0
name
Any Equipment
equipment
list
item
equipment
id
0
name
Any Equipment



Actual result:
--------------
With logging turned on, I get this:
Sablotron Message on line none, level log: Parsing
'file:///var/www/random/sablotron/bug.xsl'...
Sablotron Message on line none, level log: Parse done in 0.042 seconds
Sablotron Message on line none, level log: Parsing
'file:///var/www/random/sablotron/bug.xsl'...
Sablotron Message on line none, level log: Parse done in 0.015 seconds
Sablotron Message on line none, level log: Executing stylesheet
'file:///var/www/random/sablotron/bug.xsl'...
Sablotron Message on line none, level log: Parsing
'file:///var/www/random/sablotron/bug1.xml'...
Sablotron Message on line none, level log: Parse done in 0.003 seconds
Sablotron Message on line none, level log: Parsing
'file:///var/www/random/sablotron/bug2.xml'...
Sablotron Message on line none, level log: Parse done in 0.002 seconds
Sablotron Message on line none, level log: Parsing
'file:///var/www/random/sablotron/bug1clone.xml'...
Sablotron Message on line none, level log: Parse done in 0.002 seconds

...and thats it, the script just times out after using most of the cpu
for the duration.


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=33190&edit=1

Reply via email to