guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Goops & Valgrind


From: Han-Wen Nienhuys
Subject: Goops & Valgrind
Date: Sat, 16 Aug 2008 02:15:17 -0300
User-agent: Thunderbird 2.0.0.16 (X11/20080723)

Running the test suite through valgrind, I get some fishy errors.

Can someone shed a light on this?  The culprit seems to be 

#define SCM_NUMBER_OF_SLOTS(x) \
 ((SCM_STRUCT_DATA (x)[scm_struct_i_n_words]) - scm_struct_n_extra_words)

where scm_struct_i_n_words is -2


==18569== Invalid read of size 4
==18569==    at 0x4055F93: scm_sys_fast_slot_ref (goops.c:1217)
==18569==    by 0x404073C: ceval (eval.i.c:1337)
==18569==    by 0x40404A6: ceval (eval.i.c:609)
==18569==    by 0x4054EA5: get_slot_value (goops.c:1291)
==18569==    by 0x405684E: scm_sys_initialize_object (goops.c:580)
==18569==    by 0x404073C: ceval (eval.i.c:1337)
==18569==    by 0x40407D5: ceval (eval.i.c:358)
==18569==    by 0x4048C31: scm_m_define (eval.c:1215)
==18569==    by 0x40464CC: scm_apply (eval.i.c:1728)
==18569==    by 0x403F026: ceval (eval.i.c:1037)
==18569==    by 0x404010A: ceval (eval.i.c:329)
==18569==    by 0x40479CA: scm_primitive_eval (eval.c:3992)
==18569==  Address 0x42fda98 is 8 bytes before a block of size 4 alloc'd
==18569==    at 0x4006AEE: malloc (vg_replace_malloc.c:207)
==18569==    by 0x4006C6F: realloc (vg_replace_malloc.c:429)
==18569==    by 0x404F3C7: scm_realloc (gc-malloc.c:109)
==18569==    by 0x404F634: scm_malloc (gc-malloc.c:144)
==18569==    by 0x404F66A: scm_gc_malloc (gc-malloc.c:326)
==18569==    by 0x4054D8E: scm_sys_allocate_instance (goops.c:1541)
==18569==    by 0x404073C: ceval (eval.i.c:1337)
==18569==    by 0x40404A6: ceval (eval.i.c:609)
==18569==    by 0x4048C31: scm_m_define (eval.c:1215)
==18569==    by 0x40464CC: scm_apply (eval.i.c:1728)
==18569==    by 0x403F026: ceval (eval.i.c:1037)
==18569==    by 0x404010A: ceval (eval.i.c:329)



==18569== Invalid read of size 4
==18569==    at 0x4055EF3: scm_sys_fast_slot_set_x (goops.c:1231)
==18569==    by 0x403F673: ceval (eval.i.c:1548)
==18569==    by 0x40407D5: ceval (eval.i.c:358)
==18569==    by 0x4055C24: set_slot_value (goops.c:1336)
==18569==    by 0x405680D: scm_sys_initialize_object (goops.c:584)
==18569==    by 0x404073C: ceval (eval.i.c:1337)
==18569==    by 0x40407D5: ceval (eval.i.c:358)
==18569==    by 0x4048C31: scm_m_define (eval.c:1215)
==18569==    by 0x40464CC: scm_apply (eval.i.c:1728)
==18569==    by 0x403F026: ceval (eval.i.c:1037)
==18569==    by 0x404010A: ceval (eval.i.c:329)
==18569==    by 0x40479CA: scm_primitive_eval (eval.c:3992)
==18569==  Address 0x42fda98 is 8 bytes before a block of size 4 alloc'd
==18569==    at 0x4006AEE: malloc (vg_replace_malloc.c:207)
==18569==    by 0x4006C6F: realloc (vg_replace_malloc.c:429)
==18569==    by 0x404F3C7: scm_realloc (gc-malloc.c:109)
==18569==    by 0x404F634: scm_malloc (gc-malloc.c:144)
==18569==    by 0x404F66A: scm_gc_malloc (gc-malloc.c:326)
==18569==    by 0x4054D8E: scm_sys_allocate_instance (goops.c:1541)
==18569==    by 0x404073C: ceval (eval.i.c:1337)
==18569==    by 0x40404A6: ceval (eval.i.c:609)
==18569==    by 0x4048C31: scm_m_define (eval.c:1215)
==18569==    by 0x40464CC: scm_apply (eval.i.c:1728)
==18569==    by 0x403F026: ceval (eval.i.c:1037)
==18569==    by 0x404010A: ceval (eval.i.c:329)


-- 
 Han-Wen Nienhuys - address@hidden - http://www.xs4all.nl/~hanwen





reply via email to

[Prev in Thread] Current Thread [Next in Thread]