Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] Debugging tools for CGAL code

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] Debugging tools for CGAL code


Chronological Thread 
  • From: "Sebastien Loriot (GeometryFactory)" <>
  • To:
  • Subject: Re: [cgal-discuss] Debugging tools for CGAL code
  • Date: Fri, 28 Apr 2023 07:53:59 +0200
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None ; spf=Pass ; spf=None
  • Ironport-data: A9a23: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
  • Ironport-hdrordr: A9a23:WfzkHKoft/ZnKXW4VHNaRK0aV5oIeYIsimQD101hICG9Afbo8f xG+85rqSMc6QxhJU3I/OrrBEDuewK/yXcY2/hrAV7mZnidhILKFvAG0WKB+UyCJ8SWzIc0vs ddmupFeaXN5DBB7PoSizPIdOrIruP3iZxAyd2uq0uFjjsHV0ij1WpE48qgfXGejTMpOaYE
  • Ironport-phdr: A9a23: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
  • Ironport-sdr: 644b5f7c_AO2QA9VsPCJLWEsui4y2ydnW8zXGHX65VzyWHQ2h/JkjXqy 6ghI/ZHpm1/24N3orMIqKPgauRe50yLpJx5mbHg==

Hello,

as soon as you are using Handles into a map you will get non-deterministic results (IIUC this is your problem).

To workaround this, we added in some packages some timestamps in handles
to avoid that kind of issue.

From what data structure are the handle coming from?

Best,

Sebastien.

On 4/18/23 11:24, Mike V ( via cgal-discuss Mailing List) wrote:
Hello,

The issue I mentioned in my previous email has been resolved after discussion
with Guillaume Damiand. I am facing a broader issue with my code. I am using
CGAL to perform mechanical simulations, and I am finding irreproducible
results (significantly different positions, not just the ordering of the
vertices), even with fixed compilation flags and random number generation.
This suggests that I am reading from invalid or uninitialized memory.

I was able to reduce the error (push back the disagreement to a later time
step) by finding a place where I used a Iterator to index into a map whose
keys were Handles. I suspect that I am doing this elsewhere, but it is hard
to find it. This earlier mistake gave no errors when compiling (with regards
to type mismatch), and running the code through Valgrind and Dr. Memory
states that there are no leaks/ invalid reads and writes (I had to disable
rounding checks to get these to work). Oddly enough, when I look at the
output of running my code through Valgrind, the results are consistent across
different compilation methods and different from executing the debug and
release builds without Valgrind.

I can go through my code, searching for all instances where I use a map or
try to read memory and place a bunch of assertions there, but this is time
consuming, and it would be nice if there was a systematic tool I could use to
help find these errors. Does anyone have experience using tools to debug
these kinds of issues in CGAL code? Is there software/ options you could
recommend?

I appreciate any advice on this.

Thank you,

Mike




Archive powered by MHonArc 2.6.19+.

Top of Page