Tuesday 15 July 2014

Tracking z3 memory leaks -


We are facing some issues related to which the memory leaks appear. We are using references with a rif-gating waste collection. Here's a brief description of the situation:

Through ScalaZ3 on the latest volatile, we make many re-counting references (400-500), on which we have some solvers (& lt; 5) , A few formulas, and then to delete everything we try to corrupt everyone before we remove the context. What we witness is that the memory footprint is increasing (up to many GB), even if we only use 5 or 6 fresh and short references.

1) Memory of all objects within a context, when this reference is destroyed? (Even with the ref <0) if not, then it is possible that we forgot many objects

2) Do you have any tools / tips that will help us to track down what remains in memory, maybe there is something on top of an open_log generated file? Or when to see the log again under the GCC?

Thank you!

1) has been referenced when Z3 will free some memory, but there is no guarantee in context That when the reference counter is not used properly all the memory will be destroyed.

2) I usually wilgrind track memory leaks I think it is amazing we can create a log of execution in a file z3.log, and then

  valgrind Z3.z3.log   

BTW can compile in debug mode, it can also help in debug mode, Z3 will also report a list of those ASTs that still can not be deleted Are alive

No comments:

Post a Comment