|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2002-06-02 10:20 UTC] msopacua at idg dot nl
Requesting phpinfo() takes the machine load to 2+ and it never gets back, until apache is stopped. I have ktrace output, for anybody that wants it and seems to contain a lot of '(semop|select) -1 errno 4 Interrupted system call' lines. PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Oct 25 01:00:01 2025 UTC |
About the Apache-2 comment: I haven't been able to use it for anything else than an image server, since neither mod_perl nor php work well. Indeed - threads and dynamic linking are a different flavour on BSD/OS. SIGHUP and SIGUSR are broken in apache2 without php as well, but they do a SIGTERM/SIGKILL and are then able to restart. With php compiled in this breaks with a segfault. Configure options: $ cat ../httpd-2.0.36/configure-cmd.sh ./configure-cmd.sh #!/bin/bash CFLAGS=-g \ ./configure \ --prefix=/aphack2 \ --disable-threads \ --with-port=8080 \ --with-mpm=prefork \ --disable-file-cache \ --enable-charset-lite \ --disable-cache \ --disable-disk-cache \ --disable-mem-cache \ --enable-ext-filter \ --enable-deflate \ --with-z=/weblib/local \ --disable-include \ --enable-expires \ --enable-headers \ --enable-usertrack \ --enable-unique-id \ --disable-proxy \ --disable-proxy-connect \ --disable-proxy-ftp \ --disable-proxy-http \ --disable-ssl \ --enable-http \ --enable-info \ --enable-cgi \ --enable-speling \ --disable-rewrite \ --enable-so \ --enable-dav=no \ --enable-shared=max #!/bin/bash SHELL=/bin/bash \ ./configure \ --prefix=/phphack2 \ --with-config-file-path=/phphack2/lib \ --enable-debug \ --enable-magic-quotes \ --enable-sockets \ --enable-cli \ --enable-session \ --disable-short-tags \ --with-apxs2=/aphack2/bin/apxs \ --with-mysql=/weblib/local \ --with-pear \ --without-xml \ --with-pic \ --without-tsrmPHPAPI char *php_escape_html_entities(unsigned char *old, int oldlen, int *newlen, int all, int quote_style, char *hint_char set TSRMLS_DC) { int i, j, maxlen, len; char *replaced; enum entity_charset charset = determine_charset(hint_charset TSRMLS_CC); int matches_map; maxlen = 2 * oldlen; if (maxlen < 128) maxlen = 128; replaced = emalloc (maxlen); // #line 667 len = 0; i = 0; while (i < oldlen) { .... } } replaced[len] = '\0'; ... So what happens if oldlen = 0 and more importantly: how can oldlen become 0?