I routinely run IBM's product, Purify, on all FDK clients we
develop, and I have noticed a sharp increase in the numbers of
warnings issued by Purify when running FrameMaker 7.2 on such
clients compiled and linked with FDK 7.2.
For instance, I see a whole lot of Freeing Mismatched Memory
(FMM) alerts. Per Purify's online help: "Purify reports a
FMM message when the program allocates memory from one family
of APIs and then deallocates the memory from a mismatched
family. For example, a FMM message can occur when you use
'new' to allocate memory and 'free' to free the memory. You
can also get this message when you use one heap to allocate
memory and a wrong heap to deallocate the memory."
These alerts occur frequently within modules internal to
FrameMaker and are not due to anything done wrong by the
client or plug-in. For instance, the Xalan-C dll, new
to 7.2 (I believe?), is the cause of some of these
(void) [D:\Program Files\Adobe\FrameMaker7.2\Xalan-C_1_8.dll]
Also, and perhaps related to the FMMs, there are frequent
memory leaks recorded by Purify after FrameMaker exits
You can see these issues for yourself by compiling, linking,
and running the "import" sample API that is delivered with
the FrameMaker 7.2. FDK. When Purify runs this dll, one
notable leak occurs on the F_ApiImport call itself. Yes,
the params and returnParams are correctly deallocated after
the call, so that is not the cause of the leak.
For plug-ins designed to iterate many times, the above issues
could, of course, result in crashes.
Has anyone one else noticed this?
Seatech Publications, Inc.
FrameMaker Plug-ins, and
Product Information Management Systems