httpd-bugs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject [Bug 57177] terminated by signal ILL in server/scoreboard.c line 369
Date Mon, 03 Nov 2014 23:28:04 GMT
https://issues.apache.org/bugzilla/show_bug.cgi?id=57177

--- Comment #4 from Dennis Clarke <dclarke@blastwave.org> ---
Looking at ap_sb_handle_t : 

struct ap_sb_handle_t {
    int child_num;
    int thread_num;
};


and then :

AP_DECLARE(void) ap_increment_counts(ap_sb_handle_t *sb, request_rec *r);

Thread 27 crashes in ap_increment_counts with pointers :

       (sb = 0x1006a8bb0, r = 0x1006c6030)

So looking at memory at *sb we should see two integers :

(dbx) x 0x1006a8bb0 / 16 x 
0x00000001006a8bb0: 0x0000 0x0001 0x0000 0x0018 0x0000 0x0000 0x0000 0x0000
0x00000001006a8bc0: 0x0000 0x0001 0x006a 0x8bc8 0x0000 0x0001 0x006a 0x8bc8
(dbx) print sizeof(int)   
sizeof(int ) = 4

So my guess is that child_num is 1 and thread_num is 0x18h = 24.

(dbx) print *sb
*sb = {
    child_num  = 1
    thread_num = 24
}

Sure, looks fine. 

Next we have that pesky request_rec r which will be a bit verbose :

(dbx) print r 
r = 0x1006c6030

(dbx) print *r
*r = {
    pool                 = 0x1006c5fb8
    connection           = 0x1006a8c50
    server               = 0x10028c1e0
    next                 = 0x1006d0538
    prev                 = (nil)
    main                 = (nil)
    the_request          = 0x1006c7318 "GET / HTTP/1.0"
    assbackwards         = 0
    proxyreq             = 0
    header_only          = 0
    proto_num            = 1000
    protocol             = 0x1006c7348 "HTTP/1.0"
    hostname             = 0x1006c73e0 "dev.mydomain.ca"
    request_time         = 1415043364521974
    status_line          = (nil)
    status               = 401
    method_number        = 0
    method               = 0x1000b85b0 "GET"
    allowed              = 0
    allowed_xmethods     = (nil)
    allowed_methods      = 0x1006c62e8
    sent_bodyct          = 0
    bytes_sent           = 0
    mtime                = 0
    range                = (nil)
    clength              = 0
    chunked              = 0
    read_body            = 0
    read_chunked         = 0
    expecting_100        = 0
    kept_body            = (nil)
    body_table           = (nil)
    remaining            = 0
    read_length          = 0
    headers_in           = 0x1006c6328
    headers_out          = 0x1006c6a28
    err_headers_out      = 0x1006c6c70
    subprocess_env       = 0x1006c66a8
    notes                = 0x1006c6e10
    content_type         = (nil)
    handler              = (nil)
    content_encoding     = (nil)
    content_languages    = (nil)
    vlist_validator      = (nil)
    user                 = (nil)
    ap_auth_type         = 0x100293228 "basic"
    unparsed_uri         = 0x1006c7338 "/"
    uri                  = 0x1006c7340 "/"
    filename             = 0x1006c7690 "/usr/local/www/data/htdocs/"
    canonical_filename   = 0x1006c7690 "/usr/local/www/data/htdocs/"
    path_info            = 0x1006c75eb ""
    args                 = (nil)
    used_path_info       = 2
    eos_sent             = 1
    per_dir_config       = 0x1006c7a20
    request_config       = 0x1006c6fb0
    log                  = 0x10028c200
    log_id               = (nil)
    htaccess             = 0x1006c79f8
    output_filters       = 0x1006c7218
    input_filters        = 0x1006c73f0
    proto_output_filters = 0x1006c7218
    proto_input_filters  = 0x1006c73f0
    no_cache             = 0
    no_local_copy        = 1
    invoke_mtx           = 0x1006c74f0
    parsed_uri           = {
        scheme         = (nil)
        hostinfo       = (nil)
        user           = (nil)
        password       = (nil)
        hostname       = (nil)
        port_str       = (nil)
        path           = 0x1006c7340 "/"
        query          = (nil)
        fragment       = (nil)
        hostent        = (nil)
        port           = 0
        is_initialized = 1U
        dns_looked_up  = 0
        dns_resolved   = 0
    }
    finfo                = {
        pool       = 0x1006c5fb8
        valid      = 7598960
        protection = 1909
        filetype   = APR_DIR
        user       = 16411
        group      = 20002
        inode      = 424070U
        device     = 1099511693323U
        nlink      = 18
        size       = 21
        csize      = 1536
        atime      = 1415040555872951
        mtime      = 1414893925405310
        ctime      = 1414893925405310
        fname      = 0x1006c75d0 "/usr/local/www/data/htdocs/"
        name       = (nil)
        filehand   = (nil)
    }
    useragent_addr       = 0x1006a8a50
    useragent_ip         = 0x1006a90b0 "64.41.200.104"
}
(dbx)

Well I can confirm that the uid and gid of the target file fname
is correct : 

devl $ ls -ladin /usr/local/www/data/htdocs
  424070 drwxrwxr-x 18 16411 20002 21 Nov 2 02:05 /usr/local/www/data/htdocs


Here is where things get interesting. That ip address 64.41.200.104 is the
guys at Qualys where I use their SSL tester to verify my config.  So whatever
they are fireing at this server causes it to toss a core file. 

I'll try that again and see if I can get a full trace.

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org


Mime
View raw message