| Summary: | Clang static analyzer issues | ||
|---|---|---|---|
| Product: | Slurm | Reporter: | David Gloe <david.gloe> |
| Component: | Other | Assignee: | Moe Jette <jette> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | 4 - Minor Issue | ||
| Priority: | --- | CC: | da |
| Version: | 14.03.x | ||
| Hardware: | Linux | ||
| OS: | Linux | ||
| Site: | CRAY | Alineos Sites: | --- |
| Atos/Eviden Sites: | --- | Confidential Site: | --- |
| Coreweave sites: | --- | Cray Sites: | --- |
| DS9 clusters: | --- | HPCnow Sites: | --- |
| HPE Sites: | --- | IBM Sites: | --- |
| NOAA SIte: | --- | OCF Sites: | --- |
| Recursion Pharma Sites: | --- | SFW Sites: | --- |
| SNIC sites: | --- | Linux Distro: | --- |
| Machine Name: | CLE Version: | ||
| Version Fixed: | Target Release: | --- | |
| DevPrio: | --- | Emory-Cloud Sites: | --- |
|
Description
David Gloe
2013-08-23 03:26:15 MDT
Unless you build slurm (run configure) with "--enable-memory-leak-debug" then a lot of memory buffers get cached. With that flag, Slurm will run considerably slower. Please rebuild and retest. Unless clang finds leaks that valgrind does not, Slurm should be free of memory leaks. I'll rebuild with that configure flag set. And yes, clang can find many leaks that valgrind does not, since clang is a static analyzer. It runs during compile time, not during runtime, so it can explore paths that aren't taken during runtime. Here are the results when compiled with --enable-memory-leak-debug: https://docs.google.com/file/d/0B9d4ZHTQ9H_FejRlYTdFNG1GdDA/edit?usp=sharing Still found 214 errors. FYI: I've reviewed about 50 of these (ignoring the dead assignments) without finding anything yet that will cause harm. Good stuff to harden the code, but nothing yet that's a game changer. An update: Ignoring the dead assignments (which are arguably really low priority), it's down to 37 problems as reported by CLANG, many of which are false positives. I'm going to close this ticket. Clang did find a couple of real bugs, but virtually all of its findings were false positives. There are a couple of false positives that I can't make go away and there are still about 100 dead assignments that I'm not going to worry about. |