guitest.C and nucleus.C - bus error

Dear Rooters

I have just downloaded the newest cvs version and tested the tutorials:

1, When running guitest.C and selecting “Test->File List…” I get a bus error.
The crash reporter on my Mac (10.4.1) gives the following output:

Thread 0 Crashed:
0   <<00000000>> 	0xffff8910 __memcpy + 368 (cpu_capabilities.h:189)
1    	0x000780d0 G__G__X11_176_7_5(G__value*, char const*, G__param*, int) + 308 (icplusplus.c:28)
2     	0x03040fc4 TGFrame::HandleEvent(Event_t*) + 1076 (icplusplus.c:28)
3     	0x0301ae44 TGClient::HandleEvent(Event_t*) + 244 (icplusplus.c:28)
4     	0x0301aee0 TGClient::ProcessOneEvent() + 132 (icplusplus.c:28)
5     	0x0301af98 TGClient::HandleInput() + 32 (icplusplus.c:28)
6   libCore.dylib 	0x01114a5c TUnixSystem::DispatchOneEvent(bool) + 104 (icplusplus.c:28)
7   libCore.dylib 	0x01076c88 TSystem::InnerLoop() + 52 (icplusplus.c:28)
8   libCore.dylib 	0x01076bf4 TSystem::Run() + 148 (icplusplus.c:28)
9   libCore.dylib 	0x0100ba58 TApplication::Run(bool) + 68 (icplusplus.c:28)
10  libRint.dylib 	0x00034320 TRint::Run(bool) + 876 (icplusplus.c:28)
11  root.exe      	0x000029ec main + 128 (crt.c:355)
12  root.exe      	0x000021b8 _start + 348 (crt.c:272)
13  root.exe      	0x00002058 start + 60

2, While tutorial shapes.C runs fine, nucleus.C results in a segmentation violation.
The crash reporter gives the following output:

Thread 0 Crashed:
0   GLEngine      	0x07076e18 glDeleteLists_Exec + 92
1     	0x06b3909c TGLDisplayListCache::Purge() + 32 (icplusplus.c:28)
2     	0x06b47da0 TGLScene::~TGLScene [in-charge]() + 308 (icplusplus.c:28)
3     	0x06b4fe30 TGLViewer::~TGLViewer [not-in-charge]() + 108 (icplusplus.c:28)
4     	0x06b51b54 TViewerOpenGL::~TViewerOpenGL [in-charge deleting]() + 896 (icplusplus.c:28)
5     	0x030f17b0 G__G__Gui1_221_0_2(G__value*, char const*, G__param*, int) + 84 (icplusplus.c:28)
6   libCint.dylib 	0x002b6dc4 G__CallFunc::Execute(void*) + 200 (icplusplus.c:28)
7   libCore.dylib 	0x01059a98 TQConnection::ExecuteMethod() + 272 (icplusplus.c:28)
8   libCore.dylib 	0x0105c9b8 TQObject::Emit(char const*) + 704 (icplusplus.c:28)
9   libCore.dylib 	0x01085104 TTimer::Notify() + 48 (icplusplus.c:28)
10  libCore.dylib 	0x01084ea8 TTimer::CheckTimer(TTime const&) + 64 (icplusplus.c:28)
11  libCore.dylib 	0x01111f48 TUnixSystem::DispatchTimers(bool) + 140 (icplusplus.c:28)
12  libCore.dylib 	0x01114bd8 TUnixSystem::DispatchOneEvent(bool) + 484 (icplusplus.c:28)
13  libCore.dylib 	0x01076c88 TSystem::InnerLoop() + 52 (icplusplus.c:28)
14  libCore.dylib 	0x01076bf4 TSystem::Run() + 148 (icplusplus.c:28)
15  libCore.dylib 	0x0100ba58 TApplication::Run(bool) + 68 (icplusplus.c:28)
16  libRint.dylib 	0x00034320 TRint::Run(bool) + 876 (icplusplus.c:28)
17  root.exe      	0x000029ec main + 128 (crt.c:355)
18  root.exe      	0x000021b8 _start + 348 (crt.c:272)
19  root.exe      	0x00002058 start + 60

BTW, while the OpenGL Viewer works really great, with every new root version it takes longer
to load. The current version takes more than 3 min to load on my PowerBook 550MHz.

Best regards

Ilka being away, I assume that Fons will process the first part of your question. I just checked that this runs correctly under Linux
and Windows.
I have a question about the last part.

[quote]BTW, while the OpenGL Viewer works really great, with every new root version it takes longer
to load. The current version takes more than 3 min to load on my PowerBook 550MHz. [/quote]

What do you mean by “it takes longer to load”, to load what?
Do you mean that it takes 3 minutes to start Root on your engine?


Dear Rene

I apologize that I was not clear enough:

1, Both tutorials work on the Mac, too. The crash occurs only when closing either the dialogbox (guitest)
or the OpenGL Viewer window (nucleus).

2, OpenGL Viewer:
When I start the tutorial with “.x shapes.C” the canvas “Geometry Shapes” is displayed immediately,
but it takes almost 5 min until the OpenGL Viewer is displayed. In earlier versions of root,
OpenGL Viewer did not need such a long time to be displayed.
BTW, closing the OpenGL Viewer window works fine, in contrast to tutorial “nucleus.C”, where the
Viewer displays and rotates the nucleus, but closing the viewer crashes root beyond recovery.

Best regards

Hi Christian,

I've just run all examples you quoted as giving problems on my Powerbook G4 1.5GHz with MacOS X 10.4.2 using the ROOT cvs head and I cannot reproduce any of the problems. The guitest.C FileList dialog does not crash when closing either via the exit menu item or the Window Manager close button. The shapes.C and nucleus.C work both fine and the OpenGL window popup directly. HOWEVER, I had also the 1.5 min (faster G4 than your G3) delay in opening the OpenGL window using 10.4.1. Running Shark I saw it was due to the recursive loading of the Apple GL libraries (the /usr/X11R6/lib one loading the MacOS X framework GL library, loading the /usr/X11R6/lib one etc.). This seems to have been fixed in 10.4.2. Can you at least try that.

Also what is the memory on your system?

Cheers, Fons.

Dear Fons

Thank you for this useful information. I have just upgraded my Mac to 10.4.2, and as you mentioned,
now OpenGL Viewer starts almost immediately. Furthermore, both tutorials do no longer crash
when closing the respective window.
Based on this experience, it seems to be evident that every Mac user of Tiger should upgrade to 10.4.2.

Best regards