The story here begins back in July 2003 when the first versions of the valgrind toolkit and massif plugin were released. I adapted these tools to work well with my infected AF plugin on linux. The good (sorry for this pun) news is that I had the source for massif/valgrind in hand. Alas, I didn't maintain the valgrinds from year to year. Thus, I never knew when I'd need to change something in my valgrind or massif setup.
I realized I needed a better alias template in valgrind. So, when I had time and figured out what I needed, I did it. I updated the template in valgrind-3.3/src/alias.c to point to my alias file. The good news is that it will probably survive presimulation without having to update the valgrind-3.3 file. The bad news is that it's not that good an alias template. I can't see how one could do a good job predicting a malloc array. I've been around the block enough times in valgrind to know that the conditionals used to probe malloc behavior can and will break. For this reason, I went with the simplest option I could think of (using the global malloc_alloc_hook instead of the valgrind_memcheck_alloc hook.)
The problem I had noticed while tracing my new allocation in my valgrind reports was seen in the segX report. I was tracing the new memory block the same way I used to do my old allocations. So, when the malloc_hook was invoked (I'm using the memcheck_alloc hook for regular mallocs) it was logging the object size. This was okay for the old version, but for my new version, it was recording the size of a pointer. The old version (97.2) was OK with this. But, I guess, the guy at http://www.gnu.org/software/valgrind/valgrind-3.x/ChangeLog.94.html didn't like this, because I had deallocated the old object. In fact, he said:
Whole-genome-whole-genome scanning has been suggested as a new paradigm for interpretation of genome scale sequencing data (eg, Chorley et al 2017a). The term Whole-Genome-Sequencing (WGS) refers to the sequencing of an entire genome, while Whole-Exome-Sequencing (WES) refers to the sequence of the exome (only parts of the genome that code for genes). One difference between WES and WGS is that the WES approach can be made economically feasible by the application of high-throughput, high-output, deep sequencing. WGS is often preferred for large studies that aim to describe variants in populations of patients with Mendelian diseases or sequencing studies of the entire genome, which can then be compared with the expected Mendelian population. For example, WES is the basis for the Clinical Interpretation of Mutations in Cancer Consortium (CIMP) , which is a consortium of clinicians and cancer physicians working to understand the driver mutations in metastatic colorectal cancer. Thus, in clinical care, it is highly recommended to capture the whole genomic sequence of a tumor, as it will be a more complete picture of all potential molecular alterations. Whole-genome sequencing is relevant here for the cancer doctor, who might order or request such a test for the definition of the tumor genotype. In contrast, the WES approach is generally adequate for diagnosis of the Mendelian disease and may be appropriate for insurance purposes or in a patient with an uncertain phenotype. WES is also rapidly growing in popularity in research laboratories and is a useful tool for discovery of potential new genes linked to disease or novel processes. 7211a4ac4a