-
Notifications
You must be signed in to change notification settings - Fork 1.5k
cling assertion crash #8389
Copy link
Copy link
Closed
Description
Describe the bug
One time, I made a typo when writing something in the interpreter that made whole ROOT crash.
Expected behavior
A warning is issued instead of crashing.
To Reproduce
root [0] for(auto& p : pn9) cout << std::bitset<14>(p) << endl;
ROOT_prompt_0:1:50: error: cannot initialize an array element of type 'void *' with an rvalue of type 'basic_ostream<char, std::char_traits<char> > &(*)(basic_ostream<char, std::char_traits<char> > &)'
for(auto& p : pn9) cout << std::bitset<14>(p) << endl;
^~~~
root.exe: /opt/root_src/interpreter/cling/lib/Interpreter/DynamicLookup.cpp:764: clang::Expr* cling::EvaluateTSynthesizer::BuildDynamicExprInfo(clang::Expr*, bool): Assertion `ExprAddresses && "Could not build the void* array"' failed.
Setup
------------------------------------------------------------------
| Welcome to ROOT 6.25/01 https://root.cern |
| (c) 1995-2021, The ROOT Team; conception: R. Brun, F. Rademakers |
| Built for linuxx8664gcc on Jun 09 2021, 21:20:28 |
| From heads/master@v6-25-01-1189-g1ca221f010 |
| With |
| Try '.help', '.demo', '.license', '.credits', '.quit'/'.q' |
------------------------------------------------------------------
Additional context
Not sure why, maybe cause I built in 'debug mode' or it is another version, but I have another computer where it does not crash.
root -b
------------------------------------------------------------------
| Welcome to ROOT 6.25/01 https://root.cern |
| (c) 1995-2021, The ROOT Team; conception: R. Brun, F. Rademakers |
| Built for linuxx8664gcc on Jun 08 2021, 21:53:04 |
| From heads/master@v6-25-01-1189-g1ca221f010 |
| With |
| Try '.help', '.demo', '.license', '.credits', '.quit'/'.q' |
------------------------------------------------------------------
root [0] for(auto& p : pn9) cout << std::bitset<14>(p) << endl;
ROOT_prompt_0:1:50: error: cannot initialize an array element of type 'void *' with an rvalue of type 'basic_ostream<char, std::char_traits<char> > &(*)(basic_ostream<char, std::char_traits<char> > &)'
for(auto& p : pn9) cout << std::bitset<14>(p) << endl;
^~~~
ROOT_prompt_0:1:20: error: no viable conversion from 'std::basic_ostream<char, std::char_traits<char> >::__ostream_type' (aka 'basic_ostream<char, std::char_traits<char> >') to 'cling::runtime::internal::DynamicExprInfo *'
for(auto& p : pn9) cout << std::bitset<14>(p) << endl;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/huesof/builds/build-root_src-Desktop-Debug/etc/cling/Interpreter/RuntimeUniverse.h:53:7: note: in instantiation of member function 'cling::runtime::internal::EvaluateT' requested here
int InterpreterGeneratedCodeDiagnosticsMaybeIncorrect;
^
/home/huesof/builds/build-root_src-Desktop-Debug/etc/cling/Interpreter/DynamicLookupRuntimeUniverse.h:65:44: note: passing argument to parameter 'ExprInfo' here
inline void EvaluateT(DynamicExprInfo* ExprInfo, clang::DeclContext* DC ) {
^
root [1] .q
Reactions are currently unavailable