[mercury-users] Deep profiler data corrupted: unwritten nodes

Julien Fischer juliensf at csse.unimelb.edu.au
Wed Jan 3 13:12:31 AEDT 2007

On Tue, 2 Jan 2007, Ondrej Bojar wrote:

> Hi and Happy New Year to everyone.
> So the deep profiler problem is indeed caused by missing calls to 
> initialization (and finalization) procedures of modules that come from a 
> custom library. And the error was of mine.
> I did not know that I must include --init-file flag for main program 
> compilation, so that mmc would include the library's init procedures to the 
> main initializers. However, this mistake is observed only with deep profiling 
> grade (or possibly library modules that do need some initialization), as the 
> linking of the main program always succeeds and the executable runs.

The problem will only be observable in non .profdeep grades when the 
library's .init file contains something.  The effects of not including
library .init files include:

- user initializers not being run at program startup
- user finalizers not being run at program termination
- mutables not being set to the specified initial values
- trace goals with runtime conditions considering those conditions to
   always be false.

Note: the standard library is handled separately so as long any other
libraries you are using don't do any of the above then your program
will run fine in non .profdeep grades.


mercury-users mailing list
Post messages to:       mercury-users at csse.unimelb.edu.au
Administrative Queries: owner-mercury-users at csse.unimelb.edu.au
Subscriptions:          mercury-users-request at csse.unimelb.edu.au

More information about the users mailing list