Latest ZeroFault distribution level: 590s.
New Features of ZeroFault distributions.
v590
590j 'universal' install. great for use over nfs/afs/dfs/smb etc.
590h FULL 64Bit, less noise, more information, misc fixes.
v585
585c More speed, misc fixes.
v577
577d Floating Point fixes. More reporting detail.
v555
555s Better detail data: Error timing, heap summary, threadID's.
555o AIX7.1 Support
555n Threading and locking enhancements. Reduced false positives.
More Detail Data
5.00a AIX6.1 Support and reduced false positives.
4.87 The analysis data provided by ZeroFault contains expanded detail (compared to prior distributions).
Logical Heaps (4.50)
This revision of ZeroFault introduces a new feature: Logical Heaps
While running ZeroFault on your application, you may obtain a new heap by using the "New Heap" button
in the GUI or via sending signal 55 to your application. When ZF receives a request for a new heap,
it creates a new heap and freezes any additions of new malloc blocks to the prior heap(s). New malloc
blocks are always added to the highest number heap. In this way, old heaps cannot grow further and
can only decrease in size as your application frees blocks. The ZF GUI allows you to select via the
"Heaps" menu, any existing heap in your application. Once selected, other leak related facilities
such as "Find Leaks", "Show Heap", and "Take Snapshot" are constrained to the heap of interest.
Use of this facility does not fragment your application's heap. ZF tracks the items in each logical
heap for you and avoids using separate physical heaps.
Example of use:
Assume that you have an application with a leak problem. Further assume that it takes days for your
application to begin showing signs of leaks. Problem: by the time the application is ready for leak
analysis, ten's of thousands malloced blocks are present in the heap. "Find Leaks" becomes slow
because of the exhaustive nature of its Garbage Collection. "Show Heap" produces a window that has
too many entries to analyze. Solution: Use a new heap or heaps. Implementation: start ZF with the
-ZSquelch option. After your application is running and stable, click on "New Heap" to obtain
another heap. Periodically obtain new heaps as needed to constrain malloc collection into managable
units. It is best to do this after allowing your application sufficient time to begin exhibiting leak behavior.
Disable the MessageFilter->Squelch option and begin analysis obtaining new heaps to collect malloc data
that is associated with new user actions or new events. Select higher numbered heaps to perform
automatic leak detection with "Find Leaks".
Summary: the focus of this release is to present new features that help with the data overload
problem caused by the need to use ZF on long-running applications. Over a long time period, substantial
quantities of memory errors and/or malloc'ed blocks may have accumulated hindering analysis and possibly
overloading the GUI from a memory consumption perspective. Two features are introduced to manage data
overloading from ZF's reported memory errors in the GUI. They are the command line options: -ZS and -ZD,
also known as: -ZSquelch and -ZDiscard.Filtered.Messages. It is now possible, with these options to
start the GUI in a way that prevents automatic accumulation of error messages. These options are
subsequently disabled by user action from the MessageFilter menu options in the GUI, when the user is
prepared to begin analyzing incoming messages. The "Logical Heap"
option is introduced to help focus leak related user actions in the GUI to malloc'ed blocks of interest.
The feature is implemented via the "New Heap" button and the "Heaps" menu in the GUI and with the
"New Heap" signaling method outside of the GUI.
|