php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #14143 Segmentation fun
Submitted: 2001-11-20 06:49 UTC Modified: 2003-08-08 04:47 UTC
From: teo at gecadsoftware dot com Assigned:
Status: Closed Package: Apache2 related
PHP Version: 4.x OS: Mandrake8.1
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: teo at gecadsoftware dot com
New email:
PHP Version: OS:

 

 [2001-11-20 06:49 UTC] teo at gecadsoftware dot com
related to #12691

Configuration: same as in #12691 except Apache is using prefork mpm.

The request: GET /i.php/a

Backtrace and request info are:

Program received signal SIGSEGV, Segmentation fault.
0x4004bb1e in apr_palloc (a=0x813e4cc, reqsize=10) at apr_pools.c:1214
1214        first_avail = blok->h.first_avail;
(gdb) bt
#0  0x4004bb1e in apr_palloc (a=0x813e4cc, reqsize=10) at apr_pools.c:1214
#1  0x80910d8 in add_any_filter (name=0x80aac34 "BYTERANGE", ctx=0x0,
    r=0x813e51c, c=0x813a5cc, reg_filter_set=0x80ca19c, r_filters=0x813e688,
    c_filters=0x813a610) at util_filter.c:151
#2  0x809131f in ap_add_output_filter (name=0x80aac34 "BYTERANGE", ctx=0x0,
    r=0x813e51c, c=0x813a5cc) at util_filter.c:201
#3  0x8069f67 in ap_http_insert_filter (r=0x813e51c) at http_core.c:310
#4  0x809ca63 in ap_run_insert_filter (r=0x813e51c) at request.c:120
#5  0x809d23d in ap_process_request_internal (r=0x813e51c) at request.c:279
#6  0x806f779 in ap_process_request (r=0x813e51c) at http_request.c:284
#7  0x8069e96 in ap_process_http_connection (c=0x813a5cc) at http_core.c:289
#8  0x808f2f7 in ap_run_process_connection (c=0x813a5cc) at connection.c:82
#9  0x808f58d in ap_process_connection (c=0x813a5cc) at connection.c:219
#10 0x80804bc in child_main (child_num_arg=0) at prefork.c:803
#11 0x80805b3 in make_child (s=0x80cae44, slot=0) at prefork.c:839
#12 0x8080725 in startup_children (number_to_start=1) at prefork.c:913
#13 0x8080c45 in ap_mpm_run (_pconf=0x80c9cec, plog=0x80fde8c, s=0x80cae44)
    at prefork.c:1129
#14 0x8087ce6 in main (argc=2, argv=0xbffff674) at main.c:432


(gdb) f 3
#3  0x8069f67 in ap_http_insert_filter (r=0x813e51c) at http_core.c:310
310             ap_add_output_filter("BYTERANGE", NULL, r, r->connection);
(gdb) p *r
$8 = {pool = 0x813e4ec, connection = 0x813a5cc, server = 0x80cae44,
  next = 0x0, prev = 0x0, main = 0x0,
  the_request = 0x813ecac "GET /i.php/a HTTP/1.1", assbackwards = 0,
  proxyreq = 0, header_only = 0, protocol = 0x813ecfc "HTTP/1.1",
  proto_num = 1001, hostname = 0x813ef6c "teo",
  request_time = 1006255730034262, status_line = 0x0, status = 200,
  method = 0x813ecc4 "GET", method_number = 0, allowed = 0,
  allowed_xmethods = 0x0, allowed_methods = 0x813e694, sent_bodyct = 0,
  bytes_sent = 0, mtime = 0, chunked = 0, boundary = 0x0, range = 0x0,
  clength = 0, remaining = 0, read_length = 0, read_body = 0,  read_chunked = 0, expecting_100 = 0, headers_in = 0x813e6c4,
  headers_out = 0x813ea14, err_headers_out = 0x813ea8c,
  subprocess_env = 0x813e86c, notes = 0x813eacc,
  content_type = 0x813f604 "application/x-httpd-php", handler = 0x0,
  content_encoding = 0x0, content_languages = 0x0, vlist_validator = 0x0,
  user = 0x0, ap_auth_type = 0x0, no_cache = 0, no_local_copy = 0,
  unparsed_uri = 0x813ecdc "/i.php/a", uri = 0x813ecec "/i.php/a",
  filename = 0x813f1d4 "/usr/local/apache2/htdocs/i.php",
  canonical_filename = 0x813f0e4 "/usr/local/apache2/htdocs/i.php/a",
  path_info = 0x813f133 "/a", args = 0x0, finfo = {cntxt = 0x813e4ec,
    valid = 7598448, protection = 1604, filetype = APR_REG, user = 0,
    group = 0, inode = 314593, device = 773, nlink = 1, size = 17, csize = 24,
    atime = 1006252969000000, mtime = 997404110000000,
    ctime = 997404110000000,
    fname = 0x813f1d4 "/usr/local/apache2/htdocs/i.php",
    name = 0x80c23cc "O,\f\b", filehand = 0x13f0e4}, parsed_uri = {
    scheme = 0x0, hostinfo = 0x0, user = 0x0, password = 0x0, hostname = 0x0,
    port_str = 0x0, path = 0x813ecec "/i.php/a", query = 0x0, fragment = 0x0,
    hostent = 0x0, port = 0, is_initialized = 1, dns_looked_up = 0,
    dns_resolved = 0}, per_dir_config = 0x813f474, request_config = 0x813eb0c,
  htaccess = 0x0, output_filters = 0x813f62c, input_filters = 0x813f654,
  eos_sent = 0}







Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2002-01-17 06:01 UTC] lobbin@php.net
Does the same happen on 4.1.1 or current CVS?
 [2002-01-17 13:27 UTC] teo at gecadsoftware dot com
Tested again on Mandrake8.1 / php-4.1.1 / Apache-2.0.28-beta.
for a page like i.php/something the PATH_INFO still doesn't get set, but least it doesn't segfault anymore.

PHP config line: --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql --with-dom --disable-posix --disable-pic --with-zlib --enable-wddx --enable-debug


 [2002-01-17 13:44 UTC] biancardi at xware dot it
to solve the problem related to cgi var setting (PATH_INFO and so on) you need the latest cvs, the one in 4.1.1
has bugs (at least when used with apache-2.0.28).

Roberto.
 [2002-01-18 02:04 UTC] lobbin@php.net
Teo: Can you download a CVS snapshot, and see if it works?

http://snaps.php.net
 [2002-01-21 07:18 UTC] teo at gecadsoftware dot com
After some hassle with compilation I tried again w/ a recent snapshot.Path info still doesn't get set :(.


 [2003-08-08 04:47 UTC] sniper@php.net
This was fixed long time ago.

 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Dec 21 16:01:28 2024 UTC