server/mpm/event/event.c:2295: error: INTEGER_OVERFLOW_L2
  ([0, +oo] - 64):unsigned64 by call to `ap_update_child_status_from_indexes`.

server/mpm/event/event.c:2275:22: Unknown value from: apr_palloc
2273.     ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, ap_server_conf, APLOGNO(02471)
2274.                  "start_threads: Using %s", apr_pollset_method_name(event_pollset));
2275.     worker_sockets = apr_pcalloc(pchild, threads_per_child
                           ^
2276.                                  * sizeof(apr_socket_t *));
2277. 

server/mpm/event/event.c:2295:13: Call
2293. 
2294.             /* We are creating threads right now */
2295.             ap_update_child_status_from_indexes(my_child_num, i,
                  ^
2296.                                                 SERVER_STARTING, NULL);
2297.             /* We let each thread update its own scoreboard entry.  This is

server/scoreboard.c:513:1: Parameter `r->the_request->strlen`
  511. }
  512. 
  513. AP_DECLARE(int) ap_update_child_status_from_indexes(int child_num,
       ^
  514.                                                     int thread_num,
  515.                                                     int status,

server/scoreboard.c:522:12: Call
  520.     }
  521. 
  522.     return update_child_status_internal(child_num, thread_num, status,
                  ^
  523.                                         r ? r->connection : NULL,
  524.                                         r);

server/scoreboard.c:449:1: Parameter `r->the_request->strlen`
    447. }
    448. 
    449. static int update_child_status_internal(int child_num,
         ^
    450.                                         int thread_num,
    451.                                         int status,

server/scoreboard.c:495:13: Call
    493.                 apr_cpystrn(ws->client, client, sizeof(ws->client));
    494.             }
    495.             copy_request(ws->request, sizeof(ws->request), r);
                     ^
    496.             if (r->server) {
    497.                 apr_snprintf(ws->vhost, sizeof(ws->vhost), "%s:%d",

server/scoreboard.c:413:1: <LHS trace>
411. }
412. 
413. static void copy_request(char *rbuf, apr_size_t rbuflen, request_rec *r)
     ^
414. {
415.     char *p;

server/scoreboard.c:413:1: Parameter `rbuflen`
      411. }
      412. 
      413. static void copy_request(char *rbuf, apr_size_t rbuflen, request_rec *r)
           ^
      414. {
      415.     char *p;

server/scoreboard.c:413:1: <RHS trace>
411. }
412. 
413. static void copy_request(char *rbuf, apr_size_t rbuflen, request_rec *r)
     ^
414. {
415.     char *p;

server/scoreboard.c:413:1: Parameter `rbuflen`
      411. }
      412. 
      413. static void copy_request(char *rbuf, apr_size_t rbuflen, request_rec *r)
           ^
      414. {
      415.     char *p;

server/scoreboard.c:444:13: Binary operation: ([0, +oo] - 64):unsigned64 by call to `ap_update_child_status_from_indexes` 
      442.         }
      443.         else {
      444.             apr_cpystrn(rbuf, p+(slen-rbuflen+1), rbuflen);
                       ^
      445.         }
      446.     }

static void copy_request(char *rbuf, apr_size_t rbuflen, request_rec *r)
{
    char *p;
    if (r->the_request == NULL) {
        apr_cpystrn(rbuf, "NULL", rbuflen);
        return;
    }
    if (r->parsed_uri.password == NULL) {
        p = r->the_request;
    }
    else {
        p = apr_pstrcat(r->pool, r->method, " ",
                        apr_uri_unparse(r->pool, &r->parsed_uri,
                        APR_URI_UNP_OMITPASSWORD),
                        r->assbackwards ? NULL : " ", r->protocol, NULL);
    }
    if (!ap_mod_status_reqtail) {
        apr_cpystrn(rbuf, p, rbuflen);
    }
    else {
        apr_size_t slen = strlen(p);
        if (slen < rbuflen) {
            apr_cpystrn(rbuf, p, rbuflen);
        }
        else {
            apr_cpystrn(rbuf, p+(slen-rbuflen+1), rbuflen);
        }
    }
}
['static void *APR_THREAD_FUNC start_threads(apr_thread_t * thd, void *dummy)\n{\n    thread_starter *ts = dummy;\n    apr_thread_t **threads = ts->threads;\n    apr_threadattr_t *thread_attr = ts->threadattr;\n    int child_num_arg = ts->child_num_arg;\n    int my_child_num = child_num_arg;\n    proc_info *my_info;\n    apr_status_t rv;\n    int i;\n    int threads_created = 0;\n    int listener_started = 0;\n    int loops;\n    int prev_threads_created;\n    int max_recycled_pools = -1;\n    int good_methods[] = {APR_POLLSET_KQUEUE, APR_POLLSET_PORT, APR_POLLSET_EPOLL};\n    worker_queue = apr_pcalloc(pchild, sizeof(*worker_queue));\n    rv = ap_queue_init(worker_queue, threads_per_child, pchild);\n    if (rv != APR_SUCCESS) {\n        ap_log_error(APLOG_MARK, APLOG_ALERT, rv, ap_server_conf,\n                     "ap_queue_init() failed");\n        clean_child_exit(APEXIT_CHILDFATAL);\n    }\n    if (ap_max_mem_free != APR_ALLOCATOR_MAX_FREE_UNLIMITED) {\n        max_recycled_pools = threads_per_child * 3 / 4 ;\n    }\n    rv = ap_queue_info_create(&worker_queue_info, pchild,\n                              threads_per_child, max_recycled_pools);\n    if (rv != APR_SUCCESS) {\n        ap_log_error(APLOG_MARK, APLOG_ALERT, rv, ap_server_conf,\n                     "ap_queue_info_create() failed");\n        clean_child_exit(APEXIT_CHILDFATAL);\n    }\n    rv = apr_thread_mutex_create(&timeout_mutex, APR_THREAD_MUTEX_DEFAULT,\n                                 pchild);\n    if (rv != APR_SUCCESS) {\n        ap_log_error(APLOG_MARK, APLOG_ERR, rv, ap_server_conf,\n                     "creation of the timeout mutex failed.");\n        clean_child_exit(APEXIT_CHILDFATAL);\n    }\n    for (i = 0; i < sizeof(good_methods) / sizeof(void*); i++) {\n        rv = apr_pollset_create_ex(&event_pollset,\n                            threads_per_child*2,\n                            pchild, APR_POLLSET_THREADSAFE | APR_POLLSET_NOCOPY | APR_POLLSET_NODEFAULT,\n                            good_methods[i]);\n        if (rv == APR_SUCCESS) {\n            break;\n        }\n    }\n    if (rv != APR_SUCCESS) {\n        rv = apr_pollset_create(&event_pollset,\n                               threads_per_child*2,\n                               pchild, APR_POLLSET_THREADSAFE | APR_POLLSET_NOCOPY);\n    }\n    if (rv != APR_SUCCESS) {\n        ap_log_error(APLOG_MARK, APLOG_ERR, rv, ap_server_conf,\n                     "apr_pollset_create with Thread Safety failed.");\n        clean_child_exit(APEXIT_CHILDFATAL);\n    }\n    ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, ap_server_conf, APLOGNO(02471)\n                 "start_threads: Using %s", apr_pollset_method_name(event_pollset));\n    worker_sockets = apr_pcalloc(pchild, threads_per_child\n                                 * sizeof(apr_socket_t *));\n    loops = prev_threads_created = 0;\n    while (1) {\n        for (i = 0; i < threads_per_child; i++) {\n            int status =\n                ap_scoreboard_image->servers[child_num_arg][i].status;\n            if (status != SERVER_GRACEFUL && status != SERVER_DEAD) {\n                continue;\n            }\n            my_info = (proc_info *) ap_malloc(sizeof(proc_info));\n            my_info->pid = my_child_num;\n            my_info->tid = i;\n            my_info->sd = 0;\n            ap_update_child_status_from_indexes(my_child_num, i,\n                                                SERVER_STARTING, NULL);\n            rv = apr_thread_create(&threads[i], thread_attr,\n                                   worker_thread, my_info, pchild);\n            if (rv != APR_SUCCESS) {\n                ap_log_error(APLOG_MARK, APLOG_ALERT, rv, ap_server_conf,\n                             "apr_thread_create: unable to create worker thread");\n                clean_child_exit(APEXIT_CHILDSICK);\n            }\n            threads_created++;\n        }\n        if (!listener_started && threads_created) {\n            create_listener_thread(ts);\n            listener_started = 1;\n        }\n        if (start_thread_may_exit || threads_created == threads_per_child) {\n            break;\n        }\n        apr_sleep(apr_time_from_sec(1));\n        ++loops;\n        if (loops % 120 == 0) {\n            if (prev_threads_created == threads_created) {\n                ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, ap_server_conf,\n                             "child %" APR_PID_T_FMT " isn\'t taking over "\n                             "slots very quickly (%d of %d)",\n                             ap_my_pid, threads_created,\n                             threads_per_child);\n            }\n            prev_threads_created = threads_created;\n        }\n    }\n    apr_thread_exit(thd, APR_SUCCESS);\n    return NULL;\n}', 'AP_DECLARE(int) ap_update_child_status_from_indexes(int child_num,\n                                                    int thread_num,\n                                                    int status,\n                                                    request_rec *r)\n{\n    if (child_num < 0) {\n        return -1;\n    }\n    return update_child_status_internal(child_num, thread_num, status,\n                                        r ? r->connection : NULL,\n                                        r);\n}', 'static int update_child_status_internal(int child_num,\n                                        int thread_num,\n                                        int status,\n                                        conn_rec *c,\n                                        request_rec *r)\n{\n    int old_status;\n    worker_score *ws;\n    process_score *ps;\n    int mpm_generation;\n    ws = &ap_scoreboard_image->servers[child_num][thread_num];\n    old_status = ws->status;\n    ws->status = status;\n    ps = &ap_scoreboard_image->parent[child_num];\n    if (status == SERVER_READY\n        && old_status == SERVER_STARTING) {\n        ws->thread_num = child_num * thread_limit + thread_num;\n        ap_mpm_query(AP_MPMQ_GENERATION, &mpm_generation);\n        ps->generation = mpm_generation;\n    }\n    if (ap_extended_status) {\n        if (status == SERVER_READY || status == SERVER_DEAD) {\n            if (status == SERVER_DEAD) {\n                ws->my_access_count = 0L;\n                ws->my_bytes_served = 0L;\n            }\n            ws->conn_count = 0;\n            ws->conn_bytes = 0;\n            ws->last_used = apr_time_now();\n        }\n        if (r) {\n            const char *client = ap_get_remote_host(c, r->per_dir_config,\n                                 REMOTE_NOLOOKUP, NULL);\n            if (!client || !strcmp(client, c->client_ip)) {\n                apr_cpystrn(ws->client, r->useragent_ip, sizeof(ws->client));\n            }\n            else {\n                apr_cpystrn(ws->client, client, sizeof(ws->client));\n            }\n            copy_request(ws->request, sizeof(ws->request), r);\n            if (r->server) {\n                apr_snprintf(ws->vhost, sizeof(ws->vhost), "%s:%d",\n                             r->server->server_hostname,\n                             r->connection->local_addr->port);\n            }\n        }\n        else if (c) {\n            apr_cpystrn(ws->client, ap_get_remote_host(c, NULL,\n                        REMOTE_NOLOOKUP, NULL), sizeof(ws->client));\n            ws->request[0]=\'\\0\';\n            ws->vhost[0]=\'\\0\';\n        }\n    }\n    return old_status;\n}', 'static void copy_request(char *rbuf, apr_size_t rbuflen, request_rec *r)\n{\n    char *p;\n    if (r->the_request == NULL) {\n        apr_cpystrn(rbuf, "NULL", rbuflen);\n        return;\n    }\n    if (r->parsed_uri.password == NULL) {\n        p = r->the_request;\n    }\n    else {\n        p = apr_pstrcat(r->pool, r->method, " ",\n                        apr_uri_unparse(r->pool, &r->parsed_uri,\n                        APR_URI_UNP_OMITPASSWORD),\n                        r->assbackwards ? NULL : " ", r->protocol, NULL);\n    }\n    if (!ap_mod_status_reqtail) {\n        apr_cpystrn(rbuf, p, rbuflen);\n    }\n    else {\n        apr_size_t slen = strlen(p);\n        if (slen < rbuflen) {\n            apr_cpystrn(rbuf, p, rbuflen);\n        }\n        else {\n            apr_cpystrn(rbuf, p+(slen-rbuflen+1), rbuflen);\n        }\n    }\n}']