Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • bliss bliss
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 608
    • Issues 608
    • List
    • Boards
    • Service Desk
    • Milestones
  • Jira
    • Jira
  • Merge requests 168
    • Merge requests 168
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Artifacts
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Model experiments
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • BlissBliss
  • blissbliss
  • Issues
  • #2032

CalcCounterController: using an alias for one of the Calc outputs crash a scan

 plugin: bliss
  module: expression_based_calc
  class: ExpressionCalcCounterController
  name: detcor

  inputs:
    - counter: $p201_ld321.counters.mon
      tags: d1

    - counter: $filters.counters.attfact
      tags: d2

  outputs:
    - name: moncorrected
      expression: (d1 * d2)
class: Session
name: test1
setup-file: ./test1_setup.py
config-objects: [cyberGMT, filters, p201_ld321, detcor]


aliases:
  - original_name: filters_cc:attn
    alias_name: attn
    export_to_globals: True
    remove_original: False

  - original_name: filters_cc:dtime
    alias_name: dtime
    export_to_globals: True
    remove_original: False

  - original_name: filters_cc:attfact
    alias_name: attfact
    export_to_globals: True
    remove_original: False

  - original_name: p201_ld321:ct2_counters_controller:mon
    alias_name: mon
    export_to_globals: True
    remove_original: False
    
  #- original_name: detcor:moncorrected         # If this section is not commented a ct(detcor) crashes
  #  alias_name: moncor
  #  export_to_globals: True
  #  remove_original: False
TEST1 [1]: ct(0.1,mon)                                                                                                                 
   Thu Sep 10 13:31:52 2020: Scan(name=ct, path='not saved')                                                                           
                                                                                                                                       
                   mon  =  1.79848e+06  (1.79848e+07 /s)    p201_ld321                                                                 
                                                                                                                                       
   Took 0:00:00.363203[s]                                                                                                              
                                                                                                                                       

  Out [1]: Scan(name=ct, path='not saved')                                                                                              

                                                                                                                                        

TEST1 [2]: ct(0.1,moncor)                                                                                                               

   Thu Sep 10 13:31:56 2020: Scan(name=ct, path='not saved')                                                                            

                                                                                                                                        

!!! === KeyError: 'moncor' === !!! ( for more details type cmd 'last_error' )==================================================>]   1/  

1 eta [00:00]                                                                                                                           

!!! === KeyError: 'moncor' === !!! ( for more details type cmd 'last_error' )                                                           

!!! === KeyError: 'moncor' === !!! ( for more details type cmd 'last_error' )                                                           

!!! === KeyError: 'moncor' === !!! ( for more details type cmd 'last_error' )                                                           

                                                                                                                                        

   Took 0:00:00.257198[s]                                                                                                               

                                                                                                                                        

!!! === KeyError: 'moncor' === !!! ( for more details type cmd 'last_error' )                                                           

TEST1 [3]: last_error                                                                                                                   

  Out [3]: Traceback (most recent call last):                                                                                           

             File "/users/blissadm/local/bliss.git/bliss/shell/cli/repl.py", line 743, in embed                                         

               cmd_line_i._execute(inp)                                                                                                 

             File "/users/blissadm/local/bliss.git/bliss/shell/cli/repl.py", line 456, in _execute                                      

               raise return_value[1].with_traceback(return_value[2]) from None                                                          

             File "/users/blissadm/local/bliss.git/bliss/shell/cli/repl.py", line 443, in _execute_task                                 

               return self._execute_line(*args, **kwargs)                                                                               

             File "/users/blissadm/local/bliss.git/bliss/shell/cli/repl.py", line 398, in _execute_line                                 

               result = eval(code, self.get_globals(), self.get_locals())                                                               

             File "<stdin>", line 1, in <module>                                                                                        

             File "/users/blissadm/local/bliss.git/bliss/common/utils.py", line 948, in wrapped_function                                

               )(function)(*args, **kwargs)                                                                                             

             File "/users/blissadm/local/bliss.git/bliss/common/utils.py", line 906, in wrapped_function                                

               raise e                                                                                                                               File "/users/blissadm/local/bliss.git/bliss/common/utils.py", line 894, in wrapped_function                                               return function(*args, **kwargs)                                                                                                      File "/users/blissadm/local/bliss.git/bliss/common/utils.py", line 859, in wrapped_function                                               return function(*args, **kwargs)                                                                                                      File "/users/blissadm/conda/miniconda/envs/bliss_dev/lib/python3.7/site-packages/typeguard/__init__.py", line 784, in wrapper                                                                                                                                                     retval = func(*args, **kwargs)                                                                                                        File "/users/blissadm/local/bliss.git/bliss/common/scans/ct.py", line 98, in ct                                                           s.run()                                                                                                                               File "/users/blissadm/local/bliss.git/bliss/scanning/scan.py", line 1505, in run          

            File "/users/blissadm/conda/miniconda/envs/bliss_dev/lib/python3.7/contextlib.py", line 119, in __exit__
               next(self.gen)
             File "/users/blissadm/local/bliss.git/bliss/common/cleanup.py", line 276, in capture_exceptions
               raise value
             File "/users/blissadm/local/bliss.git/bliss/common/cleanup.py", line 252, in capture
               yield
             File "/users/blissadm/local/bliss.git/bliss/scanning/scan.py", line 1409, in run
               for i in scan_chain_iterators
             File "/users/blissadm/local/bliss.git/bliss/scanning/scan.py", line 555, in send
               return self.runner.send(arg)
             File "/users/blissadm/local/bliss.git/bliss/scanning/scan.py", line 620, in _run
               self._gwait(stop_tasks, masked_kill_nb=1)
             File "/users/blissadm/conda/miniconda/envs/bliss_dev/lib/python3.7/contextlib.py", line 119, in __exit__
               next(self.gen)
             File "/users/blissadm/local/bliss.git/bliss/common/cleanup.py", line 275, in capture_exceptions
               raise value.with_traceback(tb)
             File "/users/blissadm/local/bliss.git/bliss/common/cleanup.py", line 252, in capture
               yield
             File "/users/blissadm/local/bliss.git/bliss/scanning/scan.py", line 591, in _run
               t.get()  # get the task result ; this may raise an exception
             File "/users/blissadm/local/bliss.git/bliss/common/greenlet_utils.py", line 102, in get
               return super().get(*args, **keys)
             File "src/gevent/greenlet.py", line 769, in gevent._gevent_cgreenlet.Greenlet.get
             File "src/gevent/greenlet.py", line 364, in gevent._gevent_cgreenlet.Greenlet._raise_exception
             File "/users/blissadm/conda/miniconda/envs/bliss_dev/lib/python3.7/site-packages/gevent/_compat.py", line 65, in reraise
               raise value.with_traceback(tb)
             File "src/gevent/greenlet.py", line 854, in gevent._gevent_cgreenlet.Greenlet.run
             File "/users/blissadm/local/bliss.git/bliss/scanning/scan.py", line 548, in _run_next
               for i in next_iter:
             File "/users/blissadm/local/bliss.git/bliss/scanning/chain.py", line 973, in __next__
               self.wait_all_devices()
             File "/users/blissadm/local/bliss.git/bliss/scanning/chain.py", line 903, in wait_all_devices
               acq_dev_iter.wait_reading()
             File "/users/blissadm/local/bliss.git/bliss/scanning/chain.py", line 742, in wait_reading
               return self._reading_task.get()
             File "/users/blissadm/local/bliss.git/bliss/common/greenlet_utils.py", line 102, in get
               return super().get(*args, **keys)
             File "src/gevent/greenlet.py", line 769, in gevent._gevent_cgreenlet.Greenlet.get
             File "src/gevent/greenlet.py", line 364, in gevent._gevent_cgreenlet.Greenlet._raise_exception
             File "/users/blissadm/conda/miniconda/envs/bliss_dev/lib/python3.7/site-packages/gevent/_compat.py", line 65, in reraise
               raise value.with_traceback(tb)
             File "src/gevent/greenlet.py", line 854, in gevent._gevent_cgreenlet.Greenlet.run
             File "/users/blissadm/local/bliss.git/bliss/scanning/acquisition/ct2.py", line 222, in reading
               self._emit_new_data(data.T)
             File "/users/blissadm/local/bliss.git/bliss/scanning/acquisition/ct2.py", line 231, in _emit_new_data
               [c.convert(v) for c, v in zip(self.device.counter_indexes, data)]
             File "/users/blissadm/local/bliss.git/bliss/scanning/acquisition/counter.py", line 67, in _emit_new_data
               self.channels.update_from_iterable(data)
             File "/users/blissadm/local/bliss.git/bliss/scanning/channel.py", line 30, in update_from_iterable
               channel.emit(iterable[i])
             File "/users/blissadm/local/bliss.git/bliss/scanning/channel.py", line 142, in emit
               dispatcher.send("new_data", self, data_dct)
             File "/users/blissadm/conda/miniconda/envs/bliss_dev/lib/python3.7/site-packages/louie/dispatcher.py", line 344, in send
               receiver, original, signal=signal, sender=sender, *arguments, **named
             File "/users/blissadm/conda/miniconda/envs/bliss_dev/lib/python3.7/site-packages/louie/robustapply.py", line 57, in robust_apply
               return receiver(*arguments, **named)
             File "/users/blissadm/local/bliss.git/bliss/scanning/acquisition/calc.py", line 176, in new_data_received
               self.device.tags[channel.short_name]
           KeyError: 'moncor'

Assignee
Assign to
Time tracking