Skip to content

Recusion depth exceeded #32

@philipaxer

Description

@philipaxer

Hi,

I am trying to get the gerber2ems flow running on my end, but run into issues
First, there seems to be a transitive dependency on the triangle library, but this doesnt build anymore with anything newer than python 3.11. Thus i manually went for:
pip install git+https://github.com/drufat/triangle

After that, I could install gerber2ems into the venv from OpenEMS successfully. Running gerber2ems -a on the example as indicated in the readme, gives me this:

  File "/tools/openEMS/venv/lib/python3.14/site-packages/matplotlib/path.py", line 287, in __deepcopy__
    p = copy.deepcopy(super(), memo)
  File "/usr/lib/python3.14/copy.py", line 157, in deepcopy
    y = _reconstruct(x, memo, *rv)
  File "/usr/lib/python3.14/copy.py", line 234, in _reconstruct
    y = func(*args)
  File "/usr/lib/python3.14/copy.py", line 233, in <genexpr>
    args = (deepcopy(arg, memo) for arg in args)
            ~~~~~~~~^^^^^^^^^^^
  File "/usr/lib/python3.14/copy.py", line 138, in deepcopy
    y = copier(memo)
  File "/tools/openEMS/venv/lib/python3.14/site-packages/matplotlib/path.py", line 287, in __deepcopy__
    p = copy.deepcopy(super(), memo)
  File "/usr/lib/python3.14/copy.py", line 142, in deepcopy
    rv = reductor(x)
RecursionError: maximum recursion depth exceeded
"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/tools/openEMS/venv/bin/gerber2ems", line 6, in <module>
    sys.exit(main())
             ~~~~^^
  File "/tools/openEMS/venv/lib/python3.14/site-packages/gerber2ems/main.py", line 48, in main
    geometry()
    ~~~~~~~~^^
  File "/tools/openEMS/venv/lib/python3.14/site-packages/gerber2ems/main.py", line 74, in geometry
    sim.add_gerbers()
    ~~~~~~~~~~~~~~~^^
  File "/tools/openEMS/venv/lib/python3.14/site-packages/gerber2ems/simulation.py", line 114, in add_gerbers
    contours = p.map(
        importer.get_triangles,
        [lc.file + ".png" for lc in cfg.layers if lc.kind == LayerKind.METAL],
    )
  File "/usr/lib/python3.14/multiprocessing/pool.py", line 367, in map
    return self._map_async(func, iterable, mapstar, chunksize).get()
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3.14/multiprocessing/pool.py", line 774, in get
    raise self._value
RecursionError: maximum recursion depth exceeded

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions