Uploaded image for project: 'ROOT'
  1. ROOT
  2. ROOT-6989

TClass::GetCheckSum() must give indication of missing base class


    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: 6.02/02, 5.34/24
    • Fix Version/s: 6.04.00, 6.02/03
    • Component/s: Core Libraries
    • Labels:
    • Environment:

      gcc4.9.1 SL6


      In a call of TClass::GetChecksum(). if a base class is unavailable,
      the function returns normally with an incorrect check sum. The only indication of the error is an error message:
      Error("GetCheckSum","Calculating the checksum for (%s) requires the base class (%s) meta information to be available!", GetName(),tbc->GetName());
      Unfortunately, CMS calls TClass::GetChecksum() from a stand alone python script, and there is no obvious way to catch the error. This is a very serious problem, a blocker in fact, for both 5.34 and 6.02.
      We already have checksums populated incorrectly because of this problem.
      Since ROOT will not throw an exception in this case, the least it can do is to return an error return code instead of what it currently does, which is return an incorrect checksum.
      If there is some reason to keep the current behavior, (ugh), perhaps an optional bool argument could be used to force an error return code in this case.




            • Assignee:
              pcanal Philippe Canal
              wmtan William Tanenbaum
            • Votes:
              0 Vote for this issue
              2 Start watching this issue


              • Created: