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.
signature.asc
Description: This is a digitally signed message part