Continuing. Breakpoint 2, apr_file_mktemp (fp=0x7fffa9781828, template=0x7fffa40363e0 "/tmp/modproxy.tmp.XXXXXX", flags=0, p=0x7fffa401f898) at file_io/unix/mktemp.c:182 182 APR_FOPEN_DELONCLOSE : flags; (gdb) next 181 flags = (!flags) ? APR_FOPEN_CREATE | APR_FOPEN_READ | APR_FOPEN_WRITE | APR_FOPEN_EXCL | (gdb) next 190 fd = mkstemp(template); (gdb) next 193 if (fd == -1) { (gdb) next 203 apr_os_file_put(fp, &fd, flags, p); (gdb) next 204 (*fp)->fname = apr_pstrdup(p, template); (gdb) next 206 if (!(flags & APR_FOPEN_NOCLEANUP)) { (gdb) next 209 if ((flags = fcntl(fd, F_GETFD)) == -1) (gdb) next 212 flags |= FD_CLOEXEC; (gdb) next 213 if (fcntl(fd, F_SETFD, flags) == -1) (gdb) next 216 apr_pool_cleanup_register((*fp)->pool, (void *)(*fp), (gdb) next 221 return APR_SUCCESS; (gdb) next 222 } (gdb) next spool_reqbody_cl (req=0x7fffa4035a38, bytes_spooled=0x7fffa97818f0) at mod_proxy_http.c:491 491 if (status != APR_SUCCESS) { (gdb) next 498 for (e = APR_BRIGADE_FIRST(input_brigade); (gdb) next 499 e != APR_BRIGADE_SENTINEL(input_brigade); (gdb) next 498 for (e = APR_BRIGADE_FIRST(input_brigade); (gdb) next 504 apr_bucket_read(e, &data, &bytes_read, APR_BLOCK_READ); (gdb) next 505 status = apr_file_write_full(tmpfile, data, bytes_read, &bytes_written); (gdb) next 506 if (status != APR_SUCCESS) { (gdb) next 518 fsize += bytes_written; (gdb) next 500 e = APR_BUCKET_NEXT(e)) { (gdb) next 499 e != APR_BRIGADE_SENTINEL(input_brigade); (gdb) next 498 for (e = APR_BRIGADE_FIRST(input_brigade); (gdb) next 520 apr_brigade_cleanup(input_brigade); (gdb) next 540 *bytes_spooled += bytes; (gdb) next 541 } while (!seen_eos); (gdb) next 450 if (APR_BRIGADE_EMPTY(input_brigade)) { (gdb) next 451 rv = stream_reqbody_read(req, input_brigade, 0); (gdb) next 452 if (rv != OK) { (gdb) next 458 if (APR_BUCKET_IS_EOS(APR_BRIGADE_LAST(input_brigade))) { (gdb) next 462 apr_brigade_length(input_brigade, 1, &bytes); (gdb) next 464 if (*bytes_spooled + bytes > MAX_MEM_SPOOL) { (gdb) next 470 if (limit && (*bytes_spooled + bytes > limit)) { (gdb) next 477 if (tmpfile == NULL) { (gdb) next 498 for (e = APR_BRIGADE_FIRST(input_brigade); (gdb) next 499 e != APR_BRIGADE_SENTINEL(input_brigade); (gdb) next 498 for (e = APR_BRIGADE_FIRST(input_brigade); (gdb) next 504 apr_bucket_read(e, &data, &bytes_read, APR_BLOCK_READ); (gdb) next 505 status = apr_file_write_full(tmpfile, data, bytes_read, &bytes_written); (gdb) next 506 if (status != APR_SUCCESS) { (gdb) next 518 fsize += bytes_written; (gdb) next 500 e = APR_BUCKET_NEXT(e)) { (gdb) next 499 e != APR_BRIGADE_SENTINEL(input_brigade); (gdb) next 498 for (e = APR_BRIGADE_FIRST(input_brigade); (gdb) next 520 apr_brigade_cleanup(input_brigade); (gdb) next 540 *bytes_spooled += bytes; (gdb) next 541 } while (!seen_eos); (gdb) next 450 if (APR_BRIGADE_EMPTY(input_brigade)) { (gdb) next 451 rv = stream_reqbody_read(req, input_brigade, 0); (gdb) next 452 if (rv != OK) { (gdb) next 458 if (APR_BUCKET_IS_EOS(APR_BRIGADE_LAST(input_brigade))) { (gdb) next 462 apr_brigade_length(input_brigade, 1, &bytes); (gdb) next 464 if (*bytes_spooled + bytes > MAX_MEM_SPOOL) { (gdb) next 470 if (limit && (*bytes_spooled + bytes > limit)) { (gdb) next 477 if (tmpfile == NULL) { (gdb) next 498 for (e = APR_BRIGADE_FIRST(input_brigade); (gdb) next 499 e != APR_BRIGADE_SENTINEL(input_brigade); (gdb) next 498 for (e = APR_BRIGADE_FIRST(input_brigade); (gdb) next 504 apr_bucket_read(e, &data, &bytes_read, APR_BLOCK_READ); (gdb) next 505 status = apr_file_write_full(tmpfile, data, bytes_read, &bytes_written); (gdb) next 506 if (status != APR_SUCCESS) { (gdb) next 518 fsize += bytes_written; (gdb) next 500 e = APR_BUCKET_NEXT(e)) { (gdb) next 499 e != APR_BRIGADE_SENTINEL(input_brigade); (gdb) next 498 for (e = APR_BRIGADE_FIRST(input_brigade); (gdb) next 520 apr_brigade_cleanup(input_brigade); (gdb) next 540 *bytes_spooled += bytes; (gdb) next 541 } while (!seen_eos); (gdb) next 450 if (APR_BRIGADE_EMPTY(input_brigade)) { (gdb) next 451 rv = stream_reqbody_read(req, input_brigade, 0); (gdb) next 452 if (rv != OK) { (gdb) next 458 if (APR_BUCKET_IS_EOS(APR_BRIGADE_LAST(input_brigade))) { (gdb) next 462 apr_brigade_length(input_brigade, 1, &bytes); (gdb) next 464 if (*bytes_spooled + bytes > MAX_MEM_SPOOL) { (gdb) next 470 if (limit && (*bytes_spooled + bytes > limit)) { (gdb) next 477 if (tmpfile == NULL) { (gdb) next 498 for (e = APR_BRIGADE_FIRST(input_brigade); (gdb) next 499 e != APR_BRIGADE_SENTINEL(input_brigade); (gdb) next 498 for (e = APR_BRIGADE_FIRST(input_brigade); (gdb) next 504 apr_bucket_read(e, &data, &bytes_read, APR_BLOCK_READ); (gdb) next 505 status = apr_file_write_full(tmpfile, data, bytes_read, &bytes_written); (gdb) next 506 if (status != APR_SUCCESS) { (gdb) next 518 fsize += bytes_written; (gdb) next 500 e = APR_BUCKET_NEXT(e)) { (gdb) next 499 e != APR_BRIGADE_SENTINEL(input_brigade); (gdb) next 498 for (e = APR_BRIGADE_FIRST(input_brigade); (gdb) next 520 apr_brigade_cleanup(input_brigade); (gdb) next 540 *bytes_spooled += bytes; (gdb) next 541 } while (!seen_eos); (gdb) next 450 if (APR_BRIGADE_EMPTY(input_brigade)) { (gdb) next 451 rv = stream_reqbody_read(req, input_brigade, 0); (gdb) next 452 if (rv != OK) { (gdb) next 458 if (APR_BUCKET_IS_EOS(APR_BRIGADE_LAST(input_brigade))) { (gdb) next 462 apr_brigade_length(input_brigade, 1, &bytes); (gdb) next 464 if (*bytes_spooled + bytes > MAX_MEM_SPOOL) { (gdb) next 470 if (limit && (*bytes_spooled + bytes > limit)) { (gdb) next 477 if (tmpfile == NULL) { (gdb) next 498 for (e = APR_BRIGADE_FIRST(input_brigade); (gdb) next 499 e != APR_BRIGADE_SENTINEL(input_brigade); (gdb) next 498 for (e = APR_BRIGADE_FIRST(input_brigade); (gdb) next 504 apr_bucket_read(e, &data, &bytes_read, APR_BLOCK_READ); (gdb) next 505 status = apr_file_write_full(tmpfile, data, bytes_read, &bytes_written); (gdb) next 506 if (status != APR_SUCCESS) { (gdb) next 518 fsize += bytes_written; (gdb) next 500 e = APR_BUCKET_NEXT(e)) { (gdb) next 499 e != APR_BRIGADE_SENTINEL(input_brigade); (gdb) next 498 for (e = APR_BRIGADE_FIRST(input_brigade); (gdb) next 520 apr_brigade_cleanup(input_brigade); (gdb) next 540 *bytes_spooled += bytes; (gdb) next 541 } while (!seen_eos); (gdb) next 450 if (APR_BRIGADE_EMPTY(input_brigade)) { (gdb) next 451 rv = stream_reqbody_read(req, input_brigade, 0); (gdb) next 452 if (rv != OK) { (gdb) next 458 if (APR_BUCKET_IS_EOS(APR_BRIGADE_LAST(input_brigade))) { (gdb) next 462 apr_brigade_length(input_brigade, 1, &bytes); (gdb) next 464 if (*bytes_spooled + bytes > MAX_MEM_SPOOL) { (gdb) next 470 if (limit && (*bytes_spooled + bytes > limit)) { (gdb) next 477 if (tmpfile == NULL) { (gdb) next 498 for (e = APR_BRIGADE_FIRST(input_brigade); (gdb) next 499 e != APR_BRIGADE_SENTINEL(input_brigade); (gdb) next 498 for (e = APR_BRIGADE_FIRST(input_brigade); (gdb) next 504 apr_bucket_read(e, &data, &bytes_read, APR_BLOCK_READ); (gdb) next 505 status = apr_file_write_full(tmpfile, data, bytes_read, &bytes_written); (gdb) next 506 if (status != APR_SUCCESS) { (gdb) next 518 fsize += bytes_written; (gdb) next 500 e = APR_BUCKET_NEXT(e)) { (gdb) next 499 e != APR_BRIGADE_SENTINEL(input_brigade); (gdb) next 498 for (e = APR_BRIGADE_FIRST(input_brigade); (gdb) next 520 apr_brigade_cleanup(input_brigade); (gdb) next 540 *bytes_spooled += bytes; (gdb) next 541 } while (!seen_eos); (gdb) next 450 if (APR_BRIGADE_EMPTY(input_brigade)) { (gdb) next 451 rv = stream_reqbody_read(req, input_brigade, 0); (gdb) next 452 if (rv != OK) { (gdb) next 458 if (APR_BUCKET_IS_EOS(APR_BRIGADE_LAST(input_brigade))) { (gdb) next 462 apr_brigade_length(input_brigade, 1, &bytes); (gdb) next 464 if (*bytes_spooled + bytes > MAX_MEM_SPOOL) { (gdb) next 470 if (limit && (*bytes_spooled + bytes > limit)) { (gdb) next 477 if (tmpfile == NULL) { (gdb) next 498 for (e = APR_BRIGADE_FIRST(input_brigade); (gdb) next 499 e != APR_BRIGADE_SENTINEL(input_brigade); (gdb) next 498 for (e = APR_BRIGADE_FIRST(input_brigade); (gdb) next 504 apr_bucket_read(e, &data, &bytes_read, APR_BLOCK_READ); (gdb) next 505 status = apr_file_write_full(tmpfile, data, bytes_read, &bytes_written); (gdb) next 506 if (status != APR_SUCCESS) { (gdb) next 518 fsize += bytes_written; (gdb) next 500 e = APR_BUCKET_NEXT(e)) { (gdb) next 499 e != APR_BRIGADE_SENTINEL(input_brigade); (gdb) next 498 for (e = APR_BRIGADE_FIRST(input_brigade); (gdb) next 520 apr_brigade_cleanup(input_brigade); (gdb) next 540 *bytes_spooled += bytes; (gdb) next 541 } while (!seen_eos); (gdb) next 450 if (APR_BRIGADE_EMPTY(input_brigade)) { (gdb) next 451 rv = stream_reqbody_read(req, input_brigade, 0); (gdb) next 452 if (rv != OK) { (gdb) next 458 if (APR_BUCKET_IS_EOS(APR_BRIGADE_LAST(input_brigade))) { (gdb) next 462 apr_brigade_length(input_brigade, 1, &bytes); (gdb) next 464 if (*bytes_spooled + bytes > MAX_MEM_SPOOL) { (gdb) next 470 if (limit && (*bytes_spooled + bytes > limit)) { (gdb) next 477 if (tmpfile == NULL) { (gdb) next 498 for (e = APR_BRIGADE_FIRST(input_brigade); (gdb) next 499 e != APR_BRIGADE_SENTINEL(input_brigade); (gdb) next 498 for (e = APR_BRIGADE_FIRST(input_brigade); (gdb) next 504 apr_bucket_read(e, &data, &bytes_read, APR_BLOCK_READ); (gdb) next 505 status = apr_file_write_full(tmpfile, data, bytes_read, &bytes_written); (gdb) next 506 if (status != APR_SUCCESS) { (gdb) next 518 fsize += bytes_written; (gdb) next 500 e = APR_BUCKET_NEXT(e)) { (gdb) next 499 e != APR_BRIGADE_SENTINEL(input_brigade); (gdb) next 498 for (e = APR_BRIGADE_FIRST(input_brigade); (gdb) next 520 apr_brigade_cleanup(input_brigade); (gdb) next 540 *bytes_spooled += bytes; (gdb) next 541 } while (!seen_eos); (gdb) next 450 if (APR_BRIGADE_EMPTY(input_brigade)) { (gdb) next 451 rv = stream_reqbody_read(req, input_brigade, 0); (gdb) next 452 if (rv != OK) { (gdb) next 458 if (APR_BUCKET_IS_EOS(APR_BRIGADE_LAST(input_brigade))) { (gdb) next 462 apr_brigade_length(input_brigade, 1, &bytes); (gdb) next 464 if (*bytes_spooled + bytes > MAX_MEM_SPOOL) { (gdb) next 470 if (limit && (*bytes_spooled + bytes > limit)) { (gdb) next 477 if (tmpfile == NULL) { (gdb) next 498 for (e = APR_BRIGADE_FIRST(input_brigade); (gdb) next 499 e != APR_BRIGADE_SENTINEL(input_brigade); (gdb) next 498 for (e = APR_BRIGADE_FIRST(input_brigade); (gdb) next 504 apr_bucket_read(e, &data, &bytes_read, APR_BLOCK_READ); (gdb) next 505 status = apr_file_write_full(tmpfile, data, bytes_read, &bytes_written); (gdb) next 506 if (status != APR_SUCCESS) { (gdb) next 518 fsize += bytes_written; (gdb) next 500 e = APR_BUCKET_NEXT(e)) { (gdb) next 499 e != APR_BRIGADE_SENTINEL(input_brigade); (gdb) next 498 for (e = APR_BRIGADE_FIRST(input_brigade); (gdb) next 520 apr_brigade_cleanup(input_brigade); (gdb) next 540 *bytes_spooled += bytes; (gdb) next 541 } while (!seen_eos); (gdb) next 450 if (APR_BRIGADE_EMPTY(input_brigade)) { (gdb) next 451 rv = stream_reqbody_read(req, input_brigade, 0); (gdb) next 452 if (rv != OK) { (gdb) next 458 if (APR_BUCKET_IS_EOS(APR_BRIGADE_LAST(input_brigade))) { (gdb) next 462 apr_brigade_length(input_brigade, 1, &bytes); (gdb) next 464 if (*bytes_spooled + bytes > MAX_MEM_SPOOL) { (gdb) next 470 if (limit && (*bytes_spooled + bytes > limit)) { (gdb) next 477 if (tmpfile == NULL) { (gdb) next 498 for (e = APR_BRIGADE_FIRST(input_brigade); (gdb) next 499 e != APR_BRIGADE_SENTINEL(input_brigade); (gdb) next 498 for (e = APR_BRIGADE_FIRST(input_brigade); (gdb) next 504 apr_bucket_read(e, &data, &bytes_read, APR_BLOCK_READ); (gdb) next [Switching to Thread 0x7fffb2794700 (LWP 125295)] Breakpoint 3, file_cleanup (file=0x7fffe81112b8, is_child=0) at file_io/unix/open.c:31 31 apr_status_t rv = APR_SUCCESS; (gdb) next 32 int fd = file->filedes; (gdb) next 37 file->filedes = -1; (gdb) next 39 if (close(fd) == 0) { (gdb) next 41 if (!is_child && (file->flags & APR_FOPEN_DELONCLOSE)) { (gdb) next 45 if (file->thlock) { (gdb) next 68 return rv; (gdb) next 69 } (gdb) next apr_unix_file_cleanup (thefile=0x7fffe81112b8) at file_io/unix/open.c:82 82 return rv != APR_SUCCESS ? rv : flush_rv; (gdb) next 83 } (gdb) next apr_pool_cleanup_run (p=0x7fffe8110b78, data=0x7fffe81112b8, cleanup_fn=0x7ffff74f6bfa ) at memory/unix/apr_pools.c:2621 2621 } (gdb) next apr_file_close (file=0x7fffe81112b8) at file_io/unix/open.c:256 256 } (gdb) next ssl_rand_seed (s=0xfe85b0, p=0x7fffe8110b78, nCtx=SSL_RSCTX_CONNECT, prefix=0x7ffff2a3973b "Server: ") at ssl_engine_rand.c:56 56 for (i = 0; i < apRandSeed->nelts; i++) { (gdb) next 57 pRandSeed = &pRandSeeds[i]; (gdb) next 58 if (pRandSeed->nCtx == nCtx) { (gdb) next 56 for (i = 0; i < apRandSeed->nelts; i++) { (gdb) next 57 pRandSeed = &pRandSeeds[i]; (gdb) next 58 if (pRandSeed->nCtx == nCtx) { (gdb) next 59 if (pRandSeed->nSrc == SSL_RSSRC_FILE) { (gdb) next 69 else if (pRandSeed->nSrc == SSL_RSSRC_EXEC) { (gdb) next 85 else if (pRandSeed->nSrc == SSL_RSSRC_EGD) { (gdb) next 95 else if (pRandSeed->nSrc == SSL_RSSRC_BUILTIN) { (gdb) next 104 my_seed.t = time(NULL); (gdb) next 109 my_seed.pid = mc->pid; (gdb) next 111 l = sizeof(my_seed); (gdb) next 112 RAND_seed((unsigned char *)&my_seed, l); (gdb) next 113 nDone += l; (gdb) next 118 n = ssl_rand_choosenum(0, sizeof(stackdata)-128-1); (gdb) next 119 RAND_seed(stackdata+n, 128); (gdb) next 120 nDone += 128; (gdb) next 56 for (i = 0; i < apRandSeed->nelts; i++) { (gdb) next 125 ap_log_error(APLOG_MARK, APLOG_TRACE2, 0, s, (gdb) next 128 if (RAND_status() == 0) (gdb) next 132 return nDone; (gdb) next 133 } (gdb) next ssl_init_ssl_connection (c=0x7fffe8110e08, r=0x0) at mod_ssl.c:606 606 mctx = myCtxConfig(sslconn, sc); (gdb) next 613 if (!(sslconn->ssl = ssl = SSL_new(mctx->ssl_ctx))) { (gdb) next 624 rc = ssl_run_pre_handshake(c, ssl, sslconn->is_proxy ? 1 : 0); (gdb) next 625 if (rc != OK && rc != DECLINED) { (gdb) next 629 vhost_md5 = ap_md5_binary(c->pool, (unsigned char *)sc->vhost_id, (gdb) next 632 if (!SSL_set_session_id_context(ssl, (unsigned char *)vhost_md5, (gdb) next 644 SSL_set_app_data(ssl, c); (gdb) next 645 modssl_set_app_data2(ssl, NULL); /* will be request_rec */ (gdb) next 647 SSL_set_verify_result(ssl, X509_V_OK); (gdb) next 649 ssl_io_filter_init(c, r, ssl); (gdb) next 651 return APR_SUCCESS; (gdb) next 652 } (gdb) next ssl_hook_pre_connection (c=0x7fffe8110e08, csd=0x7fffe8110bf0) at mod_ssl.c:693 693 } (gdb) next ap_process_connection (c=0x7fffe8110e08, csd=0x7fffe8110bf0) at connection.c:214 214 if (rc != OK && rc != DONE) { (gdb) next 218 if (!c->aborted) { (gdb) next 219 ap_run_process_connection(c); (gdb) next Program received signal SIGPIPE, Broken pipe. 0x00007ffff699d430 in writev () from /lib64/libc.so.6 (gdb) next Single stepping until exit from function writev, which has no line number information. apr_socket_sendv (sock=0x7fffe8110bf0, vec=0x7fffb27937e0, nvec=1, len=0x7fffb2793758) at network_io/unix/sendrecv.c:213 213 } while (rv == -1 && errno == EINTR); (gdb) next 215 while ((rv == -1) && (errno == EAGAIN || errno == EWOULDBLOCK) (gdb) next 230 if (rv == -1) { (gdb) next 231 *len = 0; (gdb) next 232 return errno; (gdb) next 243 } (gdb) next writev_nonblocking (s=0x7fffe8110bf0, vec=0x7fffb27937e0, nvec=1, bb=0x7fffe8111428, cumulative_bytes_written=0x7fff9c005878, c=0x7fffe8110e08) at core_filters.c:822 822 if (n > 0) { (gdb) next 843 if (rv != APR_SUCCESS) { (gdb) next 847 if ((ap__logio_add_bytes_out != NULL) && (bytes_written > 0)) { (gdb) next 850 *cumulative_bytes_written += bytes_written; (gdb) next 852 arv = apr_socket_timeout_set(s, old_timeout); (gdb) next 853 if ((arv != APR_SUCCESS) && (rv == APR_SUCCESS)) { (gdb) next 857 return rv; (gdb) next 859 } (gdb) next send_brigade_nonblocking (s=0x7fffe8110bf0, bb=0x7fffe8111428, bytes_written=0x7fff9c005878, c=0x7fffe8110e08) at core_filters.c:739 739 if (rv != APR_SUCCESS) { (gdb) next 740 return rv; (gdb) next 747 } (gdb) next send_brigade_blocking (s=0x7fffe8110bf0, bb=0x7fffe8111428, bytes_written=0x7fff9c005878, c=0x7fffe8110e08) at core_filters.c:768 768 if (rv != APR_SUCCESS) { (gdb) next 769 if (APR_STATUS_IS_EAGAIN(rv)) { (gdb) next 788 break; (gdb) next 792 return rv; (gdb) next 793 } (gdb) next ap_core_output_filter (f=0x7fff9c0056a8, new_bb=0x7fffe8111428) at core_filters.c:558 558 if (rv != APR_SUCCESS) { (gdb) next 560 ap_log_cerror(APLOG_MARK, APLOG_TRACE1, rv, c, (gdb) next 562 apr_brigade_cleanup(bb); (gdb) next 563 c->aborted = 1; (gdb) next 564 return rv; (gdb) next 604 } (gdb) next ap_pass_brigade (next=0x7fff9c0056a8, bb=0x7fffe8111428) at util_filter.c:593 593 } (gdb) next bio_filter_out_pass (outctx=0x7fffe8111408) at ssl_engine_io.c:142 142 if (outctx->rc == APR_SUCCESS && outctx->c->aborted) { (gdb) next 145 return (outctx->rc == APR_SUCCESS) ? 1 : -1; (gdb) next 146 } (gdb) next bio_filter_out_flush (bio=0x7fff9c0034e0) at ssl_engine_io.c:161 161 } (gdb) next bio_filter_out_ctrl (bio=0x7fff9c0034e0, cmd=11, num=0, ptr=0x0) at ssl_engine_io.c:269 269 break; (gdb) next 284 return ret; (gdb) next 285 } (gdb) next 0x00007ffff27a984b in ssl3_accept () from /lib64/libssl.so.10 (gdb) next Single stepping until exit from function ssl3_accept, which has no line number information. 0x00007ffff27b9508 in ssl23_accept () from /lib64/libssl.so.10 (gdb) next Single stepping until exit from function ssl23_accept, which has no line number information. ssl_io_filter_handshake (filter_ctx=0x7fffe8111388) at ssl_engine_io.c:1333 1333 BIO_get_data(filter_ctx->pbioRead); (gdb) next 1332 bio_filter_in_ctx_t *inctx = (bio_filter_in_ctx_t *) (gdb) next 1335 BIO_get_data(filter_ctx->pbioWrite); (gdb) next 1334 bio_filter_out_ctx_t *outctx = (bio_filter_out_ctx_t *) (gdb) next 1336 apr_status_t rc = inctx->rc ? inctx->rc : outctx->rc ; (gdb) next 1337 ssl_err = SSL_get_error(filter_ctx->pssl, n); (gdb) next 1339 if (ssl_err == SSL_ERROR_ZERO_RETURN) { (gdb) next 1348 else if (ssl_err == SSL_ERROR_WANT_READ) { (gdb) next 1357 else if (ERR_GET_LIB(ERR_peek_error()) == ERR_LIB_SSL && (gdb) next 1367 else if (ssl_err == SSL_ERROR_SYSCALL) { (gdb) next 1368 ap_log_cerror(APLOG_MARK, APLOG_DEBUG, rc, c, APLOGNO(02007) (gdb) next 1383 if (inctx->rc == APR_SUCCESS) { (gdb) next 1384 inctx->rc = APR_EGENERAL; (gdb) next 1387 ssl_filter_io_shutdown(filter_ctx, c, 1); (gdb) next 1388 return inctx->rc; (gdb) next 1459 } (gdb) next ssl_io_filter_input (f=0x7fff9c0055d8, bb=0x7fff9c005768, mode=AP_MODE_INIT, block=APR_BLOCK_READ, readbytes=0) at ssl_engine_io.c:1520 1520 return ssl_io_filter_error(inctx, bb, status, is_init); (gdb) next 1585 } (gdb) next ap_get_brigade (next=0x7fff9c0055d8, bb=0x7fff9c005768, mode=AP_MODE_INIT, block=APR_BLOCK_READ, readbytes=0) at util_filter.c:557 557 } (gdb) next ssl_hook_process_connection (c=0x7fffe8110e08) at mod_ssl.c:709 709 apr_brigade_destroy(temp); (gdb) next 712 return DECLINED; (gdb) next 713 } (gdb) next ap_process_connection (c=0x7fffe8110e08, csd=0x7fffe8110bf0) at connection.c:221 221 } (gdb) next process_socket (thd=0x7fffe807a6a8, p=0x7fffe8110b78, sock=0x7fffe8110bf0, my_child_num=0, my_thread_num=109, bucket_alloc=0x7fff9c0008e8) at worker.c:480 480 ap_lingering_close(current_conn); (gdb) next [Switching to Thread 0x7fffa9782700 (LWP 125313)] Breakpoint 3, file_cleanup (file=0x7fffe810f1e8, is_child=0) at file_io/unix/open.c:31 31 apr_status_t rv = APR_SUCCESS; (gdb) print *file $2 = {pool = 0x7fffe810ea98, filedes = 20, fname = 0x7fffe810f260 "/dev/urandom", flags = 1, eof_hit = 0, is_pipe = 0, timeout = -1, buffered = 0, blocking = BLK_ON, ungetchar = -1, buffer = 0x0, bufpos = 0, bufsize = 0, dataRead = 0, direction = 0, filePtr = 0, thlock = 0x0} (gdb)