Package: python3-myhdl
Version: 0.11-1
Severity: grave
Justification: renders package unusable
X-Debbugs-Cc: m...@bues.ch

Result of running a very simple MyHDL file with Python 3.9 (Debian Sid):

$ python3 ./myhdltest.py
Traceback (most recent call last):
  File "..././myhdltest.py", line 14, in <module>
    instance.convert(hdl='Verilog')
  File "/usr/lib/python3/dist-packages/myhdl/_block.py", line 342, in convert
    return converter(self)
  File "/usr/lib/python3/dist-packages/myhdl/conversion/_toVerilog.py", line
177, in __call__
    genlist = _analyzeGens(arglist, h.absnames)
  File "/usr/lib/python3/dist-packages/myhdl/conversion/_analyze.py", line 170,
in _analyzeGens
    v.visit(tree)
  File "/usr/lib/python3.9/ast.py", line 407, in visit
    return visitor(node)
  File "/usr/lib/python3/dist-packages/myhdl/conversion/_analyze.py", line
1119, in visit_Module
    _AnalyzeBlockVisitor.visit_Module(self, node)
  File "/usr/lib/python3/dist-packages/myhdl/conversion/_analyze.py", line
1070, in visit_Module
    self.generic_visit(node)
  File "/usr/lib/python3.9/ast.py", line 415, in generic_visit
    self.visit(item)
  File "/usr/lib/python3.9/ast.py", line 407, in visit
    return visitor(node)
  File "/usr/lib/python3/dist-packages/myhdl/conversion/_analyze.py", line
1099, in visit_FunctionDef
    self.visit(n)
  File "/usr/lib/python3.9/ast.py", line 407, in visit
    return visitor(node)
  File "/usr/lib/python3/dist-packages/myhdl/conversion/_analyze.py", line 521,
in visit_Assign
    self.visit(target)
  File "/usr/lib/python3.9/ast.py", line 407, in visit
    return visitor(node)
  File "/usr/lib/python3/dist-packages/myhdl/conversion/_analyze.py", line 466,
in visit_Attribute
    self.setAttr(node)
  File "/usr/lib/python3/dist-packages/myhdl/conversion/_analyze.py", line 482,
in setAttr
    self.visit(node.value)
  File "/usr/lib/python3.9/ast.py", line 407, in visit
    return visitor(node)
  File "/usr/lib/python3/dist-packages/myhdl/conversion/_analyze.py", line 962,
in visit_Subscript
    self.accessIndex(node)
  File "/usr/lib/python3/dist-packages/myhdl/conversion/_analyze.py", line 986,
in accessIndex
    self.visit(node.slice.value)
  File "/usr/lib/python3.9/ast.py", line 407, in visit
    return visitor(node)
  File "/usr/lib/python3.9/ast.py", line 411, in generic_visit
    for field, value in iter_fields(node):
  File "/usr/lib/python3.9/ast.py", line 249, in iter_fields
    for field in node._fields:
AttributeError: 'int' object has no attribute '_fields'


The myhdltest.py example does work fine with the current upstream git master of
MyHDL:

commit 7b17942abbb2d9374df13f4f1f8c9d4589e1c88c

$ PYTHONPATH=/.../git/myhdl/ python3 ./myhdltest.py
$


-- System Information:
Debian Release: 11.0
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.10.0-8-amd64 (SMP w/4 CPU threads)
Kernel taint flags: TAINT_WARN
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages python3-myhdl depends on:
ii  python3  3.9.2-3

Versions of packages python3-myhdl recommends:
ii  myhdl-cosimulation  0.11-1

Versions of packages python3-myhdl suggests:
ii  myhdl-doc  0.11-1
from myhdl import *

@block
def myhdltest(x, y):
        @always_comb
        def logic():
                x[0].next = y[0]
        return logic

instance = myhdltest(
        x=Signal(intbv(0)[1:]),
        y=Signal(intbv(0)[1:])
)
instance.convert(hdl='Verilog')

Reply via email to