[Top][All Lists]
[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
- Goops & Valgrind,
Han-Wen Nienhuys <=