ID: 9672
Updated by: sniper
Old-Status: Feedback
Status: Closed
Bug Type: Reproduceable crash
Assigned To: 

No feedback. If this happens also with soon to be released 
PHP 4.0.5 and after updating the RPMs from Redhat, reopen 
this bug report.


Previous Comments:

[2001-03-10 12:54:48] [EMAIL PROTECTED]
Seems to me that the problem is not with PHP, since the
crash happens inside an internal glibc call. Might be a
glibc bug. Please make sure relevant RH7 updates are


[2001-03-10 12:46:05] [EMAIL PROTECTED]
Please try the latest CVS snapshot from as there have been fixes 
regarding this.



[2001-03-10 12:36:15] [EMAIL PROTECTED]
fopen on an url dose not work.
--with-msql="/usr/local/mysql" --with-apxs="/usr/local/apache/bin/apxs"

; About this file ;
; This file controls many aspects of PHP's behavior.  In order for PHP to
; read it, it must be named 'php.ini'.  PHP looks for it in the current
; working directory, in the path designated by the environment variable
; PHPRC, and in the path that was defined in compile time (in that order).
; Under Windows, the compile-time path is the Windows directory.  The
; path in which the php.ini file is looked for can be overriden using
; the -c argument in command line mode.
; The syntax of the file is extremely simple.  Whitespace and Lines
; beginning with a semicolon are silently ignored (as you probably guessed).
; Section headers (e.g. [Foo]) are also silently ignored, even though
; they might mean something in the future.
; Directives are specified using the following syntax:
; directive = value
; Directive names are *case sensitive* - foo=bar is different from FOO=bar.
; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one
; of the INI constants (On, Off, True, False, Yes, No and None) or an expression
; (e.g. E_ALL & ~E_NOTICE), or a quoted string ("foo").
; Expressions in the INI file are limited to bitwise operators and parentheses:
; |                             bitwise OR
; &                             bitwise AND
; ~                             bitwise NOT
; !                             boolean NOT
; Boolean flags can be turned on using the values 1, On, True or Yes.
; They can be turned off using the values 0, Off, False or No.
; An empty string can be denoted by simply not writing anything after the equal
; sign, or by using the None keyword:
;   foo =                       ; sets foo to an empty string
;       foo = none              ; sets foo to an empty string
;       foo = "none"    ; sets foo to the string 'none'
; If you use constants in your value, and these constants belong to a dynamically
; loaded extension (either a PHP extension or a Zend extension), you may only
; use these constants *after* the line that loads the extension.
; All the values in the php.ini-dist file correspond to the builtin
; defaults (that is, if no php.ini is used, or if you delete these lines,
; the builtin defaults will be identical).

; Language Options ;

engine          =       On      ; Enable the PHP scripting language engine under 
short_open_tag  =       On      ; allow the <? tag.  otherwise, only <?php and 
<script> tags are recognized.
asp_tags        =       Off     ; allow ASP-style <% %> tags
precision       =       14      ; number of significant digits displayed in floating 
point numbers
y2k_compliance  =       Off     ; whether to be year 2000 compliant (will cause 
problems with non y2k compliant browsers)
output_buffering=       On      ; Output buffering allows you to send header lines 
(including cookies)
                                                ; even after you send body content, in 
the price of slowing PHP's
                                                ; output layer a bit.
                                                ; You can enable output buffering by 
in runtime by calling the output
                                                ; buffering functions, or enable 
output buffering for all files
                                                ; by setting this directive to On.
output_handler  =               ; You can redirect all of the output of your scripts 
to a function,
                                                ; that can be responsible to process 
or log it.  For example,
                                                ; if you set the output_handler to 
"ob_gzhandler", than output
                                                ; will be transparently compressed for 
browsers that support gzip or
                                                ; deflate encoding.  Setting an output 
handler automatically turns on
                                                ; output buffering.
implicit_flush          = On    ; Implicit flush tells PHP to tell the output layer to 
flush itself
                                                ; automatically after every output 
block.  This is equivalent to
                                                ; calling the PHP function flush() 
after each and every call to print()
                                                ; or echo() and each and every HTML 
                                                ; Turning this option on has serious 
performance implications, and
                                                ; is generally recommended for 
debugging purposes only.
allow_call_time_pass_reference  = On    ; whether to enable the ability to force 
arguments to be 
                                                                        ; passed by 
reference at function-call time.  This method
                                                                        ; is 
deprecated, and is likely to be unsupported in future
                                                                        ; versions of 
PHP/Zend.  The encouraged method of specifying
                                                                        ; which 
arguments should be passed by reference is in the
                                                                        ; function 
declaration.  You're encouraged to try and
                                                                        ; turn this 
option Off, and make sure your scripts work
                                                                        ; properly 
with it, to ensure they will work with future
                                                                        ; versions of 
the language (you will receive a warning
                                                                        ; each time 
you use this feature, and the argument will
                                                                        ; be passed by 
value instead of by reference).

; Safe Mode
safe_mode               =       Off
safe_mode_exec_dir      =
safe_mode_allowed_env_vars = PHP_                                       ; Setting 
certain environment variables
         ; may be a potential security breach.
         ; This directive contains a comma-delimited
         ; list of prefixes.  In Safe Mode, the
         ; user may only alter environment
         ; variables whose names begin with the
         ; prefixes supplied here.
         ; By default, users will only be able
         ; to set environment variables that begin
         ; with PHP_ (e.g. PHP_FOO=BAR).
         ; Note:  If this directive is empty, PHP
         ; will let the user modify ANY environment
         ; variable!
safe_mode_protected_env_vars = LD_LIBRARY_PATH          ; This directive contains a 
         ; delimited list of environment variables,
         ; that the end user won't be able to
         ; change using putenv().
         ; These variables will be protected
         ; even if safe_mode_allowed_env_vars is
         ; set to allow to change them.

disable_functions       =                                                              
 ; This directive allows you to disable certain
         ; functions for security reasons.  It receives
         ; a comma separated list of function names.
         ; This directive is *NOT* affected by whether
         ; Safe Mode is turned on or off.

; Colors for Syntax Highlighting mode.  Anything that's acceptable in <font color=???> 
would work.
highlight.string        =       #DD0000
highlight.comment       =       #FF8000
highlight.keyword       =       #007700            =       #FFFFFF
highlight.default       =       #0000BB
highlight.html          =       #000000

; Misc
expose_php      =       On              ; Decides whether PHP may expose the fact that 
it is installed on the
                                        ; server (e.g., by adding its signature to the 
Web server header).
                                        ; It is no security threat in any way, but it 
makes it possible
                                        ; to determine whether you use PHP on your 
server or not.

; Resource Limits ;

max_execution_time = 60     ; Maximum execution time of each script, in seconds
memory_limit = 8M                       ; Maximum amount of memory a script may 
consume (8MB)

; Error handling and logging ;
; error_reporting is a bit-field.  Or each number up to get desired error reporting 
; E_ALL                         - All errors and warnings
; E_ERROR                       - fatal run-time errors
; E_WARNING                     - run-time warnings (non fatal errors)
; E_PARSE                       - compile-time parse errors
; E_NOTICE                      - run-time notices (these are warnings which often 
result from a bug in
;                                         your code, but it's possible that it was 
intentional (e.g., using an
;                                         uninitialized variable and relying on the 
fact it's automatically
;                                         initialized to an empty string)
; E_CORE_ERROR          - fatal errors that occur during PHP's initial startup
; E_CORE_WARNING        - warnings (non fatal errors) that occur during PHP's initial 
; E_COMPILE_ERROR       - fatal compile-time errors
; E_COMPILE_WARNING     - compile-time warnings (non fatal errors)
; E_USER_ERROR          - user-generated error message
; E_USER_WARNING        - user-generated warning message
; E_USER_NOTICE         - user-generated notice message
; Examples:
; error_reporting = E_ALL & ~E_NOTICE                                           ; show 
all errors, except for notices
; error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR        ; show only errors
error_reporting =       E_ALL & ~E_NOTICE               ; Show all errors except for 
display_errors  =       On      ; Print out errors (as a part of the output)
                                        ; For production web sites, you're strongly 
                                        ; to turn this feature off, and use error 
logging instead (see below).
                                        ; Keeping display_errors enabled on a 
production web site may reveal
                                        ; security information to end users, such as 
file paths on your Web server,
                                        ; your database schema or other information.
display_startup_errors = On             ; Even when display_errors is on, errors that 
occur during
                                                                ; PHP's startup 
sequence are not displayed.  It's strongly
                                                                ; recommended to keep 
display_startup_errors off, except for
                                                                ; when debugging.
log_errors              =       On      ; Log errors into a log file (server-specific 
log, stderr, or error_log (below))
                                        ; As stated above, you're strongly advised to 
use error logging in place of
                                        ; error displaying on production web sites.
track_errors    =       Off     ; Store the last error/warning message in 
$php_errormsg (boolean)
error_prepend_string = "<font color=ff0000>"   ; string to output before an error 
error_append_string = "</font>"                ; string to output after an error 
error_log       =       error_log_php   ; log errors to specified file
;error_log      =       syslog          ; log errors to syslog (Event Log on NT, not 
valid in Windows 95)
warn_plus_overloading   =       Off             ; warn if the + operator is used with 

; Data Handling ;
; Note - track_vars is ALWAYS enabled as of PHP 4.0.3
variables_order         =       "EGPCS" ; This directive describes the order in which 
PHP registers
                                                        ; GET, POST, Cookie, 
Environment and Built-in variables (G, P,
                                                        ; C, E & S respectively, often 
referred to as EGPCS or GPC).
                                                        ; Registration is done from 
left to right, newer values override
                                                        ; older values.
register_globals        =       On              ; Whether or not to register the EGPCS 
variables as global
                                                        ; variables.  You may want to 
turn this off if you don't want
                                                        ; to clutter your scripts' 
global scope with user data.  This makes
                                                        ; most sense when coupled with 
track_vars - in which case you can
                                                        ; access all of the GPC 
variables through the $HTTP_*_VARS[],
                                                        ; variables.
                                                        ; You should do your best to 
write your scripts so that they do
                                                        ; not require register_globals 
to be on;  Using form variables
                                                        ; as globals can easily lead 
to possible security problems, if
                                                        ; the code is not very well 
thought of.
register_argc_argv      =       On              ; This directive tells PHP whether to 
declare the argv&argc
                                                        ; variables (that would 
contain the GET information).  If you
                                                        ; don't use these variables, 
you should turn it off for
                                                        ; increased performance
post_max_size           =       8M              ; Maximum size of POST data that PHP 
will accept.
gpc_order                       =       "GPC"   ; This directive is deprecated.  Use 
variables_order instead.

; Magic quotes
magic_quotes_gpc        =       On              ; magic quotes for incoming 
GET/POST/Cookie data
magic_quotes_runtime=   Off             ; magic quotes for runtime-generated data, 
e.g. data from SQL, from exec(), etc.
magic_quotes_sybase     =       Off             ; Use Sybase-style magic quotes 
(escape ' with '' instead of ')

; automatically add files before or after any PHP document
auto_prepend_file       =
auto_append_file        =

; As of 4.0b4, PHP always outputs a character encoding by default in
; the Content-type: header.  To disable sending of the charset, simply
; set it to be empty.
; PHP's built-in default is text/html
default_mimetype = "text/html"
;default_charset = "iso-8859-1"

; Paths and Directories ;
include_path    =                   ; UNIX: "/path1:/path2"  Windows: "path1;path2"
doc_root                =                                       ; the root of the php 
pages, used only if nonempty
user_dir                =                                       ; the directory under 
which php opens the script using /~username, used only if nonempty
extension_dir   =       ./                              ; directory in which the 
loadable extensions (modules) reside
enable_dl               = On                            ; Whether or not to enable the 
dl() function.
                                                                ; The dl() function 
does NOT properly work in multithreaded
                                                                ; servers, such as IIS 
or Zeus, and is automatically disabled
                                                                ; on them.

; File Uploads ;
file_uploads    = On                            ; Whether to allow HTTP file uploads
;upload_tmp_dir =                       ; temporary directory for HTTP uploaded files 
(will use system default if not specified)
upload_max_filesize = 32M                   ; Maximum allowed size for uploaded files

; Fopen wrappers ;
allow_url_fopen = On                ; Wheter to allow trating URLs like http:... or 
ftp:... like files

; Dynamic Extensions ;
; if you wish to have an extension loaded automaticly, use the
; following syntax:  extension=modulename.extension
; for example, on windows,
; extension=msql.dll
; or under UNIX,
; Note that it should be the name of the module only, no directory information 
; needs to go here.  Specify the location of the extension with the extension_dir 
directive above.

;Windows Extensions
;Note that MySQL and ODBC support is now built in, so no dll is needed for it.

; Module Settings ;

define_syslog_variables = Off   ; Whether or not to define the various syslog 
                                                        ; e.g. $LOG_PID, $LOG_CRON, 
etc.  Turning it off is a
                                                        ; good idea performance-wise.  
In runtime, you can define
                                                        ; these variables by calling 

[mail function]
SMTP                    =       localhost                       ;for win32 only
sendmail_from   =       [EMAIL PROTECTED]        ;for win32 only
;sendmail_path  =                                               ;for unix only, may 
supply arguments as well (default is 'sendmail -t -i')

[Debugger]   =       localhost
debugger.port   =       7869
debugger.enabled        =       False

; These configuration directives are used by the example logging mechanism.
; See examples/README.logging for more explanation.
;logging.method    = db
; = /path/to/log/directory

;java.class.path = .php_java.jar
;java.home = c:jdk
;java.library = c:jdkjrebinhotspotjvm.dll 
;java.library.path = .

sql.safe_mode   =       Off

;odbc.default_db                =       Not yet implemented
;odbc.default_user              =       Not yet implemented
;odbc.default_pw                =       Not yet implemented
odbc.allow_persistent   =       On      ; allow or prevent persistent links
odbc.check_persistent  =        On      ; check that a connection is still validbefore 
odbc.max_persistent     =       -1      ; maximum number of persistent links. -1 means 
no limit
odbc.max_links                  =       -1      ; maximum number of links 
(persistent+non persistent). -1 means no limit
odbc.defaultlrl =       4096    ; Handling of LONG fields. Returns number of bytes to 
variables, 0 means passthru
odbc.defaultbinmode     =       1       ; Handling of binary data. 0 means passthru, 1 
return as is, 2 convert to char
; See the documentation on odbc_binmode and odbc_longreadlen for an explanation of 
; and uodbc.defaultbinmode

mysql.allow_persistent  =       On      ; allow or prevent persistent link
mysql.max_persistent    =       -1      ; maximum number of persistent links. -1 means 
no limit
mysql.max_links                 =       -1      ; maximum number of links 
(persistent+non persistent).  -1 means no limit
mysql.default_port              =               ; default port number for 
mysql_connect().  If unset,
                                                        ; mysql_connect() will use the 
$MYSQL_TCP_PORT, or the mysql-tcp
                                                        ; entry in /etc/services, or 
the compile-time defined MYSQL_PORT
                                                        ; (in that order).  Win32 will 
only look at MYSQL_PORT.
mysql.default_socket    =               ; default socket name for local MySQL 
connects.  If empty, uses the built-in
                                                        ; MySQL defaults
mysql.default_host              =               ; default host for mysql_connect() 
(doesn't apply in safe mode)
mysql.default_user              =               ; default user for mysql_connect() 
(doesn't apply in safe mode)
mysql.default_password  =               ; default password for mysql_connect() 
(doesn't apply in safe mode)
                                                        ; Note that this is generally 
a *bad* idea to store passwords
                                                        ; in this file.  *Any* user 
with PHP access can run
                                                        ; 'echo 
cfg_get_var("mysql.default_password")' and reveal that
                                                        ; password!  And of course, 
any users with read access to this
                                                        ; file will be able to reveal 
the password as well.

msql.allow_persistent   =       On      ; allow or prevent persistent link
msql.max_persistent             =       -1      ; maximum number of persistent links. 
-1 means no limit
msql.max_links                  =       -1      ; maximum number of links 
(persistent+non persistent).  -1 means no limit

pgsql.allow_persistent  =       On      ; allow or prevent persistent link
pgsql.max_persistent    =       -1      ; maximum number of persistent links. -1 means 
no limit
pgsql.max_links                 =       -1      ; maximum number of links 
(persistent+non persistent).  -1 means no limit

sybase.allow_persistent =       On      ; allow or prevent persistent link
sybase.max_persistent   =       -1      ; maximum number of persistent links. -1 means 
no limit
sybase.max_links                =       -1      ; maximum number of links 
(persistent+non persistent).  -1 means no limit
;sybase.interface_file  =       "/usr/sybase/interfaces"
sybase.min_error_severity       =       10      ; minimum error severity to display
sybase.min_message_severity     =       10      ; minimum message severity to display
sybase.compatability_mode       = Off   ; compatability mode with old versions of PHP 
                                                                ; If on, this will 
cause PHP to automatically assign types to results
                                                                ; according to their 
Sybase type, instead of treating them all as
                                                                ; strings.  This 
compatability mode will probably not stay around
                                                                ; forever, so try 
applying whatever necessary changes to your code,
                                                                ; and turn it off.

sybct.allow_persistent  =       On              ; allow or prevent persistent link
sybct.max_persistent    =       -1              ; maximum number of persistent links. 
-1 means no limit
sybct.max_links                 =       -1              ; maximum number of links 
(persistent+non persistent).  -1 means no limit
sybct.min_server_severity       =       10      ; minimum server message severity

[root@Dusten php-4.0.4pl1]# gdb httpd
GNU gdb 5.0
Copyright 2000 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 "i386-redhat-linux"...
(gdb) run -X -f /usr/local/apache/conf/httpd.conf
Starting program: /usr/local/apache/bin/httpd -X -f /usr/local/apache/conf/httpd.conf

Program received signal SIGSEGV, Segmentation fault.
gaih_inet (name=0x810c384 "", service=0x0, req=0xbfffbdb8, 
    pai=0xbfffbd5c) at ../sysdeps/posix/getaddrinfo.c:424
424     ../sysdeps/posix/getaddrinfo.c: No such file or directory.
 in ../sysdeps/posix/getaddrinfo.c
(gdb) bt
#0  gaih_inet (name=0x810c384 "", service=0x0, req=0xbfffbdb8, 

    pai=0xbfffbd5c) at ../sysdeps/posix/getaddrinfo.c:424
#1  0x401f856b in getaddrinfo (name=0x810c384 "", service=0x0, 

    hints=0xbfffbdb8, pai=0xbfffbdb4) at ../sysdeps/posix/getaddrinfo.c:754
#2  0x402a5213 in php_network_getaddresses (host=0x810c384 "", 

    sal=0xbfffbe10) at network.c:84
#3  0x402a535b in php_hostconnect (host=0x810c384 "", port=80, 

    socktype=1, timeout=0) at network.c:165
#4  0x403061ca in php_fopen_url_wrap_http (
    path=0x80e9c3c "", 
    mode=0x811d174 "r", options=4, issock=0xbfffe180, socketd=0xbfffe184, 
    at http_fopen_wrapper.c:96
#5  0x402a12d1 in php_fopen_url_wrapper (
    path=0x80e9c3c "", 
    mode=0x811d174 "r", options=4, issock=0xbfffe180, socketd=0xbfffe184, 
    at fopen-wrappers.c:446
#6  0x402dce8b in php_if_fopen (ht=2, return_value=0x811d154, this_ptr=0x0, 
    return_value_used=1) at file.c:555
#7  0x40281746 in execute (op_array=0x8116e44) at ./zend_execute.c:1519
#8  0x4028f4ad in zend_execute_scripts (type=8, file_count=3) at zend.c:729
#9  0x402a03b7 in php_execute_script (primary_file=0xbffff808) at main.c:1221
#10 0x4029cd2e in apache_php_module_main (r=0x8113e6c, display_source_mode=0)
    at sapi_apache.c:89
#11 0x4029d67d in send_php (r=0x8113e6c, display_source_mode=0, filename=0x0)
    at mod_php4.c:516
#12 0x4029d6b2 in send_parsed_php (r=0x8113e6c) at mod_php4.c:527
#13 0x08072ac3 in ap_invoke_handler () at eval.c:41
#14 0x0808678f in process_request_internal () at eval.c:41
#15 0x080867f0 in ap_process_request () at eval.c:41
#16 0x0807dce9 in child_main () at eval.c:41
#17 0x0807de94 in make_child () at eval.c:41
#18 0x0807e008 in startup_children () at eval.c:41
#19 0x0807e657 in standalone_main () at eval.c:41
#20 0x0807ee73 in main () at eval.c:41
#21 0x40148f11 in __libc_start_main (main=0x807eadc <main>, argc=4, ubp_av=0xbffffabc, 

    init=0x804f114 <_init>, fini=0x80b38ec <_fini>, rtld_fini=0x4000e214 <_dl_fini>, 
    stack_end=0xbffffab4) at ../sysdeps/generic/libc-start.c:129


The remainder of the comments for this report are too long.  To view the rest of the 
comments, please view the bug report online.

ATTENTION! Do NOT reply to this email!
To reply, use the web interface found at

PHP Development Mailing List <>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to