Exception is raised in the translator when the Tango device attempts to read any of RCU_ADC_*_R

This is on master 99274ae2.

When RCU_ADC_CML_R is read by the Tango device an exception is thrown in the Tango device:

2021-04-01 09:21:21 [140534148495104] DEBUG lts/pcc/1 <- PCC.Initialise()
2021-04-01 09:21:28 [140534148495104] DEBUG lts/pcc/1 -> PCC.On()
2021-04-01 09:21:28 [140534148495104] DEBUG lts/pcc/1 <- PCC.On()
2021-04-01 09:21:34 [140534224041728] ERROR lts/pcc/1 Function failed.  Trace: Traceback (most recent call last):
  File "/hosthome/workspace.astron/git/ASTRON/tango/PCC/PCC/wrappers.py", line 47, in error_wrapper
    return func(self, *args, **kwargs)
  File "/hosthome/workspace.astron/git/ASTRON/tango/PCC/PCC/PCC.py", line 627, in read_RCU_ADC_CML_R
    value = numpy.array(self.attribute_mapping["RCU_ADC_CML_R"].get_value())
  File "/home/tango/.local/lib/python3.7/site-packages/opcua/common/node.py", line 155, in get_value
    result = self.get_data_value()
  File "/home/tango/.local/lib/python3.7/site-packages/opcua/common/node.py", line 164, in get_data_value
    return self.get_attribute(ua.AttributeIds.Value)
  File "/home/tango/.local/lib/python3.7/site-packages/opcua/common/node.py", line 275, in get_attribute
    result = self.server.read(params)
  File "/home/tango/.local/lib/python3.7/site-packages/opcua/client/ua_client.py", line 347, in read
    data = self._uasocket.send_request(request)
  File "/home/tango/.local/lib/python3.7/site-packages/opcua/client/ua_client.py", line 83, in send_request
    data = future.result(self.timeout)
  File "/usr/lib/python3.7/concurrent/futures/_base.py", line 434, in result
    raise TimeoutError()
concurrent.futures._base.TimeoutError

The exception above is raised because the OPC-UA server, i.e. the translator raises an exception itself:

2021-04-01 11:21:29,094 [INFO    ,uaprocessor.py      :194] sending read response
2021-04-01 11:21:29,095 [ERROR   ,binary_server_asyncio.py:83 ] Exception raised while parsing message from client, closing
Traceback (most recent call last):
  File "/Users/thomas/workspace.astron/git/ASTRON/pypcc/env/lib/python3.9/site-packages/opcua/server/binary_server_asyncio.py", line 75, in _process_data
    ret = self.processor.process(hdr, buf)
  File "/Users/thomas/workspace.astron/git/ASTRON/pypcc/env/lib/python3.9/site-packages/opcua/server/uaprocessor.py", line 96, in process
    return self.process_message(msg.SequenceHeader(), msg.body())
  File "/Users/thomas/workspace.astron/git/ASTRON/pypcc/env/lib/python3.9/site-packages/opcua/server/uaprocessor.py", line 116, in process_message
    return self._process_message(typeid, requesthdr, seqhdr, body)
  File "/Users/thomas/workspace.astron/git/ASTRON/pypcc/env/lib/python3.9/site-packages/opcua/server/uaprocessor.py", line 195, in _process_message
    self.send_response(requesthdr.RequestHandle, seqhdr, response)
  File "/Users/thomas/workspace.astron/git/ASTRON/pypcc/env/lib/python3.9/site-packages/opcua/server/uaprocessor.py", line 47, in send_response
    struct_to_binary(response), message_type=msgtype, request_id=seqhdr.RequestId)
  File "/Users/thomas/workspace.astron/git/ASTRON/pypcc/env/lib/python3.9/site-packages/opcua/ua/ua_binary.py", line 256, in struct_to_binary
    packet.append(list_to_binary(uatype[6:], val))
  File "/Users/thomas/workspace.astron/git/ASTRON/pypcc/env/lib/python3.9/site-packages/opcua/ua/ua_binary.py", line 296, in list_to_binary
    pack = [to_binary(uatype, el) for el in val]
  File "/Users/thomas/workspace.astron/git/ASTRON/pypcc/env/lib/python3.9/site-packages/opcua/ua/ua_binary.py", line 296, in <listcomp>
    pack = [to_binary(uatype, el) for el in val]
  File "/Users/thomas/workspace.astron/git/ASTRON/pypcc/env/lib/python3.9/site-packages/opcua/ua/ua_binary.py", line 274, in to_binary
    return pack_uatype(vtype, val)
  File "/Users/thomas/workspace.astron/git/ASTRON/pypcc/env/lib/python3.9/site-packages/opcua/ua/ua_binary.py", line 194, in pack_uatype
    return struct_to_binary(value)
  File "/Users/thomas/workspace.astron/git/ASTRON/pypcc/env/lib/python3.9/site-packages/opcua/ua/ua_binary.py", line 261, in struct_to_binary
    packet.append(to_binary(uatype, val))
  File "/Users/thomas/workspace.astron/git/ASTRON/pypcc/env/lib/python3.9/site-packages/opcua/ua/ua_binary.py", line 274, in to_binary
    return pack_uatype(vtype, val)
  File "/Users/thomas/workspace.astron/git/ASTRON/pypcc/env/lib/python3.9/site-packages/opcua/ua/ua_binary.py", line 192, in pack_uatype
    return variant_to_binary(value)
  File "/Users/thomas/workspace.astron/git/ASTRON/pypcc/env/lib/python3.9/site-packages/opcua/ua/ua_binary.py", line 373, in variant_to_binary
    b.append(pack_uatype_array(var.VariantType, ua.flatten(var.Value)))
  File "/Users/thomas/workspace.astron/git/ASTRON/pypcc/env/lib/python3.9/site-packages/opcua/ua/ua_binary.py", line 224, in pack_uatype_array
    b = [pack_uatype(vtype, val) for val in array]
  File "/Users/thomas/workspace.astron/git/ASTRON/pypcc/env/lib/python3.9/site-packages/opcua/ua/ua_binary.py", line 224, in <listcomp>
    b = [pack_uatype(vtype, val) for val in array]
  File "/Users/thomas/workspace.astron/git/ASTRON/pypcc/env/lib/python3.9/site-packages/opcua/ua/ua_binary.py", line 188, in pack_uatype
    return extensionobject_to_binary(value)
  File "/Users/thomas/workspace.astron/git/ASTRON/pypcc/env/lib/python3.9/site-packages/opcua/ua/ua_binary.py", line 458, in extensionobject_to_binary
    TypeId = ua.extension_object_ids[obj.__class__.__name__]
KeyError: 'int64'

Note: the timestamps do not match so it could be that there is some other underlying issue in the translator.

Edited by Thomas Juerges