Following up with some more crash information:

(gdb) frame 3
#3  0xb7fbb023 in evhttp_send_reply (req=0x969b978, code=503,
reason=0x813d288 "ERROR", databuf=0x96a8c90) at http.c:2093
2093            evhttp_response_code(req, code, reason);
Current language:  auto; currently c
(gdb) p *req
$2 = {next = {tqe_next = 0x1, tqe_prev = 0x11}, evcon = 0x96aa2f8, flags =
-1210461832, input_headers = 0x10, output_headers = 0x20,
  remote_host = 0xb7f90088
"\f���\216�\237�B\237��\236�B\236��\235�P\235��\234�h\234�\002\234�\233��\230�\230�P\230��\227�z\227�<\227�\226�^\226�\006\226�\234\220�\217�\024\b\200W�0��",
  remote_port = 33016, kind = EVHTTP_RESPONSE, type = 157751600,
headers_size = 157751696, body_size = 157950352, uri = 0x1 <Address 0x1 out
of bounds>, major = 33 '!', minor = 0 '\0', response_code = 503,
  response_code_line = 0x746f746f <Address 0x746f746f out of bounds>,
input_buffer = 0x2d657079, ntoread = 31084746137298262, chunked = 0,
userdone = 0, output_buffer = 0x20, cb = 0x21, cb_arg = 0x96967c8, chunk_cb
= 0xa}

(gdb) frame 2
#2  0xb7fb5d76 in evhttp_response_code (req=0x746f7467, code=503,
reason=0x813d288 "ERROR") at http.c:2179
2179                    mm_free(req->response_code_line);
(gdb) p *req
Cannot access memory at address 0x746f7467
(gdb) p req
$5 = (struct evhttp_request *) 0x746f7467

Looks like the request pointer is freed somewhere between frame 3 and frame
2.

Thanks for any help,
David

Reply via email to