Ok I managed to get some more info It deadlocked and this is what I got in my log file
10/04/11 11:27:09 1466 3035069296 1 events are added to the send event base 10/04/11 11:27:09 1425 3068124016 Dispatching send event base 10/04/11 11:27:09 1425 3068124016 Starting loop for base 0x8808ad0 10/04/11 11:27:09 1425 3068124016 base: 0x8808ad0, ev: 0xb13f00f8 10/04/11 11:27:09 1425 3068124016 base: 0x8808ad0, ev: 0xb13f00f8 The last line repeats to infinity. On Sun, Apr 10, 2011 at 11:00 AM, Sherif Fanous <sherif.fan...@gmail.com>wrote: > Sorry about the late reply. > > I'm not very good with gdb. Actually I'm just a beginner with gdb. > > To generate the above trace I first waited for a deadlock to occur. I then > killed the process using "kill -6 <pid>" to force the process to dump core. > I then opened the core file using gdb and ran the command "thread apply all > where" > > I'll try to figure out how it's done, if not I'll just add some log > messages to evmap.c to log the values of base & ev on each loop and just > use event_set_log_callback to log this to a file :S > > Thanks > > Sherif > > On Sat, Apr 9, 2011 at 2:58 PM, Nick Mathewson <ni...@freehaven.net>wrote: > >> On Sat, Apr 9, 2011 at 4:16 AM, Sherif Fanous <sherif.fan...@gmail.com> >> wrote: >> > As a matter of fact, the thread in question is usually stuck in >> > event_active_nolock. >> > The funny thing is that it shows that it's stuck in line 2212 in event.c >> > which is the opening brace of the function. >> > How would I walk through ctx->events? >> >> So, having a look at the TAILQ_FOREACH definition, it's going to unpack >> to: >> >> for (ev = TAILQ_FIRST(&ctx->events); >> ev != TALQ_END(&ctx->events); >> ev = TAILQ_NEXT(ev, ev_io_next) { >> >> and that's going to turn into: >> >> for (ev = ctx->events.tqh_first; >> ev != NULL; >> ev = ev->ev_io_next.tqe_next) { >> >> So, given those stack traces, I assume you're using gdb. Start with >> ctx->events.tqh_first, then look at the ev_io_next.tqe_next field of >> that, then the ev_io_next.tqe_next field of that, etc, until you get a >> repeat or a NULL or something that looks crazy. >> >> hth, >> -- >> Nick >> > >