Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

root: catch segfault when converting large tables #49

Open
GraemeWatt opened this issue Oct 21, 2022 · 1 comment
Open

root: catch segfault when converting large tables #49

GraemeWatt opened this issue Oct 21, 2022 · 1 comment
Labels

Comments

@GraemeWatt
Copy link
Member

The ROOT conversion of https://www.hepdata.net/record/ins1742786 fails with an HTML file containing a message "502 Bad Gateway. The server returned an invalid or incomplete response.". By running the conversion offline, most tables can be converted other than "Statistical covariance matrix" and "Systematic covariance matrix" which gave an error message like:

Fatal in <TBufferFile::AutoExpand>: Request to expand to a negative size, likely due to an integer overflow: 0x91111b20 for a max of 0x7ffffffe.
aborting
[...]
qemu: uncaught target signal 6 (Aborted) - core dumped
Aborted

I can't find anything unusual in the YAML formatting of these tables, so I think the problem is simply caused by the large size (17424 rows and 2.6 MB). If the problem cannot be resolved, at least the segfault should be caught and a suitable error message returned from the problematic line of the conversion code:

@GraemeWatt GraemeWatt added the bug label Oct 21, 2022
@GraemeWatt GraemeWatt moved this to To do in @HEPData Oct 21, 2022
@GraemeWatt
Copy link
Member Author

I reencountered this problem today after investigating a user report and got similar error messages from the same tables like:

[...]
    graph.Write()
cppyy.ll.SegmentationViolation: none of the 2 overloaded methods succeeded. Full details:
  int TObject::Write(const char* name = 0, int option = 0, int bufsize = 0) =>
    SegmentationViolation: segfault in C++; program state was reset
  int TObject::Write(const char* name = 0, int option = 0, int bufsize = 0) =>
    SegmentationViolation: segfault in C++; program state was reset
 *** Break *** segmentation violation
[...]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: To do
Development

No branches or pull requests

1 participant