Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:9479 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 61392 invoked by uid 1010); 22 Apr 2004 05:06:42 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 61355 invoked from network); 22 Apr 2004 05:06:41 -0000 Received: from unknown (HELO mail.mbobo.org) (213.133.123.182) by pb1.pair.com with SMTP; 22 Apr 2004 05:06:41 -0000 Received: from localhost (localhost [127.0.0.1]) by mail.mbobo.org (Postfix) with ESMTP id 2297E577693; Thu, 22 Apr 2004 07:06:41 +0200 (CEST) Received: from mail.mbobo.org ([127.0.0.1]) by localhost (debian [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 19467-09; Thu, 22 Apr 2004 07:06:39 +0200 (CEST) Received: from [172.20.201.155] (h-67-102-19-109.snfccasy.covad.net [67.102.19.109]) by mail.mbobo.org (Postfix) with ESMTP id D3807577691; Thu, 22 Apr 2004 07:06:37 +0200 (CEST) In-Reply-To: <1082596603.15932.5.camel@powah.cc.force-elite.com> References: <1082583400.12577.19.camel@powah.cc.force-elite.com> <1CA1D9B6-93F7-11D8-9EC0-000A95E073A0@php.net> <1082596603.15932.5.camel@powah.cc.force-elite.com> Mime-Version: 1.0 (Apple Message framework v613) Content-Type: text/plain; charset=ISO-8859-1; format=flowed Message-ID: Content-Transfer-Encoding: quoted-printable Cc: internals@lists.php.net Date: Wed, 21 Apr 2004 22:06:34 -0700 To: Paul Querna X-Mailer: Apple Mail (2.613) X-Virus-Scanned: by amavisd-new-20030616-p5 (Debian) at mbobo.org Subject: Re: [PHP-DEV] xmlSetGenericErrorFunc Abuse From: sterling@php.net (Sterling Hughes) On Apr 21, 2004, at 6:16 PM, Paul Querna wrote: > On Wed, 2004-04-21 at 18:50, Sterling Hughes wrote: >> Its actually quite different than that problem. This is a problem = for >> people who use threads. > > I am afraid that you are completely wrong. > > httpd -V: > Server version: Apache/2.1.0-dev > Server built: Feb 15 2004 14:26:54 > Server's Module Magic Number: 20030821:3 > Architecture: 32-bit > Server MPM: Prefork > threaded: no > forked: yes (variable process count) > Server compiled with.... > -D APR_HAS_SENDFILE > -D APR_HAS_MMAP > -D APR_HAVE_IPV6 (IPv4-mapped addresses disabled) > -D APR_USE_FLOCK_SERIALIZE > -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT > -D APR_HAS_OTHER_CHILD > -D AP_HAVE_RELIABLE_PIPED_LOGS > -D HTTPD_ROOT=3D"/home/httpd/local" > -D SUEXEC_BIN=3D"/home/httpd/local/bin/suexec" > -D DEFAULT_PIDLOG=3D"logs/httpd.pid" > -D DEFAULT_SCOREBOARD=3D"logs/apache_runtime_status" > -D DEFAULT_LOCKFILE=3D"logs/accept.lock" > -D DEFAULT_ERRORLOG=3D"logs/error_log" > -D AP_TYPES_CONFIG_FILE=3D"conf/mime.types" > -D SERVER_CONFIG_FILE=3D"conf/httpd.conf" > > Yes. That is correct, I am using the PREFORK MPM, which is not > multi-threaded. If I was using the worker MPM, i wouldn't even bother > submitting this because I know the PHP-Devs do not care about thread > safety. > > and here is an example backtrace of this happening: > > #0 php_apache_sapi_send_headers (sapi_headers=3D0x2857ce98) > at > /usr/home/httpd/src/php-src/sapi/apache2handler/sapi_apache2.c:140 > #1 0x28472714 in sapi_send_headers () at > /usr/home/httpd/src/php-src/main/SAPI.c:747 > #2 0x284230de in php_header () at > /usr/home/httpd/src/php-src/ext/standard/head.c:60 > #3 0x28478f50 in php_ub_body_write ( > str=3D0x8143154 "
\nWarning: I/O warning : failed to=20= > load > external entity \"docbooka/xsl/html/docbook.xsl\" in Unknown on > line 0
\n", str_length=3D142) at > /usr/home/httpd/src/php-src/main/output.c:704 > #4 0x28477fa9 in php_body_write ( > str=3D0x8143154 "
\nWarning: I/O warning : failed to=20= > load > external entity \"docbooka/xsl/html/docbook.xsl\" in Unknown on > line 0
\n", str_length=3D142) at > /usr/home/httpd/src/php-src/main/output.c:119 > #5 0x2846b6e2 in php_printf (format=3D0x28502600 "%s
\n%s: > %s in %s on line %d
\n%s") > at /usr/home/httpd/src/php-src/main/main.c:400 > #6 0x2846c05e in php_error_cb (type=3D2, error_filename=3D0x284fba9c > "Unknown", error_lineno=3D0, format=3D0x2850223d "%s", > args=3D0xbfbfe604 "=F40\024\b\n") at > /usr/home/httpd/src/php-src/main/main.c:736 > #7 0x2849f356 in zend_error (type=3D2, format=3D0x2850223d "%s") at > /usr/home/httpd/src/php-src/Zend/zend.c:930 > #8 0x2835fec4 in php_libxml_internal_error_handler (error_type=3D0, > ctx=3D0x0, msg=3D0x0, ap=3D0xbfbfe654 "") > at /usr/home/httpd/src/php-src/ext/libxml/libxml.c:351 > #9 0x2835ffb0 in php_libxml_error_handler (ctx=3D0x0, msg=3D0x287339fb > "%s") > at /usr/home/httpd/src/php-src/ext/libxml/libxml.c:377 > #10 0x286a48ab in xmlReportError (err=3D0x826b580, ctxt=3D0x826b400, > str=3D0x8269300 "failed to load external entity > \"docbooka/xsl/html/docbook.xsl\"\n", > channel=3D0x2835ff98 , data=3D0x0) at > error.c:381 > #11 0x286a4d4b in __xmlRaiseError (schannel=3D0, channel=3D0x286a4f3e > , data=3D0x826b400, ctx=3D0x826b400, nod=3D0x0, > domain=3D8, code=3D1549, level=3DXML_ERR_WARNING, file=3D0x0, = line=3D0, > str1=3D0x8249a20 "docbooka/xsl/html/docbook.xsl", str2=3D0x0, > str3=3D0x0, int1=3D0, int2=3D0, msg=3D0x28724b40 "failed to load = external > entity \"%s\"\n") at error.c:573 > #12 0x286c2b88 in __xmlLoaderErr (ctx=3D0x2857ce40, msg=3D0x28724b40=20= > "failed > to load external entity \"%s\"\n", > filename=3D0x8249a20 "docbooka/xsl/html/docbook.xsl") at = xmlIO.c:426 > #13 0x286a69f2 in xmlNewInputFromFile (ctxt=3D0x826b400, > filename=3D0x8249a20 "docbooka/xsl/html/docbook.xsl") > at parserInternals.c:1465 > #14 0x286c4eed in xmlDefaultExternalEntityLoader (URL=3D0x82499e0 > "docbooka/xsl/html/docbook.xsl", ID=3D0x0, ctxt=3D0x826b400) > at xmlIO.c:3176 > #15 0x286c4f91 in xmlLoadExternalEntity (URL=3D0x8249a20 > "docbooka/xsl/html/docbook.xsl", ID=3D0x0, ctxt=3D0x826b400) > at xmlIO.c:3233 > #16 0x286b6f60 in xmlCreateURLParserCtxt (filename=3D0x826d300 > "docbooka/xsl/html/docbook.xsl", options=3D16398) at parser.c:11039 > #17 0x286b7dfe in xmlReadFile (filename=3D0x826d300 > "docbooka/xsl/html/docbook.xsl", encoding=3D0x0, options=3D136754176) > at parser.c:12093 > #18 0x2899ac0e in xsltParseStylesheetFile (filename=3D0x826d300 > "docbooka/xsl/html/docbook.xsl") at xslt.c:2129 > #19 0x2899b110 in xsltLoadStylesheetPI (doc=3D0x824ca00) at = xslt.c:2357 > #20 0x28a043ad in transform_run (f=3D0x8257f60, doc=3D0x826d300) at > mod_transform.c:182 > #21 0x28a044d2 in transform_filter (f=3D0x8257f60, bb=3D0x825a120) at > mod_transform.c:249 > #22 0x0806d8db in ap_pass_brigade (next=3D0x2857ce40, bb=3D0x2857ce40) = at > util_filter.c:511 > #23 0x0807412b in default_handler (r=3D0x8256050) at core.c:3513 > #24 0x080630be in ap_run_handler (r=3D0x8256050) at config.c:151 > #25 0x08063582 in ap_invoke_handler (r=3D0x8256050) at config.c:358 > #26 0x08060a03 in ap_process_request (r=3D0x8256050) at=20 > http_request.c:246 > #27 0x0805c639 in ap_process_http_connection (c=3D0x8250128) at > http_core.c:253 > #28 0x0806b6e2 in ap_run_process_connection (c=3D0x8250128) at > connection.c:42 > #29 0x08061c57 in child_main (child_num_arg=3D0) at prefork.c:623 > #30 0x08061d47 in make_child (s=3D0x8099db8, slot=3D0) at = prefork.c:663 > #31 0x0806256c in ap_mpm_run (_pconf=3D0x8098018, plog=3D0x80c2018, > s=3D0x8099db8) at prefork.c:937 > #32 0x08067633 in main (argc=3D2, argv=3D0xbfbfebe8) at main.c:665 > #33 0x0805c1c8 in _start (ap=3D0xbfbfecec > "/usr/home/httpd/local/bin/httpd") at > /usr/src/lib/csu/i386-elf/crt1.c:104 > Err, read back in the message. Specifically about "should reset the=20 generic error handler." If it doesn't reset it, that's a separate=20 issue. It has *nothing* todo with the mysql issue (which was symbol=20 conflicts due to two libraries being compiled into the same server). A=20= process can not execute two code paths at the same time, therefore you=20= cannot have such corruption in a prefork model. -Sterling=