dashingsoft / pyarmor

A tool used to obfuscate python scripts, bind obfuscated scripts to fixed machine or expire obfuscated scripts.
http://pyarmor.dashingsoft.com
Other
3.27k stars 279 forks source link

After pack a folder in my project, I got an error in python3.7/dis.py when I start my project #762

Closed zhuerfei closed 2 years ago

zhuerfei commented 2 years ago

Excuse me, I used pyarmor to pack the "backend" folder in my project and got the error as follow while running main.py. but I tried this method in another project, It works. There exists Threading module in the backend folder, does that matters? I'm a little confused, could you please give me some advice?

the structure of my project is: matf --agent --backend --algorithms --envs --rollout main.py

File "/home/qianmd/work/temp/matf/examples/mpe_maddpg.py", line 56, in task_mode="marl", File "/home/qianmd/work/temp/matf/matf/runner.py", line 72, in run ).remote(exp_cfg=exp_cfg, *global_configs) File "/home/qianmd/anaconda3/envs/matf/lib/python3.7/site-packages/ray/actor.py", line 505, in remote runtime_env=new_runtime_env) File "/home/qianmd/anaconda3/envs/matf/lib/python3.7/site-packages/ray/util/tracing/tracing_helper.py", line 371, in _invocation_actor_class_remote_span return method(self, args, kwargs, _args, **_kwargs) File "/home/qianmd/anaconda3/envs/matf/lib/python3.7/site-packages/ray/actor.py", line 713, in _remote meta.method_meta.methods.keys()) File "/home/qianmd/anaconda3/envs/matf/lib/python3.7/site-packages/ray/_private/function_manager.py", line 385, in export_actor_class "collision_identifier": self.compute_collision_identifier(Class), File "/home/qianmd/anaconda3/envs/matf/lib/python3.7/site-packages/ray/_private/function_manager.py", line 108, in compute_collision_identifier dis.dis(function_or_class, file=string_file, depth=2) File "/home/qianmd/anaconda3/envs/matf/lib/python3.7/dis.py", line 65, in dis dis(x1, file=file, depth=depth) File "/home/qianmd/anaconda3/envs/matf/lib/python3.7/dis.py", line 65, in dis dis(x1, file=file, depth=depth) File "/home/qianmd/anaconda3/envs/matf/lib/python3.7/dis.py", line 70, in dis _disassemble_recursive(x, file=file, depth=depth) File "/home/qianmd/anaconda3/envs/matf/lib/python3.7/dis.py", line 360, in _disassemble_recursive disassemble(co, file=file) File "/home/qianmd/anaconda3/envs/matf/lib/python3.7/dis.py", line 357, in disassemble co.co_consts, cell_names, linestarts, file=file) File "/home/qianmd/anaconda3/envs/matf/lib/python3.7/dis.py", line 390, in _disassemble_bytes line_offset=line_offset): File "/home/qianmd/anaconda3/envs/matf/lib/python3.7/dis.py", line 340, in _get_instructions_bytes argval, argrepr = _get_name_info(arg, cells) File "/home/qianmd/anaconda3/envs/matf/lib/python3.7/dis.py", line 294, in _get_name_info argval = name_list[name_index] IndexError: tuple index out of range

jondy commented 2 years ago

dis.py may not work with the obfuscated scripts by pyarmor.