-
Notifications
You must be signed in to change notification settings - Fork 5
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
Crash in on-the-fly Swift hydro run (extra property output not fully implemented?) #13
Comments
@jchelly thanks for the report. I'm trying to reproduce the error locally first, and got all the software compiled, downloaded the necessary data, and started running. I had to slightly tweak the I also notice that, even after 20 minutes, both ranks are still using only 100% of CPU, even though I'm running with
Having said all of that, I do agree with your reading of the problem. I'm not 100% familiar with all the places where VR sets these extra properties, but there's clearly something missing that needs to be addressed. I'm hoping that I can first reproduce this locally to then actually try to tackle the problem. |
Sorry, I forgot that I had to add some entries to the swift .yml file to make it call velociraptor. Here are the swift config file I used eagle_12.yml.gz and my velociraptor configuration vrconfig_3dfof_subhalos_SO_hydro.cfg.gz. Swift should run for about 250 timesteps then try to run Velociraptor. The output at that point looks like this:
Swift uses pthreads for multithreading so OMP_NUM_THREADS will only affect the Velociraptor call. The number of threads to use in swift is set by the command line --threads option. |
@jchelly thanks for the configuration file, I'll give it a try. Regarding threads, I also understood that swift uses pthreads in a pool, but I also saw a couple of |
@jchelly OK, much better now, I managed to reproduce the issue in about 2 or 3 minutes, thanks a lot again for those files. The line number in my version of the code is slightly different, but I'm assuming we are seeing only slightly different versions of the code (I'm using c1283dd). If I understand correctly, there are missing bits both in Swift and in VR. In VR it would be:
I have already a patch for the second point (see #14) which I tested locally and gets me past the original crash. There was a second place were no check was done before using these optional extra properties, so I added checks to those as well, which finally lets VR finish its pass and swift continue. I'll seek some input into whether the changes make sense from a scientific point of view, but at least purely from the code perspective I'd say they are correct. We can address the first point separately. Is there a corresponding set of changes in swift that address this? |
I couldn't find any likely looking branches in the Swift repository so I suspect the changes just haven't been made. I'll ask on slack. |
The immediate problem reported in this ticket (a crash caused by a |
I'm running Swift with on the fly velociraptor on the EAGLE_low_z/EAGLE_12 example in the Swift repository using the vrconfig_3dfof_subhalos_SO_hydro.cfg parameter file. My VR configuration is
and for Swift I use
and I run it with
This crashes on the first VR invocation in substructureproperties.cxx line 6024:
At this point Pval[i].hydro is a null pointer, which I think is what causes the crash because GetHydroProperties just does "return *hydro".
Looking at swiftinterface.cxx, Part.hydro is only set if the parameter swift_gas_parts was passed to InvokeVelociraptorHydro() and was not null:
It looks like output of extra properties has been only partially implemented for on the fly runs. Things that are missing:
If I comment out the extra properties in the .cfg file then it survives a VR invocation without crashing.
The text was updated successfully, but these errors were encountered: