-
Notifications
You must be signed in to change notification settings - Fork 61
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AttributeError: 'PreProcessedElements' object has no attribute 'mixins' #420
Comments
We do not have any ci tests covering this AWS code, so it is not surprising if small interface changes or refactoring end up breaking these. |
A note to myself to keep track of the progress on fixing this issue ... currently fixed the "original" error and running into this error: ubuntu@ip-172-31-88-6:~$ sudo docker run -p 7000:7000 -v /home/ubuntu/config:/usr/src/HoneyBadgerMPC/config/ -v /home/ubuntu/sharedata:/usr/src/HoneyBadgerMPC/sharedata/ -v /home/ubuntu/benchmark-logs:/usr/src/Ho
neyBadgerMPC/benchmark-logs/ sbellem/honeybadgermpc python -m honeybadgermpc.ipc -d -f config/config-1.json
2020-01-29 22:05:54,345:[base_events.py:1604]:[ERROR]: Exception in callback ProcessProgramRunner.execute.<locals>.callback(<Task finishe...ound only 0')>) at /usr/src/HoneyBadgerMPC/honeybadgermpc/ipc.py:144
handle: <Handle ProcessProgramRunner.execute.<locals>.callback(<Task finishe...ound only 0')>) at /usr/src/HoneyBadgerMPC/honeybadgermpc/ipc.py:144>
Traceback (most recent call last):
File "/usr/local/lib/python3.7/asyncio/events.py", line 88, in _run
self._context.run(self._callback, *self._args)
File "/usr/src/HoneyBadgerMPC/honeybadgermpc/ipc.py", line 145, in callback
program_result.set_result(future.result())
File "/usr/src/HoneyBadgerMPC/honeybadgermpc/mpc.py", line 243, in _run
return result.result()
File "/usr/src/HoneyBadgerMPC/honeybadgermpc/mpc.py", line 356, in test_prog2
shares = [context.preproc.get_zero(context) for _ in range(1000)]
File "/usr/src/HoneyBadgerMPC/honeybadgermpc/mpc.py", line 356, in <listcomp>
shares = [context.preproc.get_zero(context) for _ in range(1000)]
File "/usr/src/HoneyBadgerMPC/honeybadgermpc/preprocessing.py", line 647, in get_zero
return self._zeros.get_value(context)
File "/usr/src/HoneyBadgerMPC/honeybadgermpc/preprocessing.py", line 101, in get_value
to_return, used = self._get_value(context, key, *args, **kwargs)
File "/usr/src/HoneyBadgerMPC/honeybadgermpc/preprocessing.py", line 427, in _get_value
f"Expected "
AssertionError: Expected 1 elements of zeros, but found only 0 |
Isn't this just the error message due to preprocessing underrun? Generate more zeroes? |
just adding a bit of logging info for the above error: 2020-01-30 18:30:44,067:[base_events.py:1604]:[ERROR]: Exception in callback print_exception_callback(<Task finishe..., 1): 0})\n")>) at /usr/src/HoneyBadgerMPC/honeybadgermpc/utils/misc.py:11
handle: <Handle print_exception_callback(<Task finishe..., 1): 0})\n")>) at /usr/src/HoneyBadgerMPC/honeybadgermpc/utils/misc.py:11>
Traceback (most recent call last):
File "/usr/local/lib/python3.7/asyncio/events.py", line 88, in _run
self._context.run(self._callback, *self._args)
File "/usr/src/HoneyBadgerMPC/honeybadgermpc/utils/misc.py", line 17, in print_exception_callback
raise ex
File "/usr/local/lib/python3.7/asyncio/events.py", line 88, in _run
self._context.run(self._callback, *self._args)
File "/usr/src/HoneyBadgerMPC/honeybadgermpc/ipc.py", line 145, in callback
program_result.set_result(future.result())
File "/usr/src/HoneyBadgerMPC/honeybadgermpc/mpc.py", line 243, in _run
return result.result()
File "/usr/src/HoneyBadgerMPC/honeybadgermpc/mpc.py", line 317, in test_batchopening
xs = [context.preproc.get_zero(context) + context.Share(i) for i in range(100)]
File "/usr/src/HoneyBadgerMPC/honeybadgermpc/mpc.py", line 317, in <listcomp>
xs = [context.preproc.get_zero(context) + context.Share(i) for i in range(100)]
File "/usr/src/HoneyBadgerMPC/honeybadgermpc/preprocessing.py", line 649, in get_zero
return self._zeros.get_value(context)
File "/usr/src/HoneyBadgerMPC/honeybadgermpc/preprocessing.py", line 101, in get_value
to_return, used = self._get_value(context, key, *args, **kwargs)
File "/usr/src/HoneyBadgerMPC/honeybadgermpc/preprocessing.py", line 427, in _get_value
f"Expected "
AssertionError: Expected 1 elements of zeros, but found only 0
key is: (0, 4, 1)
count is: defaultdict(<class 'int'>, {(0, 5, 1): 1000, (0, 4, 1): 0}) the key/tuple ubuntu@ip-172-31-46-44:~$ cat config/config-0.json
{"N": 4, "t": 1, "my_id": 0, "peers": ["34.229.192.79:7000", "54.92.170.32:7000", "52.67.182.22:7000", "3.126.146.22:7000", "35.183.10.38:7000"], "reconstruction": {"induce_faults": false}, "skip_preprocessing": true, "extra": {}} so what is not clear to me now, and what I am looking into now, is why is also the tuple the contents of the ubuntu@ip-172-31-46-44:~$ ls sharedata/
triples_5_1-0.share zeros_5_1-0.share
ubuntu@ip-172-31-46-44:~$ wc -l sharedata/zeros_5_1-0.share
1003 sharedata/zeros_5_1-0.share |
Yes, generating more zeroes works ... 😄 but the value of HoneyBadgerMPC/aws/run-on-ec2.py Lines 61 to 67 in 7335331
|
That script may need to change since we may have VMs for clients in an experiment, that would not count as part of n or t. This especially occurs when running experiments for AVSS where there is a separate dealer |
Happens when running the experiment on EC2, for the commands:
python -m apps.asynchromix.powermixing
python -m apps.asynchromix.butterfly_network
python -m honeybadgermpc.ipc
The text was updated successfully, but these errors were encountered: