[llvm-dev] LLVM 10 ORC2 issue with symbol resolution

Dibyendu Majumdar via llvm-dev llvm-dev at lists.llvm.org
Mon Apr 13 13:46:00 PDT 2020

Hi Lang,

On Mon, 13 Apr 2020 at 21:26, Lang Hames <lhames at gmail.com> wrote:
>> I had a look - to be honest I am not sure where the error is being
>> reported from. It looks like this:
>> JIT session error: Symbols not found: [ luaV_tointeger_, luaG_runerror ]
>> I don't think it is from any logging I am doing.
> Errors in ORC may trigger cascading failures. E.g. if two different modules M1 and M2 both reference a function "foo" which cannot be resolved, then you have three errors: A failure to resolve "foo", A failure to materialize the symbols in M1, and a failure to materialize the symbols in M2. When such a cascade occurs ORC will usually report the original error(s) via ExecutionSession::reportError (which logs them to stderr by default) and return a derived error (e.g. failure-to-materialize) to callers. I believe you're seeing the logged error, and you will see a failure-to-materialize error if you log the result that reaches cantFail in your example above.

I am a bit confused about this. I assumed that cantFail() will abort
the process on error - but my process doesn't abort.
I have cantFail() in a few places, I am not sure if you are suggesting
adding the error logging everywhere ...

Thanks and Regards

More information about the llvm-dev mailing list