[EMCAL-630] Force usage of references in range-based iteration over e…#7265
[EMCAL-630] Force usage of references in range-based iteration over e…#7265shahor02 merged 2 commits intoAliceO2Group:devfrom
Conversation
|
As discussed in #7217 in most of the cases, except if the low gain digitizer is below its lower limit, cells normally have information from both digitizers, and therefore we need to handle the overlap in the corresponding range selecting the more appropriate digitizer (and raise an error if either of the two is missing in a range where it is expected). Over the past weekend crashes of the raw-to-cell converter have been observed. The crashes happen rarely, but sufficiently enough that after a certain time all EPNs are killed. Unfortunately there are no debug symbols on the EPN, therefore the stack trace is hard to read. The corresponding lines are To my understanding this point to the destructor of the std::shared_ptr and the std::vector. The only way I could imagine this to happen is the move semantics applied in a range-based for loop, which should however be raised with the first vector that gets deleted. So by forcing reference I suppress the move semantics. Otherwise I am pretty clueless because the whole part does not mess with (raw) pointers. From the logs it is tricky to figure out, and offline I cannot reproduce the crash. |
|
@mfasDa if you tell me the working dir of this crashed job, I can try to extract its corefile (though using them on the EPN is not straightforward). |
|
Hi @shahor02 , The crash happend in run 503757. These are the EPNs and working dirs epn207: /tmp/wn_dds/bd684d13-4ec8-4f4a-908b-7e951b891271/wn_online_epn207-ib.internal I also tried to find the core dumps but didn't find any in the directory. Thanks a lot for your help! |
…vents / cells Explicitly force references preventing implicit use of - move semanticsc - copy in range-based loop over events and cells. In addition remove std::endl in a few LOG(DEBUG)/LOG(ERROR)
- Fix FEC ID in error message - Use DDL instead of SM in error message - Select also time of the raw fit from the selected channel - Reset flags in all cases we find a second channel for the same tower
|
Unit test error unrelated. |
|
I had to squash it as rebase was producing conflicts. |
|
Thanks a lot! Squash is fine |
[EMCAL-630] Force usage of references in range-based iteration over e…
…on (#7886) * Merge pull request #7265 from mfasDa/EMCAL-630 [EMCAL-630] Force usage of references in range-based iteration over e… * [EMCAL-566] Add executable for performing time and bad cell calibration - executable to run calibration, oth time and bad channel, in offline mode with local root histograms. Goal is to validate and debug the calibration using run2 data. - modified root to boost histogram conversion function: Specified the return type, corrected bin numbers for boost histograms - Added OpenMP option to cmake list. Goal is to parallelize the time-calibration as many independent fits are performed - Added implementation of time calibration in EMCALCalibExtractor Co-authored-by: Markus Fasel <markus.fasel@cern.ch> Co-authored-by: Joshua Koenig <joshua.konig@cern.ch>
[EMCAL-630] Force usage of references in range-based iteration over e…
[EMCAL-630] Force usage of references in range-based iteration over e…
* Merge pull request #7265 from mfasDa/EMCAL-630 [EMCAL-630] Force usage of references in range-based iteration over e… * [EMCAL-566]: Updated EMCal time calibration - implemented arguments to optimize the time calibration: time window, minimum number of entries needed for calibration - Added option to store time distributions and calibration coefficients in local root file - Fixed initialization of EMCALCalibExtractor - added CalibExtractor as shared pointer in CalibratorSpec Co-authored-by: Markus Fasel <markus.fasel@cern.ch>
[EMCAL-630] Force usage of references in range-based iteration over e…
[EMCAL-630] Force usage of references in range-based iteration over e…
[EMCAL-630] Force usage of references in range-based iteration over e…
[EMCAL-630] Force usage of references in range-based iteration over e…
* Merge pull request #7265 from mfasDa/EMCAL-630 [EMCAL-630] Force usage of references in range-based iteration over e… * [EMCAL-566] Added option to profile calibration - Added switch to obtain the time spend in the run function of the time and bad channel calib. Needed because very high CPU consumption was observed in online tests at point2 which cannot be reproduced offline/locally. If option enabled (via EMCALCalibParams), time in ns is printed out. Only for debug pruposes - Added options to set slot lenght and restriction to trigger calibration only at end of run Co-authored-by: Markus Fasel <markus.fasel@cern.ch>
* Merge pull request AliceO2Group#7265 from mfasDa/EMCAL-630 [EMCAL-630] Force usage of references in range-based iteration over e… * [EMCAL-566] Added option to profile calibration - Added switch to obtain the time spend in the run function of the time and bad channel calib. Needed because very high CPU consumption was observed in online tests at point2 which cannot be reproduced offline/locally. If option enabled (via EMCALCalibParams), time in ns is printed out. Only for debug pruposes - Added options to set slot lenght and restriction to trigger calibration only at end of run Co-authored-by: Markus Fasel <markus.fasel@cern.ch>
[EMCAL-630] Force usage of references in range-based iteration over e…
[EMCAL-630] Force usage of references in range-based iteration over e…
[EMCAL-630] Force usage of references in range-based iteration over e…
[EMCAL-630] Force usage of references in range-based iteration over e…
[EMCAL-630] Force usage of references in range-based iteration over e…
[EMCAL-630] Force usage of references in range-based iteration over e…
[EMCAL-630] Force usage of references in range-based iteration over e…
[EMCAL-630] Force usage of references in range-based iteration over e…
[EMCAL-630] Force usage of references in range-based iteration over e…
[EMCAL-630] Force usage of references in range-based iteration over e…
[EMCAL-630] Force usage of references in range-based iteration over e…
[EMCAL-630] Force usage of references in range-based iteration over e…
…vents / cells
Explicitly force references preventing implicit use
of
in range-based loop over events and cells.