php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #17931 Segfault when passing array as second arg to xslt_set_error_handler
Submitted: 2002-06-23 05:36 UTC Modified: 2002-11-01 19:30 UTC
Votes:4
Avg. Score:5.0 ± 0.0
Reproduced:4 of 4 (100.0%)
Same Version:3 (75.0%)
Same OS:4 (100.0%)
From: marcel at beerta dot de Assigned:
Status: Closed Package: XSLT related
PHP Version: 4.2.1 OS: Linux
Private report: No CVE-ID: None
 [2002-06-23 05:36 UTC] marcel at beerta dot de
I get a segfault if i want to pass an array with $object,'method' as second arg to xslt_set_error_handler.

the line looks like this:
xslt_set_error_handler($this->_parser, array($this,'xslt_trap_error') ); 

Backtrace:
#0  0x401f594a in __morecore () from /lib/libc.so.6
#1  0x401f5950 in __morecore () from /lib/libc.so.6
#2  0x40452b22 in Situation::message () from /usr/lib/libsablot.so.0
#3  0x404487da in Processor::report () from /usr/lib/libsablot.so.0
#4  0x4044749c in Processor::setHandler () from /usr/lib/libsablot.so.0
#5  0x4044cb6c in SablotUnregHandler () from /usr/lib/libsablot.so.0
#6  0x403870b0 in free_processor (rsrc=Cannot access memory at address 0x21
) at sablot.c:617
Cannot access memory at address 0x1

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2002-06-23 05:49 UTC] boris at mediatis dot de
Same on PHP 4.1.1, 4.2.1, 4.3.0-dev
all tested with sablot 0.90 on debian 2.2
 [2002-06-24 04:28 UTC] sniper@php.net
reclassified
 [2002-07-04 16:53 UTC] msopacua at idg dot nl
Hi,

could you verify if it works with current Sablot CVS version?
See:
http://www.gingerall.cz/charlie/ga/xml/p_sab.xml

for details on anoncvs access.

This version works for me, and is actually the same bug as #17791.
 [2002-07-05 14:59 UTC] marcel at beerta dot de
After installation of the Sablot-CVS my PHP (cli version) doesn't compile anymore. Tested with 4.2.1 and 4.3.0-dev ... 
Here's the error:
/usr/bin/ld: warning: libpng.so.2, needed by /usr/lib/libgd.so, may conflict with libpng.so.3
/usr/lib/libsablot.so: undefined reference to `ios virtual table'
/usr/lib/libsablot.so: undefined reference to `fstreambase::fstreambase(int)'
/usr/lib/libsablot.so: undefined reference to `istream::ios virtual table'
/usr/lib/libsablot.so: undefined reference to `istream::getline(char *, int, char)'
/usr/lib/libsablot.so: undefined reference to `ifstream::~ifstream(void)'
/usr/lib/libsablot.so: undefined reference to `fstreambase::open(char const *, int, int)'
/usr/lib/libsablot.so: undefined reference to `ifstream::ios virtual table'
collect2: ld returned 1 exit status
make: *** [sapi/cli/php] Error 1
 [2002-07-05 15:50 UTC] marcel at beerta dot de
Ah, forgot some more
Just compiled it without cli and now i get the following error:

Starting web server: apache
Cannot load /usr/lib/apache/1.3/libphp4.so into server: /usr/lib/libsablot.so.0: undefined symbol: __vt_3ios
failed
 [2002-08-25 05:43 UTC] boris at gamate dot com
Recently I downloaded Sablot 0.95 and the two patches ( One for sablot itself and one for PHP ( sablot.c ))

It's absolutely the same result. Nothing works.
 [2002-10-03 13:42 UTC] msopacua@php.net
ifstream should be in your stdc++ lib.
If you use:
LDFLAGS='-lstdc++' ./configure [your flags here]

does that help?

Here's what I get on my stdc++ lib:
$ nm /usr/lib/libstdc++.so | grep vt_3
00036238 D __vt_3ios




 [2002-10-19 01:00 UTC] php-bugs at lists dot php dot net
No feedback was provided for this bug for over 2 weeks, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
 [2002-11-01 19:30 UTC] msopacua@php.net
This bug has been fixed in CVS.

In case this was a PHP problem, snapshots of the sources are packaged
every three hours; this change will be in the next snapshot. You can
grab the snapshot at http://snaps.php.net/.
 
In case this was a documentation problem, the fix will show up soon at
http://www.php.net/manual/.

In case this was a PHP.net website problem, the change will show
up on the PHP.net site and on the mirror sites in short time.
 
Thank you for the report, and for helping us make PHP better.

It's fixed in the current version and there's a testcase for this as well: bug17931.phpt
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Apr 18 13:01:27 2024 UTC