Skip to content

TStreamerInfo::New needs to use the CollectionProxy::New#9581

Merged
pcanal merged 1 commit intoroot-project:masterfrom
pcanal:Issue-9543
Jan 19, 2022
Merged

TStreamerInfo::New needs to use the CollectionProxy::New#9581
pcanal merged 1 commit intoroot-project:masterfrom
pcanal:Issue-9543

Conversation

@pcanal
Copy link
Copy Markdown
Member

@pcanal pcanal commented Jan 14, 2022

This fixes issue #9543

In the issue #9543, the unusual situation is the combination of:

  • there is (intentionally) no dictionary for std::map<int,std::vector<int>>
  • consequently we use an "emulated collection proxy" for that collection
  • there is (unintentional due to external config) interpreter information/ClassInfo for std::map<int,std::vector<int>>

The crux of the issue #9543 is:

  • TClass::fSizeof info prefers the information from the CollectionProxy
  • TStreamerInfo::fSize is set to the value of TClass::fSizeOf
  • TClass:New prefers the constructor from the interpreter
  • TStreamerInfo::New was using TClass::New for that case
  • On the failing platform, the sizeof(std::map<int,std::vector<int>>) is larger than the size of the emulated collection.

Since the I/O and TStreamerInfo uses the TCollection proxy and all of TStreamerInfo needs to prefer the information from the collection proxy (including the 'sizeof'). To fix #9543 the solution is for

  • TStremearInfo::New to prefer/use TCollectionProxy::New over TClass::New (i.e. the interpreted constructor in this particular case).

This fixes issue root-project#9543

In the issue root-project#9543, the unusual situation is the combination of:

* there is (intentionally) no dictionary for `std::map<int,std::vector<int>>`
* consequently we use an "emulated collection proxy" for that collection
* there is (unintentional due to external config) interpreter information/ClassInfo for `std::map<int,std::vector<int>>`

The crux of the issue root-project#9542 is:

* TClass::fSizeof info prefers the information from the CollectionProxy
* TStreamerInfo::fSize is set to the value of TClass::fSizeOf
* TClass:New prefers the constructor from the interpreter
* TStreamerInfo::New was using TClass::New for that case
* On the failing platform, the `sizeof(std::map<int,std::vector<int>>)` is larger than the size of the emulated collection.

Since the I/O and TStreamerInfo uses the TCollection proxy and all of TStreamerInfo needs to prefer the information from the collection proxy (including the 'sizeof').  To fix root-project#9542 the solution is for
* TStremearInfo::New to prefer/use TCollectionProxy::New over TClass::New (i.e. the interpreted constructor in this particular case).
@pcanal pcanal requested a review from Axel-Naumann January 14, 2022 16:42
@phsft-bot
Copy link
Copy Markdown

Starting build on ROOT-debian10-i386/cxx14, ROOT-performance-centos8-multicore/default, ROOT-ubuntu16/nortcxxmod, ROOT-ubuntu2004/soversion, mac1015/python3, mac11/cxx17, windows10/cxx14
How to customize builds

@pcanal pcanal requested a review from hahnjo January 14, 2022 16:42
@phsft-bot
Copy link
Copy Markdown

Build failed on ROOT-ubuntu2004/soversion.
Running on root-ubuntu-2004-1.cern.ch:/home/sftnight/build/workspace/root-pullrequests-build
See console output.

Failing tests:

@phsft-bot
Copy link
Copy Markdown

Build failed on ROOT-ubuntu16/nortcxxmod.
Running on sft-ubuntu-1604-2.cern.ch:/build/workspace/root-pullrequests-build
See console output.

Failing tests:

@phsft-bot
Copy link
Copy Markdown

Build failed on ROOT-performance-centos8-multicore/default.
Running on olbdw-01.cern.ch:/data/sftnight/workspace/root-pullrequests-build
See console output.

Warnings:

  • [2022-01-14T17:57:28.245Z] /data/sftnight/workspace/root-pullrequests-build/root/graf2d/mathtext/src/table/adobeglyphlist.h:128:44: warning: unpaired UTF-8 bidirectional control character detected [-Wbidi-chars=]
  • [2022-01-14T17:57:28.245Z] /data/sftnight/workspace/root-pullrequests-build/root/graf2d/mathtext/src/table/adobeglyphlist.h:128:55: warning: unpaired UTF-8 bidirectional control character detected [-Wbidi-chars=]
  • [2022-01-14T18:02:43.357Z] /data/sftnight/workspace/root-pullrequests-build/root/graf2d/postscript/src/AdobeGlyphList.h:110:44: warning: unpaired UTF-8 bidirectional control character detected [-Wbidi-chars=]
  • [2022-01-14T18:02:43.357Z] /data/sftnight/workspace/root-pullrequests-build/root/graf2d/postscript/src/AdobeGlyphList.h:110:55: warning: unpaired UTF-8 bidirectional control character detected [-Wbidi-chars=]

Failing tests:

@phsft-bot
Copy link
Copy Markdown

Build failed on ROOT-debian10-i386/cxx14.
Running on pcepsft11.dyndns.cern.ch:/home/sftnight/build/workspace/root-pullrequests-build
See console output.

Failing tests:

@phsft-bot
Copy link
Copy Markdown

Build failed on mac1015/python3.
Running on macitois22.dyndns.cern.ch:/Users/sftnight/build/workspace/root-pullrequests-build
See console output.

Failing tests:

@hahnjo
Copy link
Copy Markdown
Member

hahnjo commented Jan 18, 2022

@phsft-bot build

@phsft-bot
Copy link
Copy Markdown

Starting build on ROOT-debian10-i386/cxx14, ROOT-performance-centos8-multicore/default, ROOT-ubuntu16/nortcxxmod, ROOT-ubuntu2004/soversion, mac1015/python3, mac11/cxx17, windows10/cxx14
How to customize builds

@phsft-bot
Copy link
Copy Markdown

Build failed on mac11/cxx17.
Running on macphsft23.dyndns.cern.ch:/Users/sftnight/build/workspace/root-pullrequests-build
See console output.

@pcanal
Copy link
Copy Markdown
Member Author

pcanal commented Jan 18, 2022

@phsft-bot build only on mac11/cxx17

@phsft-bot
Copy link
Copy Markdown

Starting build on ROOT-debian10-i386/cxx14, ROOT-performance-centos8-multicore/default, ROOT-ubuntu16/nortcxxmod, ROOT-ubuntu2004/soversion, mac1015/python3, mac11/cxx17, windows10/cxx14
How to customize builds

@pcanal
Copy link
Copy Markdown
Member Author

pcanal commented Jan 18, 2022

@phsft-bot build just on mac11/cxx17

@phsft-bot
Copy link
Copy Markdown

Starting build on mac11/cxx17
How to customize builds

@phsft-bot
Copy link
Copy Markdown

@pcanal
Copy link
Copy Markdown
Member Author

pcanal commented Jan 19, 2022

The mac11/cxx17 failures are pre-existing (issues with template instantiations in cling)

@pcanal
Copy link
Copy Markdown
Member Author

pcanal commented Jan 19, 2022

Thanks @hahnjo

@pcanal pcanal merged commit 7bb3494 into root-project:master Jan 19, 2022
@pcanal pcanal deleted the Issue-9543 branch January 19, 2022 15:52
@pcanal pcanal modified the milestone: 9543 Jan 19, 2022
@pcanal pcanal linked an issue Jan 19, 2022 that may be closed by this pull request
@phsft-bot
Copy link
Copy Markdown

Starting build on ROOT-debian10-i386/cxx14, ROOT-performance-centos8-multicore/default, ROOT-ubuntu16/nortcxxmod, ROOT-ubuntu2004/soversion, mac1015/python3, mac11/cxx17, windows10/cxx14
How to customize builds

@phsft-bot
Copy link
Copy Markdown

Build failed on ROOT-ubuntu16/nortcxxmod.
Running on sft-ubuntu-1604-3.cern.ch:/build/workspace/root-pullrequests-build
See console output.

Errors:

  • [2022-01-19T16:44:28.965Z] CMake Error at /mnt/build/workspace/root-pullrequests-build/rootspi/jenkins/root-build.cmake:1064 (message):

@phsft-bot
Copy link
Copy Markdown

Build failed on ROOT-performance-centos8-multicore/default.
Running on olbdw-01.cern.ch:/data/sftnight/workspace/root-pullrequests-build
See console output.

Errors:

  • [2022-01-19T18:42:53.921Z] CMake Error at /data/sftnight/workspace/root-pullrequests-build/rootspi/jenkins/root-build.cmake:1064 (message):

@phsft-bot
Copy link
Copy Markdown

Build failed on mac1015/python3.
Running on macitois19.dyndns.cern.ch:/Users/sftnight/build/workspace/root-pullrequests-build
See console output.

Errors:

  • [2022-01-19T19:18:11.441Z] CMake Error at /Volumes/HDD2/build/workspace/root-pullrequests-build/rootspi/jenkins/root-build.cmake:1064 (message):

@phsft-bot
Copy link
Copy Markdown

Build failed on ROOT-debian10-i386/cxx14.
Running on pcepsft10.dyndns.cern.ch:/build/workspace/root-pullrequests-build
See console output.

Errors:

  • [2022-01-19T20:03:13.672Z] CMake Error at /home/sftnight/build/workspace/root-pullrequests-build/rootspi/jenkins/root-build.cmake:1064 (message):

@phsft-bot
Copy link
Copy Markdown

Build failed on mac11/cxx17.
Running on macphsft20.dyndns.cern.ch:/Users/sftnight/build/workspace/root-pullrequests-build
See console output.

Errors:

  • [2022-01-19T20:31:11.635Z] CMake Error at /Users/sftnight/build/workspace/root-pullrequests-build/rootspi/jenkins/root-build.cmake:1064 (message):

@phsft-bot
Copy link
Copy Markdown

Build failed on ROOT-ubuntu2004/soversion.
Running on root-ubuntu-2004-3.cern.ch:/home/sftnight/build/workspace/root-pullrequests-build
See console output.

Errors:

  • [2022-01-19T21:10:56.503Z] CMake Error at /home/sftnight/build/workspace/root-pullrequests-build/rootspi/jenkins/root-build.cmake:1064 (message):

@phsft-bot
Copy link
Copy Markdown

Build failed on windows10/cxx14.
Running on null:C:\build\workspace\root-pullrequests-build
See console output.

Errors:

  • [2022-01-19T22:35:56.348Z] CMake Error at C:/build/workspace/root-pullrequests-build/rootspi/jenkins/root-build.cmake:1064 (message):

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

roottest-root-treeformula-stl-make crashes during process termination

4 participants