#13344 [Opn]: sablot bites ext/java (sun jdk 1.3.1 & 1.4)
| From: | chregu@php.net | Date: | Tue, 10 Sep 2002 08:41:52 +0000 |
| Subject: | #13344 [Opn]: sablot bites ext/java (sun jdk 1.3.1 & 1.4) | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-18895@lists.php.net to get a copy of this message | ||
ID: 13344
Updated by: chregu@php.net
Reported By: chregu@php.net
Status: Open
Bug Type: Java related
Operating System: debian unstable
PHP Version: 4.0CVS-2002-09-10
New Comment:
It's maybe clear for everyone, but both (sablotron and libjvm) have
obviously a class called Arena in the global namespace... This class is
not used in the php-source-code, but libjvm.so calls it on destruction
of some compiling stuff.
I'm by no way the compiling, resp c++ expert to resolve this problem,
but maybe someone else has an idea. Would be great :)
chregu
Previous Comments:
------------------------------------------------------------------------
[2002-09-10 02:18:46] chregu@php.net
Just tested with latest CVS and jdk 1.4 and sablotron 0.96. It still
segfaults... with the same bt:
#0 0x40109b00 in free () from /lib/libc.so.6
#1 0x40109aa3 in free () from /lib/libc.so.6
#2 0x403e303f in Arena::dispose () from /usr/lib/libsablot.so.0
#3 0x403e308c in Arena::~Arena () from /usr/lib/libsablot.so.0
#4 0x40c8224c in Compilation::~Compilation () from
/usr/lib/java/jre/lib/i386/client/libjvm.so
#5 0x40c48c8d in Compiler::compile_method () from
/usr/lib/java/jre/lib/i386/client/libjvm.so
#6 0x40c352d9 in CompileBroker::invoke_compiler_on_method ()
from /usr/lib/java/jre/lib/i386/client/libjvm.so
#7 0x40c34db9 in CompileBroker::compiler_thread_loop () from
/usr/lib/java/jre/lib/i386/client/libjvm.so
#8 0x40c06c36 in compiler_thread_entry () from
/usr/lib/java/jre/lib/i386/client/libjvm.so
#9 0x40c0762a in JavaThread::thread_main_inner () from
/usr/lib/java/jre/lib/i386/client/libjvm.so
#10 0x40c03b90 in JavaThread::run () from
/usr/lib/java/jre/lib/i386/client/libjvm.so
#11 0x40bcd10a in _start () from
/usr/lib/java/jre/lib/i386/client/libjvm.so
#12 0x40e530ba in pthread_start_thread () from /lib/libpthread.so.0
#13 0x40e53101 in pthread_start_thread_event () from
/lib/libpthread.so.0
------------------------------------------------------------------------
[2002-08-14 12:30:59] kalowsky@php.net
can you please try the latest CVS? I believe I may have fixed this for
you... but I could be wrong.
------------------------------------------------------------------------
[2002-04-25 06:01:01] pavel@gingerall.cz
It's strange from the point of view of Sablotron.
First... Sablotron never performs some thread locking, since the code
(if API is used in proper way) is thread safe. It's not absolutely
bulletproof, but should work undem most conditions.
What is very suspicious is, that the Arena::~Arena in the backtrace
above, is called from some other library, since it should be hidden
form other libs and used internally (and called from other Sablotron
destructors as a result of this).
Has somebody a clue, what library defines the ciEnv class? It looks
like this is a linking problem (and is it even possible?) Could
somebody rename Arena to SabArena in the Sablotron source (there are
just few occurences) and test it?
------------------------------------------------------------------------
[2002-04-19 18:01:35] asael@brm.bireme.br
The system:
PIII 1GHz 512Mb RAM
Red Hat 7.1 (kernel 2.4.2-2)
Sun JDK 1.4.0 RC
Apache 1.3.20 (compiled with LDFLAGS...)
PHP 4.0.6 (--with-apxs...)
Sablotron 0.90
Expat 1.95.2
The problem:
PHP compiles fine with Apache (DSO) and Sablotron/Expat.
When compiling with JDK, pure PHP+XML/XSLT code executes fine either
via browser or via command line. Any java code inserted and core dumps
and segmentation faults appear.
If compiling Apache, PHP and JDK, simple PHP+Java code resumes fine in
both modes (command line/browser).
I noticed that related problems had been already reported with
different versions, but they'd never solved.
I also read someone arguing why is that someone would use PHP and Java
and I got twisted.
The issue:
There's an application project I'm working with where we use PHP code
to execute a database query (via WWWISIS), returning a XML content that
is transformed with XSLT. This is already done with PHP/Sablot/Expat.
But, with java, we would execute multiple threads, each one collecting
a piece of XML data, which bundled together would be then returned to
PHP and then transformed.
I appreciate any suggestions.
------------------------------------------------------------------------
[2002-02-24 06:30:23] chregu@php.net
It always worked with JDK 1.2...
And i don't think, there was much of a change in ext/java or ext/xslt
from 2001-09-1 till today (in the 4.1 branch, don't know about HEAD)
anyway, i use at the moment JDK 1.2, so this is not that important for
me, someone else has to verify it (maybe giving JDK 1.4 a try)
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/13344
--
Edit this bug report at http://bugs.php.net/?id=13344&edit=1