Corrupted double-linked list (nnrpd, Python, innconfval)
Julien ÉLIE
julien at trigofacile.com
Sat Jun 21 11:49:42 UTC 2008
Hi,
If there is a problem when loading a Python access script, I obtain:
13:34 news at news ~/bin/filter% telnet localhost 119
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
200 news.trigofacile.com InterNetNews server INN 2.5.0 (20080611 prerelease) ready
mode reader
502 Internal Error (7). Goodbye
*** glibc detected *** corrupted double-linked list: 0x080d48a8 ***
Connection closed by foreign host.
zsh: exit 1 telnet localhost 119
I believe it happens here:
void
PY_close_python(void)
{
if (files != NULL) {
hash_traverse(files, file_trav, NULL);
--> hash_free(files);
}
in nnrpd/python.c
which leads to:
void
hash_free(struct hash *hash)
{
size_t i;
void *entry;
for (i = 0; i < hash->size; i++) {
entry = hash->table[i];
if (entry != HASH_EMPTY && entry != HASH_DELETED)
(*hash->delete)(entry);
}
free(hash->table);
--> free(hash);
}
in lib/hashtab.c because if I comment the last "free(hash)", there is no segfault.
Besides, the error is triggered off by innconfval (!) because I have in syslog:
Jun 21 13:34:25 news kernel: innconfval[20725]: segfault at 08000000 eip b7e9e756 esp bfb72514 error 4
I wonder what happens.
Do you have an idea?
Or do you know how I could debug that? (first of all, how can I find a more extensive
error after the segfault [stack trace?] and how could I attach gdb or valgrind to
innconfval at the moment when innconfval is started?)
--
Julien ÉLIE
« -- Ils transportent une arme secrète dans un tonneau !
-- La cervoise tiède !!!
-- Non, ça c'est une arme connue. » (Astérix)
More information about the inn-workers
mailing list