What does ROOT::Cintex::Method_stub_with_context () do?

Hi,

I need some information about some root internals. In debugging a program I need to understand the following traceback:

#0  ApplicationMgr::addRef (this=0xa5c39b0)
    at ../src/ApplicationMgr/ApplicationMgr.cpp:173
#1  0x0700acc4 in ApplicationMgr::queryInterface (this=0xa5c39b0, iid=@0x72774d8, 
    ppvInterface=0xb73497dc) at ../src/ApplicationMgr/ApplicationMgr.cpp:235
#2  0x046d5df2 in method_5136 (o=0xa5c39b0, arg=@0xbe6ff38)
    at ../i686-slc3-gcc323-dbg/dict/GaudiKernel/dictionary_dict.cpp:9327
#3  0x01f682ec in ROOT::Cintex::Method_stub_with_context ()
   from /afs/cern.ch/sw/lcg/external/root/5.10.00e/slc3_ia32_gcc323/root/lib/libCintex.so
#4  0x0be6ffbe in ?? ()
#5  0x0be6ff30 in ?? ()
#6  0x0beea2c4 in ?? ()
#7  0x00000000 in ?? ()

This traceback is not from a core dump, but rather I need to understand how the above calling sequence came about. Unfortunately, I don’t have a debug build of root right now, but can someone explain to me what ROOT::Cintex::Method_stub_with_context () is supposed to be doing? I.e. under what circumstances is it called by ROOT/CINT?

I am sorry if this question is so general. I can try to provide more details if needed.

Thanks a lot,
Frank

Hi,

This indicates that a method (specifically ApplicationMgr::queryInterface) is being called from the interpreter. The Cintex part indicates that the ApplicationMgr’s dictionary has been generated via genreflex. The call might come from several component in your software (one guess would be your plugin manager) … You should check with your local Gaudi expert for more hints…

Cheers,
Philippe

Hi Frank,

you are generating a Reflex dictionary which is fed into CINT via a ROOT module called Cintex. The CINT dictionary information can then be used by interpreters, e.g. Python (through PyROOT) or CINT. Whenever you call a method on this interpreter a generic call back into the Reflex dictionary to it’s stub function is invoked. This is what the ROOT::Cintex::Method_stub_with_context does.

If you need any more help please let me know.

Best

Stefan