CINT/C++ langage compliance; Misc. Root NT bugs

Jonathan M. Gilligan (jonathan.gilligan@vanderbilt.edu)
Fri, 03 Jul 1998 16:41:06 -0500


This is a really low priority item, but the CINT parser does not understand
the standard C++ const_cast, static_cast, etc. operators. Ultimately, it
would be nice to implement these parts of the language.

Also, with somewhat greater urgency, I find some consistent ways to crash
root with attempts to read null or invalid pointers:

1) Under Windows NT, Root 2.00/08 or /09, run demos.C;
open the root browser window;
double click on the "Rint" icon on the tree view;
double click on "Global Variables";
click on any of the "notepad" shaped icons (e.g., kTRUE).

Windows terminates root, reporting:

The instruction at "0x006c29ea" references memory at "0x00000000". The
memory could not be "read".

The Root console reports

Warning in <TClass::TClass>: no dictionary for class TWin32BrowserImp
available
Error in <TWin32BrowserImp::CreateWindowsObject>: Dead lock !!!

This kind of thing happens with almost any object I click on in the browser
that has a notepad shaped icon.

2) Include a file with a preprocessor definition such as

#if !defined(AFX_MODELDATA_H__264D89C5_128D_11D2_8318_00104B2C41FC__INCLUDED_)
#define AFX_MODELDATA_H__264D89C5_128D_11D2_8318_00104B2C41FC__INCLUDED_

If the name is too long for Root's symbol table to handle, it should fail
gracefully. Instead, root flails with invalid pointers and Windows NT
terminates it, reporting: '

The instruction at "0x5f444544" referenced memory at "0x5f444544". The
memory could not be "read"

However, it doesn't hurt me to shorten the names, at which point the code
works fine within CINT.

3) With less consistency, I frequently get crashes if I have been doing a
lot of interactive editing of canvases using the editor tools. I don't yet
have a good reproducible recipe for getting this behavior.

I hope these reports are helpful. Thanks again to the Root team and
everyone else who has contributed to making Root the fine tool it is.

Regards,
Jonathan

===========================================================================
Jonathan M. Gilligan <jonathan.gilligan@vanderbilt.edu>
Research Assistant Professor and Associate Director (615) 343-2957
Center for Molecular and Atomic Studies at Surfaces Fax: 343-1708
Dept. of Physics and Astronomy, Box 1807-B Sec'y 322-6438
Vanderbilt University, Nashville, TN 37235 Lab: 343-7578