guile testsuite failure (gnutls 3.0.1 and later) and armel and mipsel
ludo at gnu.org
Wed Oct 19 23:49:33 CEST 2011
Nikos Mavrogiannopoulos <nmav at gnutls.org> skribis:
> On Sun, Oct 16, 2011 at 6:09 PM, Andreas Metzler
> <ametzler at downhill.at.eu.org> wrote:
>> (gdb) bt
>> #0 *__GI___libc_free (mem=0x1) at malloc.c:3709
>> #1 0x400b59cc in scm_gc_free () from /usr/lib/libguile.so.17
>> #2 0x400d79cc in scm_remove_from_port_table () from /usr/lib/libguile.so.17
>> #3 0x400b5f28 in scm_i_sweep_card () from /usr/lib/libguile.so.17
>> #4 0x404248f0 in ?? ()
I’ve reproduced it on armv5tel-unknown-linux-gnueabi, with Guile 1.8.8,
GCC 4.5.1, and glibc 2.12.
The 0x1 above seems to be the value of some port’s ‘putback_buf’ field.
Normally it should be either NULL or a valid pointer.
Adding ‘c_port->putback_buf = NULL’ in
$GNUTLS/guile/src/core.c:make_session_record_port, which is supposed to
be a non-functional change, leads to a malloc inconsistency much more
quickly (setting $MALLOC_CHECK_=2 helps catch it.)
So I’m starting to wonder if libguile and GnuTLS somehow have a
different vision of the layout of ‘scm_t_port’, which would explain
To be continued...
More information about the Gnutls-devel