{"action":"opened","issue":{"url":"https://api.github.com/repos/cms-sw/cmssw/issues/14789","repository_url":"https://api.github.com/repos/cms-sw/cmssw","labels_url":"https://api.github.com/repos/cms-sw/cmssw/issues/14789/labels{/name}","comments_url":"https://api.github.com/repos/cms-sw/cmssw/issues/14789/comments","events_url":"https://api.github.com/repos/cms-sw/cmssw/issues/14789/events","html_url":"https://github.com/cms-sw/cmssw/issues/14789","id":158674559,"number":14789,"title":"[8.0.X] Crash in FormulaEvaluator when parsing expression","user":{"login":"blinkseb","id":386274,"avatar_url":"https://avatars.githubusercontent.com/u/386274?v=3","gravatar_id":"","url":"https://api.github.com/users/blinkseb","html_url":"https://github.com/blinkseb","followers_url":"https://api.github.com/users/blinkseb/followers","following_url":"https://api.github.com/users/blinkseb/following{/other_user}","gists_url":"https://api.github.com/users/blinkseb/gists{/gist_id}","starred_url":"https://api.github.com/users/blinkseb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/blinkseb/subscriptions","organizations_url":"https://api.github.com/users/blinkseb/orgs","repos_url":"https://api.github.com/users/blinkseb/repos","events_url":"https://api.github.com/users/blinkseb/events{/privacy}","received_events_url":"https://api.github.com/users/blinkseb/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-06-06T13:14:05Z","updated_at":"2016-06-06T13:14:05Z","closed_at":null,"body":"Dear experts,\r\n\r\nThe JEC software heavily use the `reco::FormulaEvalutor` for evaluating JEC. However, we encounter a crash when trying to use a new expression. The full stack-trace is given at the bottom of this issue.\r\n\r\nThe formula causing the issue is:\r\n\r\n```\r\n[2]*([3]*([4]+[5]*TMath::Log(max([0],min([1],x))))*1./([6]+[7]*0.5*(1.+TMath::Erf((TMath::Log(x)-TMath::Log(225.))/0.4))))\r\n```\r\n\r\nStack:\r\n\r\n```\r\nThread 2 (Thread 0x7f92ce47f700 (LWP 28206)):\r\n#0  0x0000003e81e0f37d in waitpid () from /lib64/libpthread.so.0\r\n#1  0x00007f92dc859ad7 in edm::service::cmssw_stacktrace_fork() () from /cvmfs/cms.cern.ch/slc6_amd64_gcc530/cms/cmssw/CMSSW_8_0_6/lib/slc6_amd64_gcc530/pluginFWCoreServicesPlugins.so\r\n#2  0x00007f92dc85a382 in edm::service::InitRootHandlers::stacktraceHelperThread() () from /cvmfs/cms.cern.ch/slc6_amd64_gcc530/cms/cmssw/CMSSW_8_0_6/lib/slc6_amd64_gcc530/pluginFWCoreServicesPlugins.so\r\n#3  0x00007f92dec77a50 in std::(anonymous namespace)::execute_native_thread_routine (__p=<optimized out>) at ../../../../../libstdc++-v3/src/c++11/thread.cc:84\r\n#4  0x0000003e81e07aa1 in start_thread () from /lib64/libpthread.so.0\r\n#5  0x0000003e812e893d in clone () from /lib64/libc.so.6\r\nThread 1 (Thread 0x7f92de911ba0 (LWP 28036)):\r\n#0  0x0000003e812df113 in poll () from /lib64/libc.so.6\r\n#1  0x00007f92dc85a1e4 in full_read.constprop () from /cvmfs/cms.cern.ch/slc6_amd64_gcc530/cms/cmssw/CMSSW_8_0_6/lib/slc6_amd64_gcc530/pluginFWCoreServicesPlugins.so\r\n#2  0x00007f92dc85a44a in edm::service::InitRootHandlers::stacktraceFromThread() () from /cvmfs/cms.cern.ch/slc6_amd64_gcc530/cms/cmssw/CMSSW_8_0_6/lib/slc6_amd64_gcc530/pluginFWCoreServicesPlugins.so\r\n#3  0x00007f92dc85a5cb in sig_dostack_then_abort () from /cvmfs/cms.cern.ch/slc6_amd64_gcc530/cms/cmssw/CMSSW_8_0_6/lib/slc6_amd64_gcc530/pluginFWCoreServicesPlugins.so\r\n#4  <signal handler called>\r\n#5  0x00007f92db8238b6 in (anonymous namespace)::ExpressionFinder::createEvaluator(__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string>, std::shared_ptr<reco::formula::BinaryOperatorEvaluatorBase>) const () from /cvmfs/cms.cern.ch/slc6_amd64_gcc530/cms/cmssw/CMSSW_8_0_6/lib/slc6_amd64_gcc530/libCommonToolsUtils.so\r\n#6  0x00007f92db823234 in (anonymous namespace)::ExpressionFinder::createEvaluator(__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string>, std::shared_ptr<reco::formula::BinaryOperatorEvaluatorBase>) const () from /cvmfs/cms.cern.ch/slc6_amd64_gcc530/cms/cmssw/CMSSW_8_0_6/lib/slc6_amd64_gcc530/libCommonToolsUtils.so\r\n#7  0x00007f92db826d35 in (anonymous namespace)::createBinaryOperatorEvaluator((anonymous namespace)::ExpressionFinder const&, __gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string>) () from /cvmfs/cms.cern.ch/slc6_amd64_gcc530/cms/cmssw/CMSSW_8_0_6/lib/slc6_amd64_gcc530/libCommonToolsUtils.so\r\n#8  0x00007f92db82228b in (anonymous namespace)::ExpressionFinder::createEvaluator(__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string>, std::shared_ptr<reco::formula::BinaryOperatorEvaluatorBase>) const () from /cvmfs/cms.cern.ch/slc6_amd64_gcc530/cms/cmssw/CMSSW_8_0_6/lib/slc6_amd64_gcc530/libCommonToolsUtils.so\r\n#9  0x00007f92db826d35 in (anonymous namespace)::createBinaryOperatorEvaluator((anonymous namespace)::ExpressionFinder const&, __gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string>) () from /cvmfs/cms.cern.ch/slc6_amd64_gcc530/cms/cmssw/CMSSW_8_0_6/lib/slc6_amd64_gcc530/libCommonToolsUtils.so\r\n#10 0x00007f92db82228b in (anonymous namespace)::ExpressionFinder::createEvaluator(__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string>, std::shared_ptr<reco::formula::BinaryOperatorEvaluatorBase>) const () from /cvmfs/cms.cern.ch/slc6_amd64_gcc530/cms/cmssw/CMSSW_8_0_6/lib/slc6_amd64_gcc530/libCommonToolsUtils.so\r\n#11 0x00007f92db826745 in (anonymous namespace)::createBinaryOperatorEvaluator((anonymous namespace)::ExpressionFinder const&, __gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string>) () from /cvmfs/cms.cern.ch/slc6_amd64_gcc530/cms/cmssw/CMSSW_8_0_6/lib/slc6_amd64_gcc530/libCommonToolsUtils.so\r\n#12 0x00007f92db82228b in (anonymous namespace)::ExpressionFinder::createEvaluator(__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string>, std::shared_ptr<reco::formula::BinaryOperatorEvaluatorBase>) const () from /cvmfs/cms.cern.ch/slc6_amd64_gcc530/cms/cmssw/CMSSW_8_0_6/lib/slc6_amd64_gcc530/libCommonToolsUtils.so\r\n#13 0x00007f92db823234 in (anonymous namespace)::ExpressionFinder::createEvaluator(__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string>, std::shared_ptr<reco::formula::BinaryOperatorEvaluatorBase>) const () from /cvmfs/cms.cern.ch/slc6_amd64_gcc530/cms/cmssw/CMSSW_8_0_6/lib/slc6_amd64_gcc530/libCommonToolsUtils.so\r\n#14 0x00007f92db82667d in (anonymous namespace)::createBinaryOperatorEvaluator((anonymous namespace)::ExpressionFinder const&, __gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string>) () from /cvmfs/cms.cern.ch/slc6_amd64_gcc530/cms/cmssw/CMSSW_8_0_6/lib/slc6_amd64_gcc530/libCommonToolsUtils.so\r\n#15 0x00007f92db82228b in (anonymous namespace)::ExpressionFinder::createEvaluator(__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string>, std::shared_ptr<reco::formula::BinaryOperatorEvaluatorBase>) const () from /cvmfs/cms.cern.ch/slc6_amd64_gcc530/cms/cmssw/CMSSW_8_0_6/lib/slc6_amd64_gcc530/libCommonToolsUtils.so\r\n#16 0x00007f92db826d35 in (anonymous namespace)::createBinaryOperatorEvaluator((anonymous namespace)::ExpressionFinder const&, __gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string>) () from /cvmfs/cms.cern.ch/slc6_amd64_gcc530/cms/cmssw/CMSSW_8_0_6/lib/slc6_amd64_gcc530/libCommonToolsUtils.so\r\n#17 0x00007f92db82228b in (anonymous namespace)::ExpressionFinder::createEvaluator(__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string>, std::shared_ptr<reco::formula::BinaryOperatorEvaluatorBase>) const () from /cvmfs/cms.cern.ch/slc6_amd64_gcc530/cms/cmssw/CMSSW_8_0_6/lib/slc6_amd64_gcc530/libCommonToolsUtils.so\r\n#18 0x00007f92db826d35 in (anonymous namespace)::createBinaryOperatorEvaluator((anonymous namespace)::ExpressionFinder const&, __gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string>) () from /cvmfs/cms.cern.ch/slc6_amd64_gcc530/cms/cmssw/CMSSW_8_0_6/lib/slc6_amd64_gcc530/libCommonToolsUtils.so\r\n#19 0x00007f92db82228b in (anonymous namespace)::ExpressionFinder::createEvaluator(__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string>, std::shared_ptr<reco::formula::BinaryOperatorEvaluatorBase>) const () from /cvmfs/cms.cern.ch/slc6_amd64_gcc530/cms/cmssw/CMSSW_8_0_6/lib/slc6_amd64_gcc530/libCommonToolsUtils.so\r\n#20 0x00007f92db823234 in (anonymous namespace)::ExpressionFinder::createEvaluator(__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string>, std::shared_ptr<reco::formula::BinaryOperatorEvaluatorBase>) const () from /cvmfs/cms.cern.ch/slc6_amd64_gcc530/cms/cmssw/CMSSW_8_0_6/lib/slc6_amd64_gcc530/libCommonToolsUtils.so\r\n#21 0x00007f92db826d35 in (anonymous namespace)::createBinaryOperatorEvaluator((anonymous namespace)::ExpressionFinder const&, __gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string>) () from /cvmfs/cms.cern.ch/slc6_amd64_gcc530/cms/cmssw/CMSSW_8_0_6/lib/slc6_amd64_gcc530/libCommonToolsUtils.so\r\n#22 0x00007f92db82228b in (anonymous namespace)::ExpressionFinder::createEvaluator(__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string>, std::shared_ptr<reco::formula::BinaryOperatorEvaluatorBase>) const () from /cvmfs/cms.cern.ch/slc6_amd64_gcc530/cms/cmssw/CMSSW_8_0_6/lib/slc6_amd64_gcc530/libCommonToolsUtils.so\r\n#23 0x00007f92db827687 in reco::FormulaEvaluator::FormulaEvaluator(std::string const&) () from /cvmfs/cms.cern.ch/slc6_amd64_gcc530/cms/cmssw/CMSSW_8_0_6/lib/slc6_amd64_gcc530/libCommonToolsUtils.so\r\n#24 0x00007f92c95c9666 in SimpleJetCorrector::SimpleJetCorrector(JetCorrectorParameters const&) () from /cvmfs/cms.cern.ch/slc6_amd64_gcc530/cms/cmssw/CMSSW_8_0_6/lib/slc6_amd64_gcc530/libCondFormatsJetMETObjects.so\r\n#25 0x00007f92c95c1969 in FactorizedJetCorrectorCalculator::FactorizedJetCorrectorCalculator(std::vector<JetCorrectorParameters, std::allocator<JetCorrectorParameters> > const&) () from /cvmfs/cms.cern.ch/slc6_amd64_gcc530/cms/cmssw/CMSSW_8_0_6/lib/slc6_amd64_gcc530/libCondFormatsJetMETObjects.so\r\n#26 0x00007f92b2dbda8e in GammaJetFilter::GammaJetFilter(edm::ParameterSet const&) () from /cmshome/fpreiato/Test_NewGammaJet/CMSSW_8_0_6/lib/slc6_amd64_gcc530/pluginJetMETCorrectionsGammaJetFilter.so\r\n#27 0x00007f92b2ddc1ef in edm::WorkerMaker<GammaJetFilter>::makeModule(edm::ParameterSet const&) const () from /cmshome/fpreiato/Test_NewGammaJet/CMSSW_8_0_6/lib/slc6_amd64_gcc530/pluginJetMETCorrectionsGammaJetFilter.so\r\n#28 0x00007f92dfffedff in edm::Maker::makeModule(edm::MakeModuleParams const&, edm::signalslot::Signal<void (edm::ModuleDescription const&)>&, edm::signalslot::Signal<void (edm::ModuleDescription const&)>&) const () from /cvmfs/cms.cern.ch/slc6_amd64_gcc530/cms/cmssw/CMSSW_8_0_6/lib/slc6_amd64_gcc530/libFWCoreFramework.so\r\n#29 0x00007f92e001ad57 in edm::Factory::makeModule(edm::MakeModuleParams const&, edm::signalslot::Signal<void (edm::ModuleDescription const&)>&, edm::signalslot::Signal<void (edm::ModuleDescription const&)>&) const () from /cvmfs/cms.cern.ch/slc6_amd64_gcc530/cms/cmssw/CMSSW_8_0_6/lib/slc6_amd64_gcc530/libFWCoreFramework.so\r\n#30 0x00007f92dffaf760 in edm::ModuleRegistry::getModule(edm::MakeModuleParams const&, std::string const&, edm::signalslot::Signal<void (edm::ModuleDescription const&)>&, edm::signalslot::Signal<void (edm::ModuleDescription const&)>&) () from /cvmfs/cms.cern.ch/slc6_amd64_gcc530/cms/cmssw/CMSSW_8_0_6/lib/slc6_amd64_gcc530/libFWCoreFramework.so\r\n#31 0x00007f92e000bc6a in edm::WorkerRegistry::getWorker(edm::WorkerParams const&, std::string const&) () from /cvmfs/cms.cern.ch/slc6_amd64_gcc530/cms/cmssw/CMSSW_8_0_6/lib/slc6_amd64_gcc530/libFWCoreFramework.so\r\n#32 0x00007f92e00189ab in edm::WorkerManager::getWorker(edm::ParameterSet&, edm::ProductRegistry&, edm::PreallocationConfiguration const*, std::shared_ptr<edm::ProcessConfiguration const>, std::string const&) () from /cvmfs/cms.cern.ch/slc6_amd64_gcc530/cms/cmssw/CMSSW_8_0_6/lib/slc6_amd64_gcc530/libFWCoreFramework.so\r\n#33 0x00007f92dfff04dd in edm::StreamSchedule::fillWorkers(edm::ParameterSet&, edm::ProductRegistry&, edm::PreallocationConfiguration const*, std::shared_ptr<edm::ProcessConfiguration const>, std::string const&, bool, std::vector<edm::WorkerInPath, std::allocator<edm::WorkerInPath> >&, std::vector<std::string, std::allocator<std::string> >*) () from /cvmfs/cms.cern.ch/slc6_amd64_gcc530/cms/cmssw/CMSSW_8_0_6/lib/slc6_amd64_gcc530/libFWCoreFramework.so\r\n#34 0x00007f92dfff1452 in edm::StreamSchedule::fillTrigPath(edm::ParameterSet&, edm::ProductRegistry&, edm::PreallocationConfiguration const*, std::shared_ptr<edm::ProcessConfiguration const>, int, std::string const&, std::shared_ptr<edm::HLTGlobalStatus>, std::vector<std::string, std::allocator<std::string> >*) () from /cvmfs/cms.cern.ch/slc6_amd64_gcc530/cms/cmssw/CMSSW_8_0_6/lib/slc6_amd64_gcc530/libFWCoreFramework.so\r\n#35 0x00007f92dfff4340 in edm::StreamSchedule::StreamSchedule(std::shared_ptr<edm::TriggerResultInserter>, std::shared_ptr<edm::ModuleRegistry>, edm::ParameterSet&, edm::service::TriggerNamesService&, edm::PreallocationConfiguration const&, edm::ProductRegistry&, edm::BranchIDListHelper&, edm::ExceptionToActionTable const&, std::shared_ptr<edm::ActivityRegistry>, std::shared_ptr<edm::ProcessConfiguration>, bool, edm::StreamID, edm::ProcessContext const*) () from /cvmfs/cms.cern.ch/slc6_amd64_gcc530/cms/cmssw/CMSSW_8_0_6/lib/slc6_amd64_gcc530/libFWCoreFramework.so\r\n#36 0x00007f92e006699c in edm::Schedule::Schedule(edm::ParameterSet&, edm::service::TriggerNamesService&, edm::ProductRegistry&, edm::BranchIDListHelper&, edm::ThinnedAssociationsHelper&, edm::ExceptionToActionTable const&, std::shared_ptr<edm::ActivityRegistry>, std::shared_ptr<edm::ProcessConfiguration>, bool, edm::PreallocationConfiguration const&, edm::ProcessContext const*) () from /cvmfs/cms.cern.ch/slc6_amd64_gcc530/cms/cmssw/CMSSW_8_0_6/lib/slc6_amd64_gcc530/libFWCoreFramework.so\r\n#37 0x00007f92dffb0d02 in edm::ScheduleItems::initSchedule(edm::ParameterSet&, bool, edm::PreallocationConfiguration const&, edm::ProcessContext const*) () from /cvmfs/cms.cern.ch/slc6_amd64_gcc530/cms/cmssw/CMSSW_8_0_6/lib/slc6_amd64_gcc530/libFWCoreFramework.so\r\n#38 0x00007f92e003b559 in edm::EventProcessor::init(std::shared_ptr<edm::ProcessDesc>&, edm::ServiceToken const&, edm::serviceregistry::ServiceLegacy) () from /cvmfs/cms.cern.ch/slc6_amd64_gcc530/cms/cmssw/CMSSW_8_0_6/lib/slc6_amd64_gcc530/libFWCoreFramework.so\r\n#39 0x00007f92e003d6aa in edm::EventProcessor::EventProcessor(std::shared_ptr<edm::ProcessDesc>&, edm::ServiceToken const&, edm::serviceregistry::ServiceLegacy) () from /cvmfs/cms.cern.ch/slc6_amd64_gcc530/cms/cmssw/CMSSW_8_0_6/lib/slc6_amd64_gcc530/libFWCoreFramework.so\r\n#40 0x000000000040c6a1 in main::{lambda()#1}::operator()() const ()\r\n#41 0x000000000040ac36 in main ()\r\n```\r\n\r\nCan an expert look at it? It's rather urgent, since this issue delays release of the residuals corrections for 8.0.X.\r\n\r\nThanks"}}
{"actor":{"display_login":"blinkseb"}}