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

Re: [Libevent-users] Segfault under specific conditions



Hi Niels!

Here's the latest crash report:

#0  0xb7cc39b4 in free () from /lib/libc.so.6
#1  0xb7f9f798 in mm_free (ptr=0x746f746f) at event.c:2407
#2  0xb7fb5d76 in evhttp_response_code (req=0x746f7467, code=503, reason=0x813d288 "ERROR") at http.c:2179
#3  0xb7fbb023 in evhttp_send_reply (req=0x969b978, code=503, reason=0x813d288 "ERROR", databuf=0x96a8c90) at http.c:2093
#4  0x081190ef in long_polling_bead (it={_M_node = 0xb7d9d170}) at eve.new.cpp:394
#5  0x08119c85 in handle_beads () at eve.new.cpp:485
#6  0x08119cd6 in iterate_cb (fd=-1, event=1, arg=0x0) at eve.new.cpp:490
#7  0xb7fa44f9 in event_base_loop (base=0x96959c0, flags=0) at event.c:1170
#8  0xb7fa5095 in event_base_dispatch (event_base=0x96959c0) at event.c:1250
#9  0x08118c93 in main (argc=1, argv=0xbfc43f04) at eve.new.cpp:631

(gdb) frame 4
#4  0x081190ef in long_polling_bead (it={_M_node = 0xb7d9d170}) at eve.new.cpp:394
394                             evhttp_send_reply((*it).first,503,"ERROR",evb);

(gdb) p *req
No symbol "req" in current context.
(gdb) p (*it).first
$1 = (struct evhttp_request * const) 0x969b978

Any ideas?

Regards,
David Titarenco

On Wed, Mar 10, 2010 at 2:39 PM, Niels Provos <provos@xxxxxxxxx> wrote:
Next time, try the following:

On Wed, Mar 10, 2010 at 1:14 PM, David Titarenco
> Program received signal SIGSEGV, Segmentation fault.
> 0xb7bf49b4 in free () from /lib/libc.so.6
> (gdb) bt
> #0  0xb7bf49b4 in free () from /lib/libc.so.6
> #1  0xb7ed0798 in mm_free (ptr=0x31313932) at event.c:2407
> #2  0xb7ee6d76 in evhttp_response_code (req=0x3131392a, code=503,
> reason=0x813d288 "ERROR") at http.c:2179
> #3  0xb7eec023 in evhttp_send_reply (req=0x9f40570, code=503,
> reason=0x813d288 "ERROR", databuf=0x9f3f7a0) at http.c:2093

(gdb) frame 4
(gdb) p *req

BTW, you mentioned iterating over a STL hash table.  Is it possible
that you are deleting elements from the hash table while iterating
over it?   An erase invalidates the iterator.

Niels.
***********************************************************************
To unsubscribe, send an e-mail to majordomo@xxxxxxxxxxxxx with
unsubscribe libevent-users    in the body.