pcdshub / pytmc

Generate EPICS IOCs and records from TwinCAT projects - along with many TwinCAT project tools
https://pcdshub.github.io/pytmc/
Other
10 stars 11 forks source link

Parsing of `VonHamos01.tmc` fails on master #82

Closed klauer closed 5 years ago

klauer commented 5 years ago

https://github.com/pcdshub/vonhamos-motion/blob/8235b202f66ced65a08df43e5ac26fd502df5146/twincat/VonHamos01/VonHamos01/VonHamos01/VonHamos01.tmc

It appears to get stuck in some infinite loop during isolate_chains:

$ pytmc VonHamos01.tmc test.db
Traceback (most recent call last):
  File "/Users/klauer/mc/envs/py36/bin/pytmc", line 11, in <module>
    load_entry_point('pytmc', 'console_scripts', 'pytmc')()
  File "/Users/klauer/docs/Repos/pytmc/pytmc/bin/pytmc.py", line 129, in main
    show_error_context=not args.no_error_context,
  File "/Users/klauer/docs/Repos/pytmc/pytmc/bin/pytmc.py", line 33, in process
    tmc_file_obj.isolate_chains()
  File "/Users/klauer/docs/Repos/pytmc/pytmc/xml_collector.py", line 346, in isolate_chains
    new_singular_chains = non_singular.build_singular_chains()
  File "/Users/klauer/docs/Repos/pytmc/pytmc/xml_collector.py", line 574, in build_singular_chains
    new_TmcChain = deepcopy(self)
  File "/Users/klauer/mc/envs/py36/lib/python3.6/copy.py", line 180, in deepcopy
    y = _reconstruct(x, memo, *rv)
  File "/Users/klauer/mc/envs/py36/lib/python3.6/copy.py", line 280, in _reconstruct
    state = deepcopy(state, memo)
  File "/Users/klauer/mc/envs/py36/lib/python3.6/copy.py", line 150, in deepcopy
    y = copier(x, memo)
  File "/Users/klauer/mc/envs/py36/lib/python3.6/copy.py", line 240, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/Users/klauer/mc/envs/py36/lib/python3.6/copy.py", line 150, in deepcopy
    y = copier(x, memo)
  File "/Users/klauer/mc/envs/py36/lib/python3.6/copy.py", line 215, in _deepcopy_list
    append(deepcopy(a, memo))
  File "/Users/klauer/mc/envs/py36/lib/python3.6/copy.py", line 180, in deepcopy
    y = _reconstruct(x, memo, *rv)
  File "/Users/klauer/mc/envs/py36/lib/python3.6/copy.py", line 280, in _reconstruct
    state = deepcopy(state, memo)
  File "/Users/klauer/mc/envs/py36/lib/python3.6/copy.py", line 150, in deepcopy
    y = copier(x, memo)
  File "/Users/klauer/mc/envs/py36/lib/python3.6/copy.py", line 240, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/Users/klauer/mc/envs/py36/lib/python3.6/copy.py", line 180, in deepcopy
    y = _reconstruct(x, memo, *rv)
  File "/Users/klauer/mc/envs/py36/lib/python3.6/copy.py", line 280, in _reconstruct
    state = deepcopy(state, memo)
  File "/Users/klauer/mc/envs/py36/lib/python3.6/copy.py", line 150, in deepcopy
    y = copier(x, memo)
  File "/Users/klauer/mc/envs/py36/lib/python3.6/copy.py", line 240, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/Users/klauer/mc/envs/py36/lib/python3.6/copy.py", line 161, in deepcopy
    y = copier(memo)
  File "/Users/klauer/mc/envs/py36/lib/python3.6/copy.py", line 161, in deepcopy
    y = copier(memo)
KeyboardInterrupt

There aren't any pragmas in the file, hmm...

klauer commented 5 years ago

Closed by #85