Crash in TGListTree::DrawChildren

Dear Ilka

Sorrowly, I have some bad news. After upgrading my Mac to Mac OS X 10.4.1 and
compiling the cvs version of root from 19. June 2005, my gui application
crashes once again in TGListTree.

This time I can reproduce this crash with guitest.C:
When selecting Test -> List Directory I can double-click through the directories
w/o any problem until I get to a directory containing root files. Then root
crashes beyond recovery. The crash reporter gives the following output:

Thread 0 Crashed:
0   <<00000000>> 	0x00000000 0 + 0
1   libGui.so     	0x0305fa58 TGListTree::DrawChildren(TGListTreeItem*, int, int, int) + 108 (icplusplus.c:28)
2   libGui.so     	0x0305fac8 TGListTree::DrawChildren(TGListTreeItem*, int, int, int) + 220 (icplusplus.c:28)
3   libGui.so     	0x0305fac8 TGListTree::DrawChildren(TGListTreeItem*, int, int, int) + 220 (icplusplus.c:28)
4   libGui.so     	0x0305fac8 TGListTree::DrawChildren(TGListTreeItem*, int, int, int) + 220 (icplusplus.c:28)
5   libGui.so     	0x0305fac8 TGListTree::DrawChildren(TGListTreeItem*, int, int, int) + 220 (icplusplus.c:28)
6   libGui.so     	0x0305fac8 TGListTree::DrawChildren(TGListTreeItem*, int, int, int) + 220 (icplusplus.c:28)
7   libGui.so     	0x0305fc14 TGListTree::Draw(int, int) + 284 (icplusplus.c:28)
8   libGui.so     	0x0301a934 TGClient::DoRedraw() + 116 (icplusplus.c:28)
9   libGui.so     	0x0301aea4 TGClient::ProcessOneEvent() + 236 (icplusplus.c:28)
10  libGui.so     	0x0301aef4 TGClient::HandleInput() + 32 (icplusplus.c:28)
11  libCore.dylib 	0x01123168 TUnixSystem::DispatchOneEvent(bool) + 104 (icplusplus.c:28)
12  libCore.dylib 	0x01074288 TSystem::InnerLoop() + 52 (icplusplus.c:28)
13  libCore.dylib 	0x010741f4 TSystem::Run() + 148 (icplusplus.c:28)
14  libCore.dylib 	0x0100c244 TApplication::Run(bool) + 68 (icplusplus.c:28)
15  libRint.dylib 	0x00034180 TRint::Run(bool) + 876 (icplusplus.c:28)
16  root.exe      	0x000029ec main + 128 (crt.c:355)
17  root.exe      	0x000021b8 _start + 348 (crt.c:272)
18  root.exe      	0x00002058 start + 60

Thread 0 crashed with PPC Thread State:
  srr0: 0x00000000 srr1: 0x4200d930                vrsave: 0x00000000
    cr: 0x24002444  xer: 0x00000004   lr: 0x0305f9a4  ctr: 0x00000000
    r0: 0x00000000   r1: 0xbfffe960   r2: 0x0343d4ac   r3: 0x041ba460
    r4: 0x01200180   r5: 0x041bbbf0   r6: 0x00000072   r7: 0x0000008e
    r8: 0x00000072   r9: 0x00000000  r10: 0x03016d44  r11: 0xac823e70
   r12: 0x00000000  r13: 0x00000000  r14: 0x00000000  r15: 0xbfffea4c
   r16: 0xbfffea48  r17: 0x0000008e  r18: 0x0000009e  r19: 0xbfffea50
   r20: 0x00000096  r21: 0x00000072  r22: 0x0000007a  r23: 0x00000430
   r24: 0x00000010  r25: 0x0000009e  r26: 0x041d6960  r27: 0x041bb8a0
   r28: 0x0000008e  r29: 0xfffffff5  r30: 0x00000000  r31: 0x01123108

Binary Images Description:
    0x1000 -     0x2fff root.exe 	/Users/rabbitus/ROOT/root/bin/root.exe
   0x32000 -    0x4ffff libRint.dylib 	/Users/rabbitus/ROOT/root/lib/libRint.dylib
   0x64000 -    0x9cfff libGX11.so 	/Users/rabbitus/ROOT/root/lib/libGX11.so
   0xd9000 -    0xe1fff libGX11TTF.so 	/Users/rabbitus/ROOT/root/lib/libGX11TTF.so
  0x205000 -   0x345fff libCint.dylib 	/Users/rabbitus/ROOT/root/lib/libCint.dylib
  0x43e000 -   0x5e2fff libGraf.dylib 	/Users/rabbitus/ROOT/root/lib/libGraf.dylib
  0x7a8000 -   0x7defff libHtml.so 	/Users/rabbitus/ROOT/root/lib/libHtml.so
 0x1008000 -  0x16e8fff libCore.dylib 	/Users/rabbitus/ROOT/root/lib/libCore.dylib
 0x1a97000 -  0x1cd0fff libHist.dylib 	/Users/rabbitus/ROOT/root/lib/libHist.dylib
 0x1db6000 -  0x1e81fff libGraf3d.dylib 	/Users/rabbitus/ROOT/root/lib/libGraf3d.dylib
 0x1ef3000 -  0x1fbefff libGpad.dylib 	/Users/rabbitus/ROOT/root/lib/libGpad.dylib
 0x2036000 -  0x2190fff libTree.dylib 	/Users/rabbitus/ROOT/root/lib/libTree.dylib
 0x223b000 -  0x240bfff libMatrix.dylib 	/Users/rabbitus/ROOT/root/lib/libMatrix.dylib
 0x24dd000 -  0x2535fff libfreetype.dylib 	/Users/rabbitus/ROOT/root/lib/libfreetype.dylib
 0x2553000 -  0x25a8fff libMinuit.so 	/Users/rabbitus/ROOT/root/lib/libMinuit.so
 0x2705000 -  0x274cfff libPostscript.so 	/Users/rabbitus/ROOT/root/lib/libPostscript.so
 0x3008000 -  0x3425fff libGui.so 	/Users/rabbitus/ROOT/root/lib/libGui.so
 0x366e000 -  0x3727fff libASImage.so 	/Users/rabbitus/ROOT/root/lib/libASImage.so
0x8fe00000 - 0x8fe50fff dyld 43	/usr/lib/dyld
0x90000000 - 0x901a6fff libSystem.B.dylib 	/usr/lib/libSystem.B.dylib
0x901fe000 - 0x90202fff libmathCommon.A.dylib 	/usr/lib/system/libmathCommon.A.dylib
0x91957000 - 0x91a19fff libcrypto.0.9.7.dylib 	/usr/lib/libcrypto.0.9.7.dylib
0x91d33000 - 0x91d53fff libmx.A.dylib 	/usr/lib/libmx.A.dylib
0x94cc4000 - 0x94cf2fff libssl.0.9.7.dylib 	/usr/lib/libssl.0.9.7.dylib
0x95483000 - 0x95506fff libstdc++.6.dylib 	/usr/lib/libstdc++.6.dylib
0x95584000 - 0x9558cfff libgcc_s.1.dylib 	/usr/lib/libgcc_s.1.dylib
0x9c811000 - 0x9c81cfff libXext.6.dylib 	/usr/X11R6/lib/libXext.6.dylib
0x9c821000 - 0x9c8e9fff libX11.6.dylib 	/usr/X11R6/lib/libX11.6.dylib
0x9cc64000 - 0x9cc6ffff libXpm.4.dylib 	/usr/X11R6/lib/libXpm.4.dylib

Do you have any ideas?

Best regards
Christian

Hi Christian,

I will check the reported case asap - we are just before a new release and the days are very busy. I will keep you informed.

Best regards, Ilka

Hi Christian,

I cannot reproduce this case with last cvs (updated after 19:30, 24-Jun) and guitest.C.

Meanwhile there were many changes on cvs. Could you try to reproduce it having the last cvs head and let us know does the problem persist.

Thank you, Ilka
++ my environment is SLC3, gcc version 3.2.3

Dear Ilka, dear MacRooters

Today (June 25) at 16:00 I have downloaded the newest cvs version of root
on Mac OS X 10.4.1 with Fink-0.8.0. Compilation took 2 hrs and 15 min.

Sorrowly, the error in guitest.C remains the same.
Furthermore, the tutorial shapes.C also crashes root beyond recovery.

Maybe this is a Mac OS X Tiger specific problem?
Does anybody who has Tiger installed also have these problem?

Best regards
Christian

Hi Christian and Ilka,

Concerning the guitest.C : I see the same as Christian, the moment I
go into the tutorials directory ( after a lot of succesful clicking),
I get a SegV .

Concerning shapes.C :

root [0] .x shapes.C
dlopen error: dlopen(/Users/eddyo/25A/lib/root-5.01.01/libRGL.so, 9): Symbol not found: __cg_jpeg_resync_to_restart
Referenced from: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/ImageIO
Expected in: /sw/lib/libjpeg.62.dylib

Load Error: Failed to load Dynamic link library /Users/eddyo/25A/lib/root-5.01.01/libRGL.so
Error in TCanvas::TPad::CreateViewer3D: Cannot create 3D viewer of type: ogl
*** Interpreter error recovered ***

All of this with CVS of 26-jun . A few days ago the shapes.C tutorial
was still functioning .

Eddy

Hi Christian and Eddy,

It seems both cases are mac related because I have no SegV running guitest.C and shapes.C on my SLC3 this morning after I’ve done cvs update.

Cheers, Ilka

Hi Christian,

this problem should now be fixed. Please try the head and let me know. Remains the shapes.C problem into which I am looking now.

Cheers, Fons.

Hi Eddy,

actually I don’t see the shapes.C problem that you have. Note that you don’t need the fink libjpeg anymore. Can you try removing that and see what happens? Actually on Tiger ROOT can be build without Fink.

The problem that I see with shapes.C is that it takes very long (more than 1 min) to get the gl vierwer up. In shark I see that MacOS X is looping in ImageLoader::resolveSymbol().

Cheers, Fons.

Hi Fons,

hmm, I can not just remove libjpeg in /sw/lib because other fink
stuff will depend on it .
If indeed ROOT does not need /sw/lib anymore in MacOS10.4,
the proper thing to do is change configure and makefile.MacOSX
so that they do not set the FINKDIR anymore in this case .

Eddy

Dear Fons

Thank you for this information, I will download the new header asap and will keep you informed.
Regarding the shapes.C problem:
Since you mentioned that gl viewer takes more than one minute to start, I tested it again and waited for
about 3 min, then gl viewer showed up. So in my case shapes.C is working correctly although I am wondering
why it takes so long on Tiger when it needed only about 10 sec on Panther.

Best regards
Christian

Dear Fons

I have just updated to the new cvs version and now everything works great, thank you.

Christian