-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SegFault from Double Freeing Converted Columns #224
Comments
Dear @samf25 Thank you for your report, however, your description is a bit vague. Can you
Thanks! |
I've updated the reproducer part of the post. There were so many seg faults that the first few were cleared as the terminal updated. Here is (from what I can understand) the import part of the stack trace:
|
After fixing a typo in the second line in your reproducer and then running the rest of the commands I get
|
I think one bit of important information missing from Sam is the fact that this comes from a muon collider context, i.e. inside the http://ghcr.io/muoncollidersoft/mucoll-sim:master container. |
No, that part is there in the apptainer command. and I just waited 50 minutes while downloading that container. If there is one thing I am good at, it is copying and pasting commands into the terminal :D |
Now I added a bunch of $PWD to the environment exports. And I get
|
Empty input file? |
Mea culpa. The
Not sure what goes wrong to get to that and not bail out earlier due to a missing file. The |
(looked at the wrong python file)
The reproducer was not correctly exporting the location of the newly compiled code. |
Hi @samf25 Please provide the input file and the log file from your own running of the reproducer.
You can redirect terminal output (stdout and stderr) into a file: https://stackoverflow.com/a/6674348
|
Shoot -- sorry! I'm glad you worked out those issues. I tried to process the input file so that it was the most minimal example that would reproduce the error. But clearly that didn't work. The original file is too large to push to github. I'll make another attempt once the server I was using is back up (should be sometime this morning (EST)) |
Here's the log. |
File can be obtained from here now: https://cernbox.cern.ch/s/rIYPzWXlbFxuSQQ |
I have a feeling that the actual issue is this:
And this is independent of whether there is a MarlinWrapped processor or not, just that for whatever reason bad things happen if there is a MarlinWrapper? |
Check duplicate issues.
Goal
I want to preface this by saying my reasoning could be wrong here since the seg fault was quite vague.
The destructor of one of my k4FWCore::Transformers seg faults when it is run in the same steering file as a Wrapped Marlin Processor. The Transformer is pretty simple, it tries to remove duplicate Tracks made by a Tracking algorithm. In doing so, it adds the non-duplicates to a subset Collection. (Here's the Repo)
Later on in the steering file, I have a Wrapped Processor with a EDM4hep2LcioConv attached. That converter converts the subset collection and, at some point during the running of the code, I get a segmentation fault that refers to the destructor of ACTSDuplicateRemoval.
My best guess is that somehow the converter is moving the collection and when the destructor goes through to clean up, it tries to free something that no longer exists.
Operating System and Version
Alma Linux 9
compiler
gcc 13
The version of the key4hep stack
k4fwcore-1.2
Package Version
k4marlinwrapper-0.11
Reproducer
Additional context
No response
The text was updated successfully, but these errors were encountered: