[ntuple] Check TKey class name is RNTuple#8285
Conversation
|
Starting build on |
|
Build failed on windows10/cxx14. Failing tests: |
|
Converted to draft: after this change, using |
|
Observing some strange behaviour when running ROOT from the command line... [edit] which was from not correctly setting the offset if the class name wasn't root/tree/ntuple/v7/src/RMiniFile.cxx Lines 965 to 967 in 28ea81b Bug symptomsIf the className check is commented out we get the following (expected) output: offset += key.GetHeaderSize();
ReadBuffer(&name, 1, offset);
ReadBuffer(&name, name.GetSize(), offset);
std::cout << "got class name size: " << std::to_string(name.GetSize()) << "\n";
auto className = std::string(std::string_view(name.fData, name.fLName));
std::cout << "got class name: " << className << "\n";
//if (className != "ROOT::Experimental::RNTuple") {
// continue;
//}commented out: uncommented: |
|
Starting build on |
| auto tree = std::make_unique<TTree>("Events", ""); | ||
| file->Write(); | ||
| file->Close(); | ||
| tree.release(); |
There was a problem hiding this comment.
Note that the CI issues a warning here
Fixes issue where TKeys with the same name as the requested RNTuple would be attempted to be parsed as an RNTuple, leading to internal parser assert failures later on.
|
Starting build on |
Fixes issue #8284 where TKeys with the same name as the requested RNTuple
would be attempted to be parsed as an RNTuple, leading to internal
parser assert failures later on.
e.g.
Internal error before:
Exception thrown after: