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

Revert "fixed reading of REST v2.2 files" #289

Merged
merged 8 commits into from
Sep 5, 2022
Merged

Conversation

jgalan
Copy link
Member

@jgalan jgalan commented Sep 1, 2022

jgalan Ok: 15

This reverts commit 050d3bc.

This should fix rest-for-physics/rawlib#74

@jgalan
Copy link
Member Author

jgalan commented Sep 1, 2022

This will close PR #288

@@ -242,13 +242,8 @@ inline TClass* GetClassQuick(std::string type) {
return iter->second;
} else {
TClass* cl = TClass::GetClass(type.c_str());
if (cl != nullptr && cl->HasDictionary()) {
Copy link
Member Author

@jgalan jgalan Sep 1, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nkx111 Probably the cl->HasDictionary() here is a problem.

@juanangp
Copy link
Member

juanangp commented Sep 1, 2022

I think we should see this issue with a different perspective, we should understand why the dictionary is not needed while compiling rawlib with detectorlib dependencies.

The changes that you propose triggers the generation of the dictionary, I think that due to the changes that were done before this line was never reached.

I think that we should avoid the generation of a dictionary on the fly, so we should understand what is going on with the compilation. I think this issue should be fixed in the cmake.

@jgalan
Copy link
Member Author

jgalan commented Sep 2, 2022

I think the reason why the reverted commit introduces the problem is because the type that has no dictionary is not added to the list, and therefore, it is not automatically compiled on the fly, since there is the new condition cl->HasDictionary().

I agree that could be a better way to do this, but personally I don't understand deeply all behind reflection.

Perhaps we could just have a list of supported types in REST somewhere, and generate the dictionaries at cmake as you propose.

@juanangp
Copy link
Member

juanangp commented Sep 2, 2022

I think that the pipeline passes because we have a data member std::map<int,double> defined on TRestDetectorSingleChannelAnalysisProcess.h in detectorlib, ideally we should generate an umbrella dictionary for all the possible observables that we have. Not sure how this can be implemented.

@nkx111
Copy link
Member

nkx111 commented Sep 2, 2022

I think generating dictionaries on the fly is still the best way to solve this problem. Commit 050d3bc avoids problematic TClass objects being read from v2.2 files, but vetos the real-time generation functionality. I will try to fix it.

@jgalan
Copy link
Member Author

jgalan commented Sep 2, 2022

@nkx111 I don't understand why creating the required dictionaries at cmake stage would not be a solution.

Anyway, shall we merge this PR to fix pipelines at rawlib, then create an issue for further discussion?

@nkx111
Copy link
Member

nkx111 commented Sep 4, 2022

Sorry for the delay. Now the file opening problem is fixed from TRestRun side, I think it's OK to revert the changes in TRestReflector.

@nkx111
Copy link
Member

nkx111 commented Sep 5, 2022

hi @jgalan, the pipelines are faling due to a certificate issue, can you check it out?

@jgalan
Copy link
Member Author

jgalan commented Sep 5, 2022

Hi, I forward the issue to the group IT. Anyhow, if we use the option --no-check-certificate for wget it will skip the warning and download, so I don't know if it is a problem or not to use this option @juanangp @lobis?

@jgalan
Copy link
Member Author

jgalan commented Sep 5, 2022

I believe now the pipeline is failing because TFile::Open also checks the certificate, I dont know how to bypass that, but the certificates will be updated soon.

@jgalan
Copy link
Member Author

jgalan commented Sep 5, 2022

Lets merge?

@lobis
Copy link
Member

lobis commented Sep 5, 2022

I believe now the pipeline is failing because TFile::Open also checks the certificate, I dont know how to bypass that, but the certificates will be updated soon.

Lets merge?

Since we cannot disable checking for certificates everywhere (TFile) I think we should keep it as it was, do you agree @rest-for-physics/core_dev ?

https://github.com/rest-for-physics/framework/pull/289/files#r962688304

Co-authored-by: Luis Antonio Obis Aparicio <35803280+lobis@users.noreply.github.com>
@jgalan jgalan merged commit 18ae5a0 into master Sep 5, 2022
@jgalan jgalan deleted the jgalan_fix_rawlib branch September 5, 2022 10:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Pipeline failure
4 participants