| Valgrind 3.3 - Advanced Debugging and Profiling for GNU/Linux applications by J. Seward, N. Nethercote, J. Weidendorfer and the Valgrind Development Team Paperback (6"x9"), 164 pages ISBN 0954612051 RRP £12.95 ($19.95) |
3.13 Warning Messages You Might See
Most of these only appear if you run in verbose mode (enabled by ‘-v’):
- ‘More than 100 errors detected. Subsequent errors will still be recorded, but in less detail than before.’ After 100 different errors have been shown, Valgrind becomes more conservative about collecting them. It then requires only the program counters in the top two stack frames to match when deciding whether or not two errors are really the same one. Prior to this point, the PCs in the top four frames are required to match. This hack has the effect of slowing down the appearance of new errors after the first 100. The 100 constant can be changed by recompiling Valgrind.
- ‘More than 1000 errors detected. I'm not reporting any more. Final error counts may be inaccurate. Go fix your program!’ After 1,000 different errors have been detected, Valgrind ignores any more. It seems unlikely that collecting even more different ones would be of practical help to anybody, and it avoids the danger that Valgrind spends more and more of its time comparing new errors against an ever-growing collection. As above, the 1,000 number is a compile-time constant.
- ‘Warning: client switching stacks?’ Valgrind spotted such a large change in the stack pointer that it guesses the client is switching to a different stack. At this point it makes a kludgey guess where the base of the new stack is, and sets memory permissions accordingly. You may get many bogus error messages following this, if Valgrind guesses wrong. At the moment “large change” is defined as a change of more that 2,000,000 in the value of the stack pointer register.
-
‘Warning: client attempted to close Valgrind's
logfile fd <number>’
Valgrind doesn't allow the client to close the logfile,
because you'd never see any diagnostic information after that point.
If you see this message, you may want to use the
--log-fd=<number>option to specify a different logfile file-descriptor number. - ‘Warning: noted but unhandled ioctl <number>’ Valgrind observed a call to one of the vast family of ‘ioctl’ system calls, but did not modify its memory status info (because nobody has yet written a suitable wrapper). The call will still have gone through, but you may get spurious errors after this as a result of the non-update of the memory info.
- ‘Warning: set address range perms: large range <number>’ Diagnostic message, mostly for benefit of the Valgrind developers, to do with memory permissions.
| ISBN 0954612051 | Valgrind 3.3 - Advanced Debugging and Profiling for GNU/Linux applications | See the print edition |