which doesn’t happen with 6.18.04 and earlier on the same code. Here’s a minimal example reproducing the problem that will finish with 6.18.04 but crash with 6.20.00 onwards,
I wasn’t able to find any information in recent release notes concerning changes to Minuit2 so I was wondering if anyone knew what happened and if this new behaviour should be expected from now on?
_ROOT Version: 6.20.00 and above Platform: Linux Compiler: gcc9
Hi,
There has been no change, you are probably using a debug build (containing assert) and a non debug build. In the first case , an assert is triggered since the initial state is invalid due to an invalid initial Hessian matrix. In that case happens because your function has zero second derivative.
Probably this assert can be removed and let anyway Minuit2 failing
Hi, -DCMAKE_BUILD_TYPE=Optimized should be -DCMAKE_BUILD_TYPE=Release (which is also the default). I am not sure whether using “Optimized” happens to add debug symbols.
Hi Enrico, that was it, thanks. I recompiled ROOT by removing that flag and now everything has returned to normal. Should something be done about the Optimized flag adding debug symbols, or was this flag intended more for developers rather than being for general use? I should probably report this downstream to Fedora as well as their rpm builds also suffer the crash.
The way I came to include the Optimized build mode was from the INSTALL file bundled with ROOT in the README directory. Section 6 pointed me to this webpage,
where I found CMAKE_BUILD_TYPE under the “Relevant CMake variables” heading. I guess my thinking was that Optimized should be the best option for fastest performance.