-
Notifications
You must be signed in to change notification settings - Fork 14
Units tests run with -fsanitize=address have numerous issues. #120
Comments
@NAThompson Do you have a sense of what percentage of these come from VTK-m versus VTK-h? |
Yes: The head VTK-m is completely clean; in fact it was completely clean at VTK-m release 1.4. The only problem from VTK-m with this (since VTK-h is pinned to a particular VTK-m commit) is the member call on address error. The rest are from VTK-h. |
Ok. I am going to move up the VTK-m commit in the very near future, and I will try to figure out where they are coming for. Thanks! |
@mclarsen : Huge thanks for taking this seriously! We're preparing to put this code through some big runs in the coming weeks, so hopefully this will preempt most of the classical "bugs at scale". |
Updating to the latest vtkm still yields a bunch of:
|
Same story with clip with field:
but the memory leak does not appear for me. Could be updating to the latest vtkm. |
Seems like calling anything in vtkm (all vtkh unit test, even no_op) is generating this and I am not getting any helpful information about how to locate where this is happening. I am not seeing the memory leaks in the Lagrange either. Perhaps we have vtkms configured differently. |
Hmm, after closer inspection these "errors" could be due to vtkm trying to cast a virtual to all possible types to find the right one. |
@mclarsen : What is the commit hash of your VTK-m? |
|
How do I get a full stack trace to figure out where this stuff is coming from? |
@mclarsen : The AddressSanitizer delivers a full stack trace. The UBSan doesn't. It looks to me like what you're seeing from VTK-m has just popped up. Since it looks like you've already built VTK-m with sanitizers enabled, could you run |
I didn't build vtkm with sanitizers enabled. It probably looks like it because we are compiling the vtkm code, since there isn't a library for filters. One of VTKh's main purposes is to compile vtkm code and protect downstream consumers. |
In general I have seen issue like this when symbol visibility is mismatching. The comparison uses the |
@robertmaynard Noted. Adding the proper exports has been on my list of things to do for a while. I will see if I can get it done in the next day or so. |
I changed the default visibility of symbols to hidden. |
First, an issue which has been fixed in VTK-m has been inherited:
Next, a runtime error for an invalid load:
Memory leaks of 8kb in a unit test:
A direct leak from
vtkh::Lagrangian::DoExecute
:and numerous other leaks, as is shown in the ctest log
Steps to reproduce: Add the following lines to
src/CMakeLists.txt
:The text was updated successfully, but these errors were encountered: