1

I'm trying to use the TVLA assessment provided by Chipwhisperer on my FPGA board. (Clone of the repo tagged as 5.1.3) They provide the PA_TVLA_1-Performing_TVLA_Testing_for_Crypto_Validation.ipynb Jupyterplaybook for that. I modified it to initialize the FPGA but the rest of the flow is identical being the capturing of the traces and analyzing them.

The code which does the analysis and errors out.

import holoviews as hv
hv.extension('bokeh')
import numpy as np
import scipy
import scipy.stats

project = cw.open_project('projects/MyProject.cwp')
fixedpy = [0xda, 0x39, 0xa3, 0xee, 0x5e, 0x6b, 0x4b, 0x0d, 0x32, 0x55, 0xbf, 0xef, 0x95, 0x60, 0x18, 0x90]

testouts = []
num_traces = len(project.traces)
num_points = len(project.waves[0])
print(num_traces, num_points)
curve = hv.Curve([])

def do_the_ttvla(project, ntraces=-1):
    global curve, line
    if ntraces == -1:
        ntraces = int(num_traces / 2)
        
    if ntraces * 2 > num_traces:
        raise ValueError("Invalid ntraces")
    for g in range(0, 2):
        group = [(list(project.textins[i]) == fixedpy) for i in range(g*ntraces, g*ntraces+ntraces)]
        trace = np.zeros((ntraces, num_points))

        for n in range(g*ntraces, g*ntraces+ntraces):
            trace[n - g*ntraces][:] = project.waves[n]
                
        testout = welch_ttest(group, trace)
        curve *= hv.Curve(testout)
        testouts.extend(testout)
        
    curve *= hv.Path([(0, -4.5), (num_points, -4.5)]).opts(color="black") * \
    hv.Path([(0, 4.5), (num_points, 4.5)]).opts(color="black")

def welch_ttest(group, traces):
    import warnings
    # Compute Welch's t-statistic at each point in time
    # Here, group[] must only contain booleans (True/False)
    traces_true = traces[np.where(np.array(group))]
    traces_false = traces[np.where(~np.array(group))]
    
    if len(traces_true) == 0:
        traces_true  = np.array([[np.nan for _ in range(len(traces[0]))]])
    if len(traces_false) == 0:
        traces_false = np.array([[np.nan for _ in range(len(traces[0]))]])
    
    with warnings.catch_warnings():
        warnings.simplefilter("ignore")
        ttrace = scipy.stats.ttest_ind(traces_true, traces_false, axis=0, equal_var=False)[0]
        
    return np.nan_to_num(ttrace) 
    
do_the_ttvla(project)
(curve).opts(height=600, width=600)

When I run this code I get the following errors:

WARNING:param.BokehRenderer: Use method 'params' via param namespace 
WARNING:param.BokehRenderer:Use method 'params' via param namespace 

---------------------------------------------------------------------------
RecursionError                            Traceback (most recent call last)
<ipython-input-14-8f71252adeef> in <module>
     53     return np.nan_to_num(ttrace)
     54 
---> 55 do_the_ttvla(project)
     56 (curve).opts(height=600, width=600)

<ipython-input-14-8f71252adeef> in do_the_ttvla(project, ntraces)
     29 
     30         testout = welch_ttest(group, trace)
---> 31         curve *= hv.Curve(testout)
     32         testouts.extend(testout)
     33 

~/.local/lib/python3.7/site-packages/holoviews/core/overlay.py in __mul__(self, other)
     41             return NotImplemented
     42 
---> 43         return Overlay([self, other])
     44 
     45 

~/.local/lib/python3.7/site-packages/holoviews/core/overlay.py in __init__(self, items, group, label, **params)
    141         self.__dict__['_group'] = group
    142         self.__dict__['_label'] = label
--> 143         super(Overlay, self).__init__(items, **params)
    144 
    145     def __getitem__(self, key):

~/.local/lib/python3.7/site-packages/holoviews/core/dimension.py in __init__(self, items, identifier, parent, **kwargs)
   1327         if items and all(isinstance(item, Dimensioned) for item in items):
   1328             items = self._process_items(items)
-> 1329         params = {p: kwargs.pop(p) for p in list(self.params().keys())+['id', 'plot_id'] if p in kwargs}
   1330 
   1331         AttrTree.__init__(self, items, identifier, parent, **kwargs)

~/.local/lib/python3.7/site-packages/param/parameterized.py in inner(*args, **kwargs)
   1328                 get_logger(name=args[0].__class__.__name__).log(
   1329                     WARNING, 'Use method %r via param namespace ' % fn.__name__)
-> 1330             return fn(*args, **kwargs)
   1331 
   1332         inner.__doc__= "Inspect .param.%s method for the full docstring"  % fn.__name__

~/.local/lib/python3.7/site-packages/param/parameterized.py in params(cls, parameter_name)
   2765     @Parameters.deprecate
   2766     def params(cls,parameter_name=None):
-> 2767         return cls.param.params(parameter_name=parameter_name)
   2768 
   2769     @classmethod

~/.local/lib/python3.7/site-packages/param/parameterized.py in params(self_, parameter_name)
   1422         superclasses.
   1423         """
-> 1424         pdict = self_.objects(instance='existing')
   1425         if parameter_name is None:
   1426             return pdict

~/.local/lib/python3.7/site-packages/param/parameterized.py in objects(self_, instance)
   1511         if instance and self_.self is not None:
   1512             if instance == 'existing':
-> 1513                 if getattr(self_.self, 'initialized', False) and self_.self._instance__params:
   1514                     return dict(pdict, **self_.self._instance__params)
   1515                 return pdict

~/.local/lib/python3.7/site-packages/holoviews/core/tree.py in __getattr__(self, identifier)
    254             sanitized = identifier
    255 
--> 256         if sanitized in self.children:
    257             return self.__dict__[sanitized]
    258 

... last 1 frames repeated, from the frame below ...

~/.local/lib/python3.7/site-packages/holoviews/core/tree.py in __getattr__(self, identifier)
    254             sanitized = identifier
    255 
--> 256         if sanitized in self.children:
    257             return self.__dict__[sanitized]
    258 

RecursionError: maximum recursion depth exceeded in comparison

I don't really understand what is going wrong, it seems to be some kind of parameter passing, but it is in the library itself so I'm expecting that something changed?


Update: Contents of project.traces:

[[memmap([ 0.015625  , -0.00585938, -0.00097656,  0.00878906,  0.015625  ,
          -0.12402344, -0.11132812, -0.05664062, -0.00097656, -0.09863281,
          -0.06640625, -0.00976562,  0.03613281, -0.08007812, -0.06542969,
          -0.01660156,  0.02050781, -0.10351562, -0.08105469, -0.02734375,
           0.02246094, -0.09765625, -0.07324219, -0.01855469,  0.02832031,
          -0.09082031, -0.06933594, -0.01757812,  0.02832031, -0.08789062,
          -0.06542969, -0.015625  ,  0.02832031, -0.09179688, -0.06933594,
          -0.01855469,  0.02734375, -0.09765625, -0.06933594, -0.01855469,
           0.02929688, -0.09667969, -0.06933594, -0.01660156,  0.03222656,
          -0.0859375 , -0.05566406, -0.01171875,  0.03417969, -0.10058594,
          -0.07421875, -0.02246094,  0.02636719,  0.03125   ,  0.04882812,
           0.05078125,  0.04980469,  0.        , -0.00488281, -0.00195312,
           0.01269531, -0.00878906,  0.00097656,  0.01464844,  0.03027344,
           0.00390625,  0.00683594,  0.015625  ,  0.02539062, -0.01074219,
          -0.00683594,  0.0078125 ,  0.02246094, -0.00585938,  0.        ,
           0.01269531,  0.02441406, -0.00390625, -0.00195312,  0.01269531,
           0.02148438, -0.00195312,  0.00292969,  0.01464844,  0.02441406,
          -0.0078125 , -0.00292969,  0.00976562,  0.02050781, -0.00488281,
          -0.00195312,  0.01171875,  0.02148438, -0.00878906, -0.00488281,
           0.00683594,  0.02246094, -0.00097656,  0.00683594,  0.01660156,
           0.02441406, -0.01171875, -0.00585938,  0.00488281,  0.02050781,
          -0.00878906,  0.        ,  0.01074219,  0.02539062, -0.00390625,
           0.00195312,  0.00976562,  0.02246094, -0.0078125 , -0.00097656,
           0.00878906,  0.02050781, -0.00878906, -0.00390625,  0.00683594,
           0.02148438, -0.00683594,  0.        ,  0.00976562,  0.02246094,
          -0.01269531, -0.00488281,  0.00683594,  0.02148438])
  array([218,  57, 163, 238,  94, 107,  75,  13,  50,  85, 191, 239, 149,
          96,  24, 144], dtype=uint8)
  array([141, 157,  50, 188, 136, 137, 251,   6, 244,  97, 191, 105, 144,
         241, 195, 197], dtype=uint8)
  array([  1,  35,  69, 103, 137, 171, 205, 239,  18,  52,  86, 120, 154,
         188, 222, 240], dtype=uint8)                                    ]
 [memmap([ 0.015625  , -0.01757812, -0.00878906, -0.00292969,  0.01269531,
          -0.1015625 , -0.0859375 , -0.04492188,  0.00488281, -0.09570312,
          -0.06347656, -0.01757812,  0.02832031, -0.10058594, -0.07910156,
          -0.03125   ,  0.01855469, -0.09960938, -0.07324219, -0.02441406,
           0.02441406, -0.09179688, -0.06835938, -0.02246094,  0.0234375 ,
          -0.10546875, -0.08300781, -0.03125   ,  0.0234375 , -0.09277344,
          -0.06738281, -0.015625  ,  0.02636719, -0.08984375, -0.06933594,
          -0.02148438,  0.02441406, -0.09375   , -0.07128906, -0.02050781,
           0.02636719, -0.09863281, -0.07519531, -0.02050781,  0.02636719,
          -0.08691406, -0.05957031, -0.01171875,  0.03125   , -0.09375   ,
          -0.07324219, -0.02050781,  0.02539062,  0.02929688,  0.04199219,
           0.04882812,  0.04589844, -0.00292969, -0.01074219, -0.00292969,
           0.00878906, -0.01171875, -0.00390625,  0.01269531,  0.02539062,
           0.00292969,  0.00488281,  0.01367188,  0.02148438, -0.01171875,
          -0.00976562,  0.00488281,  0.02050781, -0.00976562, -0.00292969,
           0.00976562,  0.02441406, -0.00488281, -0.00195312,  0.00878906,
           0.02148438, -0.00390625,  0.00195312,  0.01171875,  0.02246094,
          -0.01171875, -0.00390625,  0.00585938,  0.02050781, -0.01171875,
          -0.00292969,  0.00878906,  0.0234375 , -0.01367188, -0.00488281,
           0.00683594,  0.02148438, -0.00292969,  0.00585938,  0.01269531,
           0.0234375 , -0.01464844, -0.0078125 ,  0.00292969,  0.01660156,
          -0.00976562,  0.        ,  0.01074219,  0.0234375 , -0.00488281,
          -0.00097656,  0.00976562,  0.02050781, -0.0078125 , -0.00097656,
           0.00878906,  0.01953125, -0.01074219, -0.00585938,  0.0078125 ,
           0.02050781, -0.00585938, -0.00292969,  0.00878906,  0.02246094,
          -0.01464844, -0.0078125 ,  0.00488281,  0.01953125])
  array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], dtype=uint8)
  array([ 66, 199, 111, 134,  28, 147, 211,  45,  55,  54, 186,  57,  92,
         200, 179, 128], dtype=uint8)
  array([  1,  35,  69, 103, 137, 171, 205, 239,  18,  52,  86, 120, 154,
         188, 222, 240], dtype=uint8)                                    ]
 [memmap([ 0.02050781, -0.00976562, -0.00292969,  0.01074219,  0.02246094,
          -0.00683594, -0.00292969,  0.00683594,  0.02148438, -0.12109375,
          -0.10253906, -0.04589844,  0.01074219, -0.09472656, -0.06347656,
          -0.00488281,  0.04003906, -0.07714844, -0.0625    , -0.01269531,
           0.02929688, -0.09960938, -0.07519531, -0.02148438,  0.03027344,
          -0.07714844, -0.05175781, -0.00585938,  0.03808594, -0.08105469,
          -0.06347656, -0.01464844,  0.03125   , -0.08886719, -0.06542969,
          -0.01464844,  0.03515625, -0.09277344, -0.07128906, -0.01757812,
           0.03613281, -0.08691406, -0.05957031, -0.00976562,  0.03808594,
          -0.07324219, -0.04394531, -0.00390625,  0.03710938, -0.09765625,
          -0.07617188, -0.02148438,  0.03027344,  0.03808594,  0.0546875 ,
           0.05859375,  0.05371094,  0.00683594, -0.00292969,  0.00292969,
           0.01367188, -0.00488281,  0.00390625,  0.01953125,  0.03222656,
           0.00878906,  0.01171875,  0.02050781,  0.02832031, -0.00488281,
          -0.00097656,  0.01269531,  0.02636719, -0.00097656,  0.00390625,
           0.01757812,  0.03027344,  0.00097656,  0.00292969,  0.01660156,
           0.02539062,  0.00488281,  0.00488281,  0.01953125,  0.02832031,
          -0.00195312,  0.00097656,  0.01367188,  0.02636719,  0.        ,
           0.00488281,  0.015625  ,  0.02832031, -0.00488281,  0.        ,
           0.01367188,  0.02734375,  0.00488281,  0.01269531,  0.01855469,
           0.03125   , -0.00683594, -0.00195312,  0.00878906,  0.02539062,
          -0.00195312,  0.00683594,  0.01660156,  0.02929688,  0.00097656,
           0.0078125 ,  0.01464844,  0.02734375, -0.00390625,  0.00390625,
           0.01269531,  0.02734375, -0.00488281,  0.00097656,  0.01367188,
           0.02441406,  0.        ,  0.00390625,  0.01757812,  0.02636719,
          -0.00878906, -0.00097656,  0.01171875,  0.02441406])
  array([ 66, 199, 111, 134,  28, 147, 211,  45,  55,  54, 186,  57,  92,
         200, 179, 128], dtype=uint8)
  array([ 81, 246, 159, 240, 211, 199,  82, 114, 237, 178,  37, 123,   8,
         239, 165, 187], dtype=uint8)
  array([  1,  35,  69, 103, 137, 171, 205, 239,  18,  52,  86, 120, 154,
         188, 222, 240], dtype=uint8)                                    ]
 [memmap([ 0.01074219, -0.02246094, -0.01660156, -0.00195312,  0.01074219,
          -0.12988281, -0.11621094, -0.05761719, -0.00097656, -0.10253906,
          -0.07128906, -0.01269531,  0.03027344, -0.08886719, -0.07128906,
          -0.02246094,  0.015625  , -0.11035156, -0.08691406, -0.02832031,
           0.01953125, -0.10742188, -0.08007812, -0.02246094,  0.02246094,
          -0.09667969, -0.07324219, -0.02246094,  0.02441406, -0.09277344,
          -0.0703125 , -0.01855469,  0.0234375 , -0.09375   , -0.07421875,
          -0.02246094,  0.02441406, -0.09863281, -0.07519531, -0.02050781,
           0.02734375, -0.09667969, -0.07421875, -0.02148438,  0.02539062,
          -0.08398438, -0.06054688, -0.01269531,  0.02832031, -0.09960938,
          -0.08007812, -0.02832031,  0.02246094,  0.02929688,  0.04589844,
           0.04589844,  0.04589844, -0.00195312, -0.00976562, -0.00488281,
           0.00878906, -0.015625  , -0.00292969,  0.00976562,  0.02636719,
           0.        ,  0.00585938,  0.01171875,  0.02246094, -0.01464844,
          -0.00683594,  0.00195312,  0.02050781, -0.01269531, -0.00097656,
           0.00976562,  0.0234375 , -0.00976562, -0.00292969,  0.00585938,
           0.02050781, -0.00683594,  0.00097656,  0.00878906,  0.02246094,
          -0.01367188, -0.00683594,  0.00488281,  0.01855469, -0.01074219,
          -0.00390625,  0.0078125 ,  0.01855469, -0.01171875, -0.00976562,
           0.00488281,  0.01953125, -0.00097656,  0.00390625,  0.01367188,
           0.02050781, -0.01171875, -0.00878906,  0.00292969,  0.015625  ,
          -0.00878906, -0.00390625,  0.01074219,  0.02050781, -0.00488281,
          -0.00390625,  0.00976562,  0.01660156, -0.00878906, -0.00390625,
           0.00683594,  0.01953125, -0.01171875, -0.00683594,  0.00585938,
           0.01855469, -0.00683594, -0.00292969,  0.00878906,  0.02050781,
          -0.015625  , -0.01074219,  0.00390625,  0.01855469])
  array([218,  57, 163, 238,  94, 107,  75,  13,  50,  85, 191, 239, 149,
          96,  24, 144], dtype=uint8)
  array([141, 157,  50, 188, 136, 137, 251,   6, 244,  97, 191, 105, 144,
         241, 195, 197], dtype=uint8)
  array([  1,  35,  69, 103, 137, 171, 205, 239,  18,  52,  86, 120, 154,
         188, 222, 240], dtype=uint8)                                    ]
 [memmap([ 0.0234375 , -0.01171875, -0.00585938,  0.00488281,  0.01953125,
          -0.09765625, -0.08886719, -0.04199219,  0.01171875, -0.09277344,
          -0.06640625, -0.01367188,  0.03613281, -0.07714844, -0.05957031,
          -0.01367188,  0.03027344, -0.09472656, -0.07324219, -0.02246094,
           0.02929688, -0.09472656, -0.0703125 , -0.01660156,  0.03417969,
          -0.08886719, -0.06347656, -0.015625  ,  0.03417969, -0.08105469,
          -0.05859375, -0.01074219,  0.03515625, -0.0859375 , -0.06542969,
          -0.01464844,  0.03320312, -0.09277344, -0.06542969, -0.01367188,
           0.03417969, -0.08984375, -0.06542969, -0.01269531,  0.03417969,
          -0.07421875, -0.05175781, -0.00390625,  0.03613281, -0.09179688,
          -0.07226562, -0.01660156,  0.03222656,  0.0390625 ,  0.05273438,
           0.05957031,  0.05371094,  0.00585938, -0.00292969,  0.00488281,
           0.01367188, -0.00488281,  0.00390625,  0.02050781,  0.03320312,
           0.00878906,  0.00878906,  0.02050781,  0.03027344, -0.00488281,
          -0.00292969,  0.01367188,  0.02636719, -0.00292969,  0.00488281,
           0.01855469,  0.02929688,  0.        ,  0.00488281,  0.01757812,
           0.02929688,  0.00195312,  0.00878906,  0.01855469,  0.02929688,
          -0.00488281,  0.00292969,  0.01367188,  0.02832031, -0.00292969,
           0.00390625,  0.01464844,  0.03027344, -0.00488281,  0.00195312,
           0.01269531,  0.02734375,  0.00390625,  0.01269531,  0.01855469,
           0.03222656, -0.00683594, -0.00097656,  0.00976562,  0.02539062,
          -0.00292969,  0.00683594,  0.01855469,  0.03027344,  0.00097656,
           0.0078125 ,  0.01464844,  0.02636719, -0.00292969,  0.00390625,
           0.01367188,  0.02636719, -0.00292969,  0.        ,  0.01464844,
           0.02636719,  0.        ,  0.00488281,  0.01660156,  0.02832031,
          -0.00488281, -0.00097656,  0.01367188,  0.02539062])
  array([218,  57, 163, 238,  94, 107,  75,  13,  50,  85, 191, 239, 149,
          96,  24, 144], dtype=uint8)
  array([141, 157,  50, 188, 136, 137, 251,   6, 244,  97, 191, 105, 144,
         241, 195, 197], dtype=uint8)
  array([  1,  35,  69, 103, 137, 171, 205, 239,  18,  52,  86, 120, 154,
         188, 222, 240], dtype=uint8)                                    ]
 [memmap([ 0.02050781, -0.00683594, -0.00488281,  0.00878906,  0.01855469,
          -0.11132812, -0.09472656, -0.04394531,  0.00976562, -0.09863281,
          -0.06835938, -0.01269531,  0.03417969, -0.0859375 , -0.06542969,
          -0.01855469,  0.02734375, -0.10058594, -0.07910156, -0.0234375 ,
           0.02636719, -0.09277344, -0.06738281, -0.01464844,  0.03320312,
          -0.08398438, -0.06347656, -0.015625  ,  0.03222656, -0.07910156,
          -0.05859375, -0.01269531,  0.03222656, -0.09667969, -0.07519531,
          -0.02441406,  0.03027344, -0.08691406, -0.05859375, -0.01074219,
           0.03613281, -0.08886719, -0.06542969, -0.015625  ,  0.03027344,
          -0.08007812, -0.05273438, -0.00878906,  0.03417969, -0.08300781,
          -0.0625    , -0.01464844,  0.03222656,  0.03125   ,  0.04785156,
           0.04882812,  0.04980469,  0.00390625, -0.00390625,  0.00097656,
           0.01464844, -0.00488281,  0.00292969,  0.01855469,  0.02929688,
           0.00683594,  0.00976562,  0.02050781,  0.02636719, -0.0078125 ,
          -0.00292969,  0.01074219,  0.02441406, -0.00390625,  0.        ,
           0.015625  ,  0.02636719, -0.00292969,  0.00195312,  0.01464844,
           0.02441406,  0.00097656,  0.00683594,  0.015625  ,  0.02636719,
          -0.00585938, -0.00097656,  0.00976562,  0.02441406, -0.00390625,
           0.00292969,  0.01464844,  0.02636719, -0.00683594, -0.00195312,
           0.01171875,  0.02441406,  0.00292969,  0.00976562,  0.01953125,
           0.02832031, -0.01074219, -0.00292969,  0.0078125 ,  0.0234375 ,
          -0.00585938,  0.00390625,  0.01464844,  0.02734375, -0.00195312,
           0.00292969,  0.01367188,  0.02246094, -0.00390625,  0.00195312,
           0.01171875,  0.0234375 , -0.00878906, -0.00195312,  0.01171875,
           0.02441406, -0.00292969,  0.        ,  0.01464844,  0.02441406,
          -0.00976562, -0.00488281,  0.00976562,  0.02246094])
  array([ 81, 246, 159, 240, 211, 199,  82, 114, 237, 178,  37, 123,   8,
         239, 165, 187], dtype=uint8)
  array([252,  90, 157, 237, 176, 228, 231, 213, 184, 124, 217,  87, 234,
          82, 192, 166], dtype=uint8)
  array([  1,  35,  69, 103, 137, 171, 205, 239,  18,  52,  86, 120, 154,
         188, 222, 240], dtype=uint8)                                    ]
 [memmap([ 0.01855469, -0.01269531, -0.0078125 ,  0.00292969,  0.015625  ,
          -0.11425781, -0.10546875, -0.04980469,  0.00488281, -0.09375   ,
          -0.06835938, -0.01171875,  0.03320312, -0.07714844, -0.06542969,
          -0.01757812,  0.0234375 , -0.09667969, -0.08007812, -0.02441406,
           0.02441406, -0.09472656, -0.07519531, -0.02148438,  0.03027344,
          -0.08691406, -0.0703125 , -0.01757812,  0.02832031, -0.07910156,
          -0.06542969, -0.01464844,  0.03027344, -0.0859375 , -0.0703125 ,
          -0.01953125,  0.02832031, -0.09375   , -0.0703125 , -0.01757812,
           0.03222656, -0.09179688, -0.06933594, -0.01855469,  0.03222656,
          -0.078125  , -0.05371094, -0.01074219,  0.03417969, -0.09472656,
          -0.07617188, -0.02246094,  0.02734375,  0.03417969,  0.04980469,
           0.05175781,  0.04980469,  0.00097656, -0.00488281, -0.00292969,
           0.01171875, -0.00976562,  0.00097656,  0.015625  ,  0.03027344,
           0.00683594,  0.0078125 ,  0.015625  ,  0.02441406, -0.01074219,
          -0.00488281,  0.00878906,  0.02050781, -0.00488281,  0.        ,
           0.01464844,  0.02441406, -0.00097656,  0.        ,  0.01269531,
           0.02246094,  0.        ,  0.00390625,  0.015625  ,  0.0234375 ,
          -0.00488281, -0.00097656,  0.00976562,  0.02246094, -0.00683594,
           0.00097656,  0.01269531,  0.0234375 , -0.01074219, -0.00390625,
           0.00976562,  0.02246094, -0.00195312,  0.00683594,  0.015625  ,
           0.02734375, -0.01269531, -0.00488281,  0.00683594,  0.02050781,
          -0.0078125 ,  0.00195312,  0.01269531,  0.02636719, -0.00683594,
           0.00292969,  0.00976562,  0.0234375 , -0.00878906,  0.        ,
           0.01074219,  0.02246094, -0.01074219, -0.00390625,  0.0078125 ,
           0.02148438, -0.00488281,  0.00097656,  0.01269531,  0.0234375 ,
          -0.01269531, -0.0078125 ,  0.0078125 ,  0.02148438])
  array([218,  57, 163, 238,  94, 107,  75,  13,  50,  85, 191, 239, 149,
          96,  24, 144], dtype=uint8)
  array([141, 157,  50, 188, 136, 137, 251,   6, 244,  97, 191, 105, 144,
         241, 195, 197], dtype=uint8)
  array([  1,  35,  69, 103, 137, 171, 205, 239,  18,  52,  86, 120, 154,
         188, 222, 240], dtype=uint8)                                    ]] 
 Result truncated

Contents of project.waves[0] where waves is an <chipwhisperer.common.api.ProjectFormat.IndividualIterable object at 0x7fe48203b350>

[ 0.015625   -0.00585938 -0.00097656  0.00878906  0.015625   -0.12402344
-0.11132812 -0.05664062 -0.00097656 -0.09863281 -0.06640625 -0.00976562
 0.03613281 -0.08007812 -0.06542969 -0.01660156  0.02050781 -0.10351562
-0.08105469 -0.02734375  0.02246094 -0.09765625 -0.07324219 -0.01855469
 0.02832031 -0.09082031 -0.06933594 -0.01757812  0.02832031 -0.08789062
-0.06542969 -0.015625    0.02832031 -0.09179688 -0.06933594 -0.01855469
 0.02734375 -0.09765625 -0.06933594 -0.01855469  0.02929688 -0.09667969
-0.06933594 -0.01660156  0.03222656 -0.0859375  -0.05566406 -0.01171875
 0.03417969 -0.10058594 -0.07421875 -0.02246094  0.02636719  0.03125
 0.04882812  0.05078125  0.04980469  0.         -0.00488281 -0.00195312
 0.01269531 -0.00878906  0.00097656  0.01464844  0.03027344  0.00390625
 0.00683594  0.015625    0.02539062 -0.01074219 -0.00683594  0.0078125
 0.02246094 -0.00585938  0.          0.01269531  0.02441406 -0.00390625
-0.00195312  0.01269531  0.02148438 -0.00195312  0.00292969  0.01464844
 0.02441406 -0.0078125  -0.00292969  0.00976562  0.02050781 -0.00488281
-0.00195312  0.01171875  0.02148438 -0.00878906 -0.00488281  0.00683594
 0.02246094 -0.00097656  0.00683594  0.01660156  0.02441406 -0.01171875
-0.00585938  0.00488281  0.02050781 -0.00878906  0.          0.01074219
 0.02539062 -0.00390625  0.00195312  0.00976562  0.02246094 -0.0078125
-0.00097656  0.00878906  0.02050781 -0.00878906 -0.00390625  0.00683594
 0.02148438 -0.00683594  0.          0.00976562  0.02246094 -0.01269531
-0.00488281  0.00683594  0.02148438]

Sample contents of project.textins[0]

[218  57 163 238  94 107  75  13  50  85 191 239 149  96  24 144]

The cw object is imported as import chipwhisperer as cw and is part of the chipwhisperer libary. It's function here is to allow for the traces that are already captured to be loaded into a set of arrays.

Tarick Welling
  • 3,119
  • 3
  • 19
  • 44
  • 1
    The warnings suggest a mismatch between your `param` and `holoviews` libraries; I'd recommend updating both to the latest ones from the pyviz channel (`conda update -c pyviz holoviews param`). The error seems like an issue with the library itself, but it's difficult to be sure without a reproducible example. If the error persists after updating the libraries, can you extract the data from the `cw` object, shorten and simplify it, and update the example to be runnable on its own with that data provided? Otherwise it will be difficult for anyone to help you debug it. – James A. Bednar Apr 24 '21 at 16:15
  • @JamesA.Bednar I've added the variable contents and did the install via conda an pip but Jupyter is still giving errors when running. – Tarick Welling Apr 26 '21 at 12:24
  • Unless the script you include above is actually runnable by someone else, there is little anyone can do! – James A. Bednar Apr 27 '21 at 13:19

1 Answers1

1

pip install --upgrade holoviews fixed the issue.

for the VM users facing the error, this won't work: Jupyter will crash at boot. I recommend downloading the "ChipWhisperer.Jupyter.holoviews.7z" VM on the release page (release tagged 5.5).

bkwg
  • 26
  • 2
  • but that is just a VM right? How will this help with a local install? – Tarick Welling Apr 29 '21 at 08:25
  • oops didn't notice that you aren't using one... which version of holoviews have you installed? If it is not 1.14.3, can you install this version and let me know? – bkwg Apr 29 '21 at 16:38
  • It is `1.12.3` so I'll update it tomorrow and report if that worked. (I had already tried `pip upgrade` before) – Tarick Welling Apr 29 '21 at 17:56
  • `pip install --upgrade holoviews` worked. As you came with the answer, please edit your answer to include this so I can accept and upvote – Tarick Welling Apr 30 '21 at 09:19