Skip to content
This repository has been archived by the owner on Jan 31, 2022. It is now read-only.

Bug Report: The Curious Case of stopCalPulse2AllChannelsLocal(...) #87

Open
1 of 2 tasks
bdorney opened this issue Feb 11, 2019 · 0 comments
Open
1 of 2 tasks

Bug Report: The Curious Case of stopCalPulse2AllChannelsLocal(...) #87

bdorney opened this issue Feb 11, 2019 · 0 comments

Comments

@bdorney
Copy link
Contributor

bdorney commented Feb 11, 2019

Brief summary of issue

I came across an interesting issue with:

void stopCalPulse2AllChannelsLocal(localArgs *la, uint32_t ohN, uint32_t mask, uint32_t ch_min, uint32_t ch_max){

For full details see: http://cmsonline.cern.ch/cms-elog/1079167

Basically when stopCalPulse2AllChannelsLocal(...) tries to write 0x0 to the CAL_ENABLE register of channel 94 of VFAT15 on OH10 of eagle61 the writeReg call appears to hang indefinitely.

However when calling this on OH11 there's no issue at all.

Additionally when trying to write this channel's register with gem_reg.py there's no issue.

Finally when writing with setChannelRegistersVFAT3Local:

void setChannelRegistersVFAT3Local(localArgs * la, uint32_t ohN, uint32_t vfatMask, uint32_t *calEnable, uint32_t *masks, uint32_t *trimARM, uint32_t *trimARMPol, uint32_t *trimZCC, uint32_t *trimZCCPol){

There's no issue with channel 94 of this VFAT. But interestingly this function doesn't use the bit mask to write CAL_ENABLE and just builds the channel register with bitwise operations.

I'm out of ideas as to what the cause is...the only thing I can think of is there's an issue with LMDB for specifically this address+bit mask combination (although what I do not know).

Tomorrow I will try to move this OH to eagle26 and see if the problem still occurs on that CTP7.

Types of issue

  • Bug report (report an issue with the code)
  • Feature request (request for change which adds functionality)

Expected Behavior

It shouldn't hang forever on a specific channel for a specific link...

Current Behavior

....it hangs forever on the specific channel for this specific link.

Steps to Reproduce (for bugs)

from gempython.tools.vfat_user_functions_xhal import HwVFAT
vfatBoard = HwVFAT("eagle61",10)
#  vfatBoard.stopCalPulses(0x8805,0,127) # works
 vfatBoard.stopCalPulses(0x805,0,127) # hangs indefinitely 

Possible Solution (for bugs)

🤷‍♂️

Context (for feature requests)

Causes a weird bug which makes trimming not possible.

Your Environment

  • Version used: 78bfc74
  • Shell used: /bin/zsh
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants