sphenix-software-l AT lists.bnl.gov
Subject: sPHENIX discussion of software
List archive
[Sphenix-software-l] Fwd: [Valgrind-users] Happy birthday, Valgrind!
- From: pinkenburg <pinkenburg AT bnl.gov>
- To: "sphenix-software-l AT lists.bnl.gov" <sphenix-software-l AT lists.bnl.gov>, phenix-off-l <phenix-off-l AT lists.bnl.gov>
- Subject: [Sphenix-software-l] Fwd: [Valgrind-users] Happy birthday, Valgrind!
- Date: Wed, 27 Jul 2022 10:44:41 -0400
Hi folks,
just FYI - PHENIX was one of the first large adopters. Here is a mail from Dave (in his role as PHENIX computing coordinator) from 2 weeks later (8/10/2002):
David Morrison wrote:
Hi folks, Here's another example of using valgrind to (I'm pretty sure) find code problems. Running a simple reconstruction gave several errors like this: ==11125== Conditional jump or move depends on uninitialised value(s) ==11125== at 0x68D917FC: PadRec::setParameters(short *) (/home/momchil/phenix3/source2/offline/packages/pad/PadRec.cc:101) ==11125== by 0x68D95B09: PadRecModule::event(short, PHpadDetectorGeo *, PHCompositeNode *) (/home/momchil/phenix3/source2/offline/packages/pad/PadRecModule.cc:87) ==11125== by 0x45BC26B6: ana_pad(PHCompositeNode *) (/home/momchil/phenix3/source2/offline/framework/preco/padfuncs.C:776) ==11125== by 0x459CDFEB: process_event(Event *) (/home/momchil/phenix3/source2/offline/framework/preco/preco.C:906) The code in question looks like this: void PadRec::setParameters(short parList[]) { if (parList[1] == 1) cout << "PadRec::setParameters called" << endl; short tmp; tmp = parList[0]; eventNumber = (tmp >= 0) ? tmp : 0; tmp = parList[1]; debug = ( (tmp >= 0) && (tmp <= 5) ) ? tmp : 1; where parList[0] is filled in PadRecModule.cc:70: parList[0] = eventNumber; ... padRecObj->setParameters(&parList[0]); which is called in padfuncs.C which creates instances of PadRec like this: Pc1Rec = new PadRecModule(); Pc2Rec = new PadRecModule(); Pc3Rec = new PadRecModule(); but never seems to tell those PadRecModules about their event number. Could one of the pad code cognoscenti look at this code and tell me whether there really is a problem and, if so, fix it? Dave
It has been by far our most useful tool (and I am sure everyone hates it), but I cannot recall it ever being wrong when it came to flagging memory problems. Here is the non mangled link to Nicholas Nethercote’s short writeup: https://nnethercote.github.io/2022/07/27/twenty-years-of-valgrind.html
with grudging respect,
Chris
-------- Forwarded Message -------- Subject: [Valgrind-users] Happy birthday, Valgrind! Date: Wed, 27 Jul 2022 13:43:29 +0200 From: Mark Wielaard <mark AT klomp.org> To: valgrind-announce AT lists.sourceforge.net CC: valgrind-developers AT lists.sourceforge.net, valgrind-users AT lists.sourceforge.net
It has been twenty years today since Valgrind 1.0 was released.
Make sure to read Nicholas Nethercote’s Twenty years of Valgrind:
https://urldefense.com/v3/__https://nnethercote.github.io/2022/07/27/twenty-years-of-valgrind.html__;!!P4SdNyxKAPE!GvaOtiGto6qeWD7DUjhF_4OKMgZ3LB4wJEshomRYVNQuz6bZv2b8uSvfrzCrGItg7L1u-5P7RVZkOQ$ And learn about the early days, Valgrind "skins", the influence
Valgrind had on raising the bar when it comes to correctness for C and
C++ programs, and why a hacker on the Rust programming language still
uses Valgrind.
Happy birthday, Valgrind!
_______________________________________________
Valgrind-users mailing list
Valgrind-users AT lists.sourceforge.net
https://urldefense.com/v3/__https://lists.sourceforge.net/lists/listinfo/valgrind-users__;!!P4SdNyxKAPE!GvaOtiGto6qeWD7DUjhF_4OKMgZ3LB4wJEshomRYVNQuz6bZv2b8uSvfrzCrGItg7L1u-5O-j-hvTQ$
- [Sphenix-software-l] Fwd: [Valgrind-users] Happy birthday, Valgrind!, pinkenburg, 07/27/2022
Archive powered by MHonArc 2.6.24.