Introduction

Sage 2.8.5 and later supports a number of valgrind tools:

Valgrinding Sage is difficult because it runs on top of Python which poses a number of challenges compared to pure C/C++ code. Run

sage -optional

to see the list of optional packages. You should install the valgrind.spkg with the highest revision number.

Valgrind Version

The latest official valgrind 3.2.3 does not work. You need to build from 3.3.0svn trunk. There is an experimental Sage valgrind.spkg that works and is used by many of the Sage developers.

Known Issues With Sage Components

valgrind: m_mallocfree.c:209 (get_bszB_as_is): Assertion 'bszB_lo == bszB_hi' failed.
valgrind: Heap block lo/hi size mismatch: lo = 100000048, hi = 280100984.
Probably caused by overrunning/underrunning a heap block's bounds.

Preliminary Presentation

More to come at SD6. But: [attachment:SageDays5_preliminary_valgrind_talk.pdf]

Interesting Experimnetal Valgrind Tools/Components

ToDo