On Thu, 2008-10-16 at 13:49 +0200, Sascha Wilde wrote:
> Timo Sirainen <[EMAIL PROTECTED]> writes:
> > On Oct 15, 2008, at 5:57 PM, Sascha Wilde wrote:
> >
> >> #1  0x0806ab6c in command_unregister (name=0x815b9ab "LOGOUT") at
> >> commands.c:83
> >> 83                      if (strcasecmp(cmd[i].name, name) == 0) {
> >> (gdb) p cmd[i]
> >> $1 = {name = 0xb7e65ce7 <Address 0xb7e65ce7 out of bounds>, func =
> >> 0xb7e6432d, flags = 0}
> >>      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> >>
> >> For some reasons this does _not_ happen when I simply close the
> >> connection (without explicitly logging out)...
> >
> > Your plugin isn't probably unregistering some command it registered
> > and the plugin is unloaded before commands_deinit() is called.
> 
> As said in my other mail, that was indeed the problem and it is now
> solved.  The question still left is: why didn't I see the segfoult in
> the logs when the connection was closed hard?
> 
> A quick look with gdb shows, that the deinit stuff is called in both
> cases, so I'd guess its an logging issue?

I've no idea really. Perhaps it was just luck? :) If the process
crashed, you would have gotten a "killed with signal 11" error to logs
since it's detected and logged by the master process.

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to