Re: Problem constructing TROOT object

Rene Brun (Rene.Brun@cern.ch)
Wed, 09 Jun 1999 06:33:59 +0000


Hi Nick,
I am suspecting a problem with your ".rootrc" file.
Your main program is correct. Note that you can remove the line:
int Error; ..needed by Motif
Root does not use Motif anymore.
I suggest you copy $ROOTSYS/tutorials/.rootrc file in your directory
and try again. If this solves the problem, please send me a copy
of your existing .rootrc file to understand what could generate this
crash.

Rene Brun

Nick West wrote:
>
> Hi rooters,
>
> I am trying to build our standard MINOS event display application with ROOT
> 2.21/08. Our main application is quite standard:-
>
> ..
>
> int Error; // Needed by Motif on HP-UX
>
> extern void InitGui();
> VoidFuncPtr_t initfuncs[] = { InitGui, 0 };
>
> TROOT root("MINOS GUI", "MINOS GUI test environment", initfuncs);
> MINFast *gMINFast;
>
> int main(int argc, char **argv)
> {
> cout << "Main program starting ..." << endl;
>
> TRint theApp("Rint", &argc, argv, 0, 0);
>
> ...
>
> but it dies BEFORE control passes to the main function with:-
>
> Fatal in <operator delete>: storage area overwritten
> aborting
>
> so it must be a problem with a static object. If I comment out the TROOT root
> definition, the program dies of course, but at least I see the message "Main
> program starting ..." first, showing that the main program has got control.
> Using the debugger, the traceback for the error is:-
>
> minfastjob
> __init_sti__minfastjob_C_Error
> TROOT
> InitSystem
> TENV
> __dla
> operator delete
> Fatal
> ErrorHandler
> DefaultErrorHandler
> Abort
> ...
>
> any idea where I should start to look? I am using DIGITAL C++ V6.1-027 and the
> tar file DEC/Alpha/Unix with DEC/CXX 6 version 2.21/08. I get the problem
> whether I take the supplied binary or rebuild locally. Its probably not
> connected but, when I do compile I get many warning on CINT generated code of
> the form:-
>
> > cxx: Warning: MinfCint.cc, line 56: type qualifier is meaningless on cast type
> > (const Int_t)G__int(libp->para[0]),(const Int_t)G__int(libp->para[1])
> > -^
>
> which I never used to get.
>
> Thanks,
>
> Nick West