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

Fix assert condition in CSCDMBHeader::cfebAvailable #19236

Merged
merged 1 commit into from Jun 19, 2017

Conversation

davidlt
Copy link
Contributor

@davidlt davidlt commented Jun 15, 2017

This should resolve 30+ warnings from GCC 7.1.1.

Signed-off-by: David Abdurachmanov David.Abdurachmanov@cern.ch

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @davidlt for master.

It involves the following packages:

EventFilter/CSCRawToDigi

@perrotta, @cmsbuild, @slava77, @davidlange6 can you please review it and eventually sign? Thanks.
@Martin-Grunewald, @ptcox, @barvic this is something you requested to watch as well.
@davidlange6 you are the release manager for this.

cms-bot commands are listed here

@slava77
Copy link
Contributor

slava77 commented Jun 15, 2017

@cmsbuild please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Jun 15, 2017

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/20584/console Started: 2017/06/15 08:58

@cmsbuild
Copy link
Contributor

-1

Tested at: 328b8a1

You can see the results of the tests here:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-19236/20584/summary.html

I found follow errors while testing this PR

Failed tests: RelVals AddOn

  • RelVals:

When I ran the RelVals I found an error in the following worklfows:
4.22 step2

runTheMatrix-results/4.22_RunCosmics2011A+RunCosmics2011A+RECOCOSD+ALCACOSD+SKIMCOSD+HARVESTDC/step2_RunCosmics2011A+RunCosmics2011A+RECOCOSD+ALCACOSD+SKIMCOSD+HARVESTDC.log

8.0 step3
runTheMatrix-results/8.0_BeamHalo+BeamHalo+DIGICOS+RECOCOS+ALCABH+HARVESTCOS/step3_BeamHalo+BeamHalo+DIGICOS+RECOCOS+ALCABH+HARVESTCOS.log

140.53 step2
runTheMatrix-results/140.53_RunHI2011+RunHI2011+RECOHID11+HARVESTDHI/step2_RunHI2011+RunHI2011+RECOHID11+HARVESTDHI.log

4.53 step3
runTheMatrix-results/4.53_RunPhoton2012B+RunPhoton2012B+HLTD+RECODR1reHLT+HARVESTDR1reHLT/step3_RunPhoton2012B+RunPhoton2012B+HLTD+RECODR1reHLT+HARVESTDR1reHLT.log

1000.0 step2
runTheMatrix-results/1000.0_RunMinBias2011A+RunMinBias2011A+TIER0+SKIMD+HARVESTDfst2+ALCASPLIT/step2_RunMinBias2011A+RunMinBias2011A+TIER0+SKIMD+HARVESTDfst2+ALCASPLIT.log

1001.0 step2
runTheMatrix-results/1001.0_RunMinBias2011A+RunMinBias2011A+TIER0EXP+ALCAEXP+ALCAHARVD1+ALCAHARVD2+ALCAHARVD3+ALCAHARVD4+ALCAHARVD5/step2_RunMinBias2011A+RunMinBias2011A+TIER0EXP+ALCAEXP+ALCAHARVD1+ALCAHARVD2+ALCAHARVD3+ALCAHARVD4+ALCAHARVD5.log

9.0 step3
runTheMatrix-results/9.0_Higgs200ChargedTaus+Higgs200ChargedTaus+DIGI+RECO+HARVEST/step3_Higgs200ChargedTaus+Higgs200ChargedTaus+DIGI+RECO+HARVEST.log

25.0 step3
runTheMatrix-results/25.0_TTbar+TTbar+DIGI+RECOAlCaCalo+HARVEST+ALCATT/step3_TTbar+TTbar+DIGI+RECOAlCaCalo+HARVEST+ALCATT.log

1003.0 step2
runTheMatrix-results/1003.0_RunMinBias2012A+RunMinBias2012A+RECODDQM+HARVESTDDQM/step2_RunMinBias2012A+RunMinBias2012A+RECODDQM+HARVESTDDQM.log

  • AddOn:

I found errors in the following addon tests:

cmsDriver.py RelVal -s HLT:Fake,RAW2DIGI,L1Reco,RECO --mc --scenario=pp -n 10 --conditions auto:run1_mc_Fake --relval 9000,50 --datatier "RAW-HLT-RECO" --eventcontent FEVTDEBUGHLT --customise=HLTrigger/Configuration/CustomConfigs.L1THLT --processName=HLTRECO --filein file:RelVal_Raw_Fake_MC.root --fileout file:RelVal_Raw_Fake_MC_HLT_RECO.root : FAILED - time: date Thu Jun 15 10:08:12 2017-date Thu Jun 15 10:00:27 2017 s - exit: 34304
cmsDriver.py RelVal -s HLT:Fake,RAW2DIGI,L1Reco,RECO --data --scenario=pp -n 10 --conditions auto:run1_data_Fake --relval 9000,50 --datatier "RAW-HLT-RECO" --eventcontent FEVTDEBUGHLT --customise=HLTrigger/Configuration/CustomConfigs.L1THLT --processName=HLTRECO --filein file:RelVal_Raw_Fake_DATA.root --fileout file:RelVal_Raw_Fake_DATA_HLT_RECO.root : FAILED - time: date Thu Jun 15 10:09:06 2017-date Thu Jun 15 10:06:43 2017 s - exit: 34304

@cmsbuild
Copy link
Contributor

Comparison not run due to runTheMatrix errors (RelVals and Igprof tests were also skipped)

@davidlange6
Copy link
Contributor

interesting...

@davidlt
Copy link
Contributor Author

davidlt commented Jun 15, 2017

I will leave experts to figure out what is right and wrong here.

@ptcox
Copy link
Contributor

ptcox commented Jun 15, 2017

What does this say about how the original
icfeb < (theFirmwareVersion==2013)?7:5;
was parsed? Was it parsed as
( icfeb < (theFirmwareVersion==2013) ) ?7:5;
so that the assert could never fail?
It's pretty clear the new version is the intended meaning. We changed from a max of 5 CFEBs to 7 after LS1. It seems like the function must be getting called with icfeb values larger than the max if failures are now occurring. Victor, Help!

@davidlt
Copy link
Contributor Author

davidlt commented Jun 15, 2017

From compiler point of view: EventFilter/CSCRawToDigi/interface/CSCDMBHeader.h:30:44: warning: ?: using integer constants in boolean context, the expression will always evaluate to 'true' [-Wint-in-bool-context]

Then it probably always assume 7.

@ptcox
Copy link
Contributor

ptcox commented Jun 15, 2017

David, I guess I still don't understand what the compiler warning means. Is the boolean context either 'assert 7' or 'assert 5', following my hypothesized parse above?

@davidlt
Copy link
Contributor Author

davidlt commented Jun 15, 2017

Here is my interpretation:
The original expression: icfeb < (theFirmwareVersion==2013)?7:5.
(theFirmwareVersion==2013) results in a bool value (true, false).
Then icfeb is unsigned char. So, it assumes you are comparing boolean with integer.

@ptcox
Copy link
Contributor

ptcox commented Jun 15, 2017

Unsigned int not char, I guess, but I get the point. Thanks.

@davidlt
Copy link
Contributor Author

davidlt commented Jun 15, 2017

Yeah, correct. I guess, my hands are too much used to writing unsigned char :)

@barvic
Copy link
Contributor

barvic commented Jun 15, 2017

I think this is a bug.
That buggy assert statement is never triggered in the original version.
But it will be triggered constantly in changed version with older DMB pre-LS1 format data (theFirmwareVersion != 2013), because upstream calling function
https://github.com/cms-sw/cmssw/blob/master/EventFilter/CSCRawToDigi/src/CSCEventData.cc#L259 will always pass icfeb values >= 5 as an argument to it.
...
for (int icfeb = 0; icfeb < MAX_CFEB; ++icfeb)
{
theCFEBData[icfeb] = 0;
int cfeb_available = theDMBHeader.cfebAvailable(icfeb);
...
MAX_CFEB is a constant defined as 7

That assert statement is not really needed there in this form.
It will work just fine without it.
Could you please just comment it out for now?

EventFilter/CSCRawToDigi/src/CSCEventData.cc:259 will always pass icfeb
values >= 5 as an argument to it.

Signed-off-by: David Abdurachmanov <David.Abdurachmanov@cern.ch>
@davidlt
Copy link
Contributor Author

davidlt commented Jun 16, 2017

Updated to remove the assert statement.

@davidlt
Copy link
Contributor Author

davidlt commented Jun 16, 2017

please test

@cmsbuild
Copy link
Contributor

The tests are being triggered in jenkins.

@cmsbuild
Copy link
Contributor

Pull request #19236 was updated. @perrotta, @cmsbuild, @slava77, @davidlange6 can you please check and sign again.

@slava77
Copy link
Contributor

slava77 commented Jun 16, 2017

@cmsbuild please test
it looks like the request for tests has to be made after the bot recognizes that there was a commit

@cmsbuild
Copy link
Contributor

cmsbuild commented Jun 16, 2017

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/20659/console Started: 2017/06/17 00:23

@cmsbuild
Copy link
Contributor

@cmsbuild
Copy link
Contributor

Comparison job queued.

@cmsbuild
Copy link
Contributor

Comparison is ready
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-19236/20659/summary.html

Comparison Summary:

  • You potentially added 5 lines to the logs
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 22
  • DQMHistoTests: Total histograms compared: 1803136
  • DQMHistoTests: Total failures: 15026
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 1787944
  • DQMHistoTests: Total skipped: 166
  • DQMHistoTests: Total Missing objects: 0
  • Checked 90 log files, 14 edm output root files, 22 DQM output files

@slava77
Copy link
Contributor

slava77 commented Jun 17, 2017

+1

for #19236 90def8d

  • removed an assert (which was never functional)
  • jenkins tests pass

The DQM plots show some small changes in L1TEMU uGMT plots. These are apparently random (perhaps some uninitialized variables), because logically this PR didn't change anything for running workflows. The tests included recompilation of related code, which could trigger differences in random memory locations.

@cmsbuild
Copy link
Contributor

This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request requires discussion in the ORP meeting before it's merged. @davidlange6, @smuzaffar

@slava77
Copy link
Contributor

slava77 commented Jun 17, 2017

@ptcox
Copy link
Contributor

ptcox commented Jun 17, 2017 via email

@davidlange6
Copy link
Contributor

+1

@cmsbuild cmsbuild merged commit 8e25f78 into cms-sw:master Jun 19, 2017
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.

None yet

6 participants