[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [Libevent-users] Segfault under specific conditions



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