Re: [ROOT] Problem with tree4.C

From: Rene Brun (Rene.Brun@cern.ch)
Date: Sat Feb 28 2004 - 03:14:48 MET


Hi Remi,

Thanks for investigating this problem with the Mac OS X linker.
I have applied your proposed patch to the Makefile in CVS.

Rene Brun

On Fri, 27 
Feb 2004, Remi Mommsen wrote:

> Hi,
> 
> I hesitate to call it a 'solution' to this problem as I suspect that we 
> hit (another) problem with the linker on Mac OS X. Anyway here it goes:
> 
> The culprit is the option passed to the linker '-Wl,-x' used 
> (exclusively) in the $ROOTSYS/test/Makefile. If you remove it, tree4.C 
> works as expected. The linker option '-x' causes to strip non-global 
> symbols from the library, thus changing the relative location of the 
> symbols. If for some obscure reason the relative addresses are not 
> modified accordingly, you can end up in a different code segment. This 
> would explain the nonsense sequence seen in the traceback. Thought this 
> is pure speculation.
> 
> I put the patch file at 
> http://www.slac.stanford.edu/~mommsen/test_makefile.patch or you can 
> just change it by hand (it occurs 5 times!).
> 
> Have a nice weekend.
> 
> Cheers,
> 		Remi
> 
> 
> On Feb 27, 2004, at 2:49 PM, cstrato wrote:
> 
> > Dear Philippe
> >
> > Did you try to reproduce this problem on a Macintosh?
> > As Rene already mentioned, it does not appear on Linux.
> >
> > Best regards
> > Christian
> >
> > Philippe Canal wrote:
> >
> >> Hi,
> >> I am unable to reproduce this problem.
> >> It does look very weird.  Make sure that the allowed stack size is
> >> large enough (see the 'limit' shell command).
> >> Try to run the process in the debugger and see exactly where the
> >> problem is. Cheers,
> >> Philippe
> >> -----Original Message-----
> >> From: owner-roottalk@pcroot.cern.ch
> >> [mailto:owner-roottalk@pcroot.cern.ch]On Behalf Of Remi Mommsen
> >> Sent: Thursday, February 26, 2004 6:11 PM
> >> To: Rene Brun
> >> Cc: cstrato; roottalk@pcroot.cern.ch
> >> Subject: Re: [ROOT] Problem with tree4.C
> >> Hi,
> >> I can reproduce the problem on my Mac OS X 10.3.2, using root 
> >> 4.00/02. I recompiled libEvent.so (deleting the EventDict 
> >> beforehand). Here the traceback I get:
> >> Date/Time:      2004-02-26 15:59:09 -0800
> >> OS Version:     10.3.2 (Build 7D24)
> >> Report Version: 2
> >> Command: root.exe
> >> Path:    /sw/bin/root.exe
> >> Version: ??? (???)
> >> PID:     20359
> >> Thread:  0
> >> Exception:  EXC_BAD_INSTRUCTION (0x0002)
> >> Code[0]:    0x00000002
> >> Code[1]:    0x0023afd0
> >> Thread 0 Crashed:
> >> 0   libEvent.so     	0x0023afd0 0x224000 + 0x16fd0
> >> 1   libEvent.so     	0x00225c48 Track::Track[in-charge](float) + 0x10
> >> 2   libEvent.so     	0x002256d4 Event::AddTrack(float, float) + 0x6c
> >> 3   libEvent.so     	0x0022aea0 G__cpp_dllrevEventDict + 0x227c
> >> 4   libCint.4.dylib 	0x251ebbbc G__call_cppfunc + 0x39c
> >> 5   libCint.4.dylib 	0x251d99a8 G__interpret_func + 0x8e8
> >> 6   libCint.4.dylib 	0x251b93ac G__getfunction + 0x1648
> >> 7   libCint.4.dylib 	0x2524e69c G__getstructmem + 0xac4
> >> 8   libCint.4.dylib 	0x25247ea4 G__getvariable + 0x66c
> >> 9   libCint.4.dylib 	0x251ae14c G__getitem + 0x748
> >> 10  libCint.4.dylib 	0x251ac89c G__getexpr + 0x7284
> >> 11  libCint.4.dylib 	0x252028c8 G__exec_function + 0x1f0
> >> 12  libCint.4.dylib 	0x25209fd0 G__exec_statement + 0x2548
> >> 13  libCint.4.dylib 	0x25206e90 G__exec_loop + 0x2e4
> >> 14  libCint.4.dylib 	0x25207660 G__exec_for + 0x1a4
> >> 15  libCint.4.dylib 	0x25209d50 G__exec_statement + 0x22c8
> >> 16  libCint.4.dylib 	0x25206e90 G__exec_loop + 0x2e4
> >> 17  libCint.4.dylib 	0x25207660 G__exec_for + 0x1a4
> >> 18  libCint.4.dylib 	0x25209d50 G__exec_statement + 0x22c8
> >> 19  libCint.4.dylib 	0x251db7b8 G__interpret_func + 0x26f8
> >> 20  libCint.4.dylib 	0x251b9a1c G__getfunction + 0x1cb8
> >> 21  libCint.4.dylib 	0x251ae178 G__getitem + 0x774
> >> 22  libCint.4.dylib 	0x251ac89c G__getexpr + 0x7284
> >> 23  libCint.4.dylib 	0x252028c8 G__exec_function + 0x1f0
> >> 24  libCint.4.dylib 	0x25209fd0 G__exec_statement + 0x2548
> >> 25  libCint.4.dylib 	0x251db7b8 G__interpret_func + 0x26f8
> >> 26  libCint.4.dylib 	0x251b9a1c G__getfunction + 0x1cb8
> >> 27  libCint.4.dylib 	0x251ae178 G__getitem + 0x774
> >> 28  libCint.4.dylib 	0x251ac89c G__getexpr + 0x7284
> >> 29  libCint.4.dylib 	0x251a5150 G__calc_internal + 0x388
> >> 30  libCint.4.dylib 	0x25210108 G__process_cmd + 0x20c0
> >> 31  libCore.4.dylib 	0x257b82a0 TCint::ProcessLine(char const*, 
> >> TInterpreter::EErrorCode*) + 0xb4
> >> 32  libCore.4.dylib 	0x25745b38 TApplication::ProcessFile(char 
> >> const*, int*) + 0x798
> >> 33  libCore.4.dylib 	0x25745384 TApplication::ProcessLine(char 
> >> const*, bool, int*) + 0x5d0
> >> 34  libRint.4.dylib 	0x2a8e262c TRint::HandleTermInput() + 0x248
> >> 35  libCore.4.dylib 	0x2580cb90 TUnixSystem::CheckDescriptors() + 0xe4
> >> 36  libCore.4.dylib 	0x2580c35c TUnixSystem::DispatchOneEvent(bool) + 
> >> 0xe4
> >> 37  libCore.4.dylib 	0x2578c258 TSystem::InnerLoop() + 0x34
> >> 38  libCore.4.dylib 	0x2578c1c4 TSystem::Run() + 0x98
> >> 39  libRint.4.dylib 	0x2a8e2044 TRint::Run(bool) + 0x378
> >> 40  root.exe        	0x000021a8 main + 0x7c
> >> 41  root.exe        	0x00001e5c _start + 0x188 (crt.c:267)
> >> 42  root.exe        	0x00001cd0 start + 0x30
> >> PPC Thread State:
> >>    srr0: 0x0023afd0 srr1: 0x0208d930                vrsave: 0x00000000
> >>      cr: 0x44042288  xer: 0x00000004   lr: 0x00225f8c  ctr: 0x0023afd0
> >>      r0: 0x00225f8c   r1: 0xbffccce0   r2: 0x00235c70   r3: 0x0260d194
> >>      r4: 0x00000022   r5: 0x00000001   r6: 0x00000003   r7: 0x9011a468
> >>      r8: 0x9011a468   r9: 0x00235c70  r10: 0x9000a468  r11: 0x0023d0a4
> >>     r12: 0x0023afd0  r13: 0xbffd6320  r14: 0x00000000  r15: 0x00000355
> >>     r16: 0xbffd6b40  r17: 0x253090e0  r18: 0x00000000  r19: 0x00000000
> >>     r20: 0x000002fe  r21: 0x253ce68c  r22: 0x00000001  r23: 0x00000001
> >>     r24: 0x00000001  r25: 0x0022ad64  r26: 0xbffd6b40  r27: 0x2530b828
> >>     r28: 0x0260d120  r29: 0x0260d120  r30: 0x25d52ef0  r31: 0x00225c70
> >> Binary Images Description:
> >>      0x1000 -     0x8fff root.exe 	/sw/bin/root.exe
> >>     0x44000 -    0x58fff libGX11TTF.so 	/sw/lib/root/libGX11TTF.so
> >>     0x74000 -    0xb1fff libGX11.so 	/sw/lib/root/libGX11.so
> >>    0x224000 -   0x23bfff libEvent.so 
> >> 	/sw/share/root/tutorials/./../test/libEvent.so
> >>    0x25f000 -   0x2a4fff libMinuit.so 	/sw/lib/root/libMinuit.so
> >>    0x5b8000 -   0x6b9fff libGpad.so 	/sw/lib/root/libGpad.so
> >>   0x1008000 -  0x1088fff libPostscript.so 
> >> 	/sw/lib/root/libPostscript.so
> >>   0x11d3000 -  0x12e9fff libGraf3d.so 	/sw/lib/root/libGraf3d.so
> >>   0x139f000 -  0x1421fff libHtml.so 	/sw/lib/root/libHtml.so
> >>   0x15ab000 -  0x16f2fff libTree.so 	/sw/lib/root/libTree.so
> >>   0x2008000 -  0x235cfff libGui.so 	/sw/lib/root/libGui.so
> >> 0x25190000 - 0x25307fff libCint.4.dylib 	/sw/lib/root/libCint.4.dylib
> >> 0x25740000 - 0x25ccdfff libCore.4.dylib 	/sw/lib/root/libCore.4.dylib
> >> 0x27ba0000 - 0x27d84fff libGraf.4.dylib 	/sw/lib/root/libGraf.4.dylib
> >> 0x28190000 - 0x282abfff libGraf3d.4.dylib 
> >> 	/sw/lib/root/libGraf3d.4.dylib
> >> 0x29040000 - 0x29286fff libHist.4.dylib 	/sw/lib/root/libHist.4.dylib
> >> 0x29d50000 - 0x29e6ffff libMatrix.4.dylib 
> >> 	/sw/lib/root/libMatrix.4.dylib
> >> 0x2a8e0000 - 0x2a953fff libRint.4.dylib 	/sw/lib/root/libRint.4.dylib
> >> 0x2aac0000 - 0x2ac0bfff libTree.4.dylib 	/sw/lib/root/libTree.4.dylib
> >> 0x77a66000 - 0x77b33fff libX11.6.dylib 	/usr/X11R6/lib/libX11.6.dylib
> >> 0x8fd10000 - 0x8fd1bfff libXext.6.dylib 
> >> 	/usr/X11R6/lib/libXext.6.dylib
> >> 0x8fd21000 - 0x8fd2bfff libXpm.4.dylib 	/usr/X11R6/lib/libXpm.4.dylib
> >> 0x8fe00000 - 0x8fe4ffff dyld 	/usr/lib/dyld
> >> 0x90000000 - 0x90122fff libSystem.B.dylib 	/usr/lib/libSystem.B.dylib
> >> 0x939d0000 - 0x939d4fff libmathCommon.A.dylib 
> >> 	/usr/lib/system/libmathCommon.A.dylib
> >> It works fine with root 3.10/02
> >> Cheers,
> >> 		Remi
> >> On Feb 26, 2004, at 3:10 PM, Rene Brun wrote:
> >>> Christian,
> >>>
> >>> I do not see any problem with tree4.C run with CINT or ACLIC.
> >>> I tested it under windows and Linux.
> >>>
> >>> Did you build libEvent.so before executing this script?
> >>> If yes, then the problem is MAC specific and I have no way to
> >>> investigate.
> >>>
> >>> Rene
> >>>
> >>> On Thu, 26
> >>> Feb 2004, cstrato wrote:
> >>>
> >>>
> >>>> Dear Rooters
> >>>>
> >>>> After compiling Event I wanted to run the tutorial tree4.C.
> >>>> Sorrowly I get:
> >>>> root [0] .x tree4.C
> >>>>
> >>>>  *** Break *** illegal instruction
> >>>> Root > Function tree4w() busy flag cleared
> >>>> Function tree4() busy flag cleared
> >>>>
> >>>> Trying to compile it results in:
> >>>> root [0] .L ../test/libEvent.so
> >>>> root [1] .x tree4.C++
> >>>> Info in <TUnixSystem::ACLiC>: creating shared library
> >>>> /Users/cs/ROOT/root/tutorials/./tree4_C.so
> >>>>
> >>>>  *** Break *** illegal instruction
> >>>>
> >>>> Do I miss something or does tree4.C not run on:
> >>>> ROOT 4.00/02 (1.Feb 20) on MacOS X 10.3.1.
> >>>>
> >>>> Best regards
> >>>> Christian
> >>>> _._._._._._._._._._._._._._._._
> >>>> C.h.i.s.t.i.a.n S.t.r.a.t.o.w.a
> >>>> V.i.e.n.n.a       A.u.s.t.r.i.a
> >>>> _._._._._._._._._._._._._._._._
> >>>>
> >>>>
> >>>
> >>>
> >> ---------------------------------------------------------------------
> >> If it's green, it's biology. If it stinks, it's chemistry. If it has
> >> numbers, it's math. If it doesn't work, it's technology. (anonymous)
> >> *********************************************************************
> >> Remigius K. Mommsen                 e-mail: mommsen@slac.stanford.edu
> >> University of California, Irvine       URL:    http://cern.ch/mommsen
> >> c/o SLAC                             voice:        ++1 (650) 926-3595
> >> 2575 Sand Hill Road #35                fax:        ++1 (650) 926-3882
> >> Menlo Park, CA 94025, US              home:        ++1 (650) 233-9041
> >> *********************************************************************
> >
> >
> 
> 
> ---------------------------------------------------------------------
> Computers are like air-conditioners, they stop working properly when
> you open Windows.                                         (Anonymous)
> 
> *********************************************************************
> Remigius K. Mommsen                 e-mail: mommsen@slac.stanford.edu
> University of California, Irvine       URL:    http://cern.ch/mommsen
> c/o SLAC                             voice:        ++1 (650) 926-3595
> 2575 Sand Hill Road #35                fax:        ++1 (650) 926-3882
> Menlo Park, CA 94025, US              home:        ++1 (650) 233-9041
> *********************************************************************
> 



This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:06 MET