emacs-devel
[Top][All Lists]
Advanced

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

Re: valgrind warnings [Re: Emacs bzr memory footprint]


From: Dan Nicolaescu
Subject: Re: valgrind warnings [Re: Emacs bzr memory footprint]
Date: Sat, 05 Nov 2011 18:08:32 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux)

Paul Eggert <address@hidden> writes:

> I like the idea of creating a src/valgrind.supp file.
> I looked at Dan's proposal and merged it with mine,
> adding some comments to try to explain things
> (merged version attached).

This version looks nicer!

> One question/problem that I had with Dan's is this rule:
>
>   {
>     survives_gc_p_cond
>     Memcheck:Cond
>     fun:survives_gc_p
>     fun:sweep_weak_table
>     fun:sweep_weak_hash_tables
>     fun:Fgarbage_collect
>     fun:*
>   }
>
> As near as I can make out, if survives_gc_p is accessing
> uninitialized storage, it's buggy, no?  Shouldn't we omit
> this rule and fix the bug instead?

The full warning looks like this (when also using --track-origins=yes):

==4937== Conditional jump or move depends on uninitialised value(s)
==4937==    at 0x5B7567: survives_gc_p (alloc.c:5838)
==4937==    by 0x5E5FBD: sweep_weak_table (fns.c:3965)
==4937==    by 0x5E62DE: sweep_weak_hash_tables (fns.c:4066)
==4937==    by 0x5B75C8: gc_sweep (alloc.c:5850)
==4937==    by 0x5B6195: Fgarbage_collect (alloc.c:5203)
==4937==    by 0x62301A: exec_byte_code (bytecode.c:820)
==4937==    by 0x5D7A96: funcall_lambda (eval.c:3205)
==4937==    by 0x5D754A: apply_lambda (eval.c:3082)
==4937==    by 0x5D5B4C: eval_sub (eval.c:2367)
==4937==    by 0x5D3AF6: internal_lisp_condition_case (eval.c:1453)
==4937==    by 0x623C06: exec_byte_code (bytecode.c:981)
==4937==    by 0x5D7A96: funcall_lambda (eval.c:3205)
==4937==  Uninitialised value was created by a stack allocation
==4937==    at 0x6224AA: exec_byte_code (bytecode.c:437)
==4937== 

Do you think that's a problem?



reply via email to

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