Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:9492 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 49522 invoked by uid 1010); 23 Apr 2004 12:17:07 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 49452 invoked from network); 23 Apr 2004 12:17:06 -0000 Received: from unknown (HELO recife.pe.gov.br) (200.249.133.130) by pb1.pair.com with SMTP; 23 Apr 2004 12:17:06 -0000 Received: from recife.pe.gov.br (localhost.localdomain [127.0.0.1]) by recife.pe.gov.br (8.12.10/8.12.9) with ESMTP id i3NCL8Cn017281 for ; Fri, 23 Apr 2004 09:21:08 -0300 Received: from recife.pe.gov.br (proxy.recife.pe.gov.br [200.249.133.135]) by recife.pe.gov.br (8.12.10/8.12.10) with ESMTP id i3NCL6bo017264 for ; Fri, 23 Apr 2004 09:21:07 -0300 Message-ID: <40890840.5090605@recife.pe.gov.br> Date: Fri, 23 Apr 2004 09:12:48 -0300 Organization: Emprel - Empresa Municipal de Informatica User-Agent: Mozilla/5.0 (X11; U; Linux i686; pt-BR; rv:1.4.2) Gecko/20040308 X-Accept-Language: pt-br, en-us, en MIME-Version: 1.0 To: internals@lists.php.net Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Subject: PHP exiting with "Illegal Instruction" signal when using domxml extension only on S390 From: brasilino@recife.pe.gov.br (Lucas Brasilino) Hi folks: There's a problem that I've been trying to figure out since PHP 4.3.5. My last try was with yesterday PHP's snapshot (200404221230). Using domxml extension compiled as a module, PHP exits with "Illegal Instruction". Apache breaks out and even remove it's pid file. When I don't load this extension, everything works fine. The problem shows up only using PHP with apache (1.3.29, EAPI), using PHP's cli everything works fine (with domxml extension). I'm trying to debug it with gdb, but as there's no segfault I can't generate a backtrace. How can I trace it? I'm almost a gdb newbie, I just use most common commands of it (break, continue, bt, up, down,...) This problem is platform specific. I didn't get it on i386, using same libxml, libxslt and zlib versions. Let's go to the informations: RedHat 7.2 (s390) GCC 2.95.3 GLIBC 2.2.4 Kernel 2.4.9 libxml2 2.6.6 libxslt 1.1.3 zlib 1.1.4 PHP compile options: ./configure --prefix=$PREFIX \ --with-config-file-path=$PREFIX/etc \ --enable-debug \ --disable-ipv6 \ --with-apxs=$APACHE_DIR/bin/apxs \ --enable-force-cgi-redirect \ --enable-ftp=shared \ --enable-dbase=shared \ --with-dom=shared \ --with-dom-xslt=shared \ --with-dom-exslt=shared \ --with-zlib-dir \ --without-mysql Apache compile options (after EAPI patching) ./configure --prefix=$PREFIX \ --enable-shared=max \ --enable-module=so \ --enable-rule=EAPI \ --enable-suexec \ --suexec-caller=apache Apache's error log: [Fri Apr 23 08:24:13 2004] [notice] Apache/1.3.29 (Unix) PHP/4.3.7-dev configured -- resuming normal operations [Fri Apr 23 08:24:13 2004] [notice] suEXEC mechanism enabled (wrapper: /home/wwwdisco2/local/apache/bin/suexec) [Fri Apr 23 08:24:13 2004] [notice] Accept mutex: sysvsem (Default: sysvsem) [Fri Apr 23 08:24:31 2004] [notice] child pid 13860 exit signal Illegal instruction (4) GDB: [root@cohab local]# gdb ./apache/bin/httpd GNU gdb Red Hat Linux (5.1-1) Copyright 2001 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "s390-redhat-linux"... (gdb) handle SIGTRAP nopass nostop noprint SIGTRAP is used by the debugger. Are you sure you want to change it? (y or n) y Signal Stop Print Pass to program Description SIGTRAP No No No Trace/breakpoint trap (gdb) break main Breakpoint 1 at 0x4247a4 (gdb) run -X Starting program: ./apache/bin/httpd -X Breakpoint 1, 0x004247a4 in main () (gdb) continue Continuing. [New Thread 1024 (LWP 13913)] Program received signal SIGILL, Illegal instruction. [Switching to Thread 1024 (LWP 13913)] 0x00000000 in ?? () (gdb) Any ideas how can I face this problem, or how can I debug it ? thanks a lot in advance. -- []'s Lucas Brasilino brasilino@recife.pe.gov.br http://www.recife.pe.gov.br Emprel - Empresa Municipal de Informatica (pt_BR) Municipal Computing Enterprise (en_US) Recife - Pernambuco - Brasil Fone: +55-81-34167078