Election-Tech-Initiative / electionguard-cpp

A C++ implementation of ElectionGuard specification focused on encryption components.
https://www.electionguard.vote/
MIT License
23 stars 26 forks source link

🐞 Exception thrown when calling StartPrecomputeAsync #324

Closed SteveMaier-IRT closed 1 year ago

SteveMaier-IRT commented 2 years ago

Is there an existing issue for this?

Current Behavior

Setup:

  1. Export EG manifest from Election Manager
  2. Create a key ceremony in EG tablets for election
  3. Create election in EG Tablets for election using manifest file
  4. Export election artifacts to EGDrive
  5. Load election in Scan
  6. Insert EGDrive and open polls

Actual Results:

  1. There are multiple exceptions in the log: 2022-07-19T13:38:17-06:00|S1701265409|none|65429|Hardware, System, Info|Device|_precomputeInstance.StartPrecomputeAsync(_cipherTextElectionContext.ElGamalPublicKey) 2022-07-19T13:38:22-06:00|S1701265409||none|65429|System, Exception, Error|Exception occurred|Exception details: Exception: The server did not provide a meaningful reply; this might be caused by a contract mismatch, a premature session shutdown or an internal server error. Target Site: Void HandleReturnMessage(System.Runtime.Remoting.Messaging.IMessage, System.Runtime.Remoting.Messaging.IMessage) Stack Trace:

Server stack trace:

at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout) at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation) at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message) Exception rethrown at [0]: at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) at WcfNamedPipes.Contract.Contracts.IBallotGenerationClient.GenerateGeometry(GeometryRequest request) at WcfNamedPipes.Communication.BallotGenerationHost.GenerateGeometry(GeometryRequest geometryRequest)

Impact:

  1. High - exceptions are ignored and the polls open and ready to accept ballots so impact unknown

Comments

8/18/2022: Retested after removing the fully disabled contest from the election - issue did not reoccur. Changing the defect to Open because it is still an issue with fully disabled contests

Defect Details Status Deferred Project Scan Subject ElectionGuard Reproducible Y Severity 3-High Priority 3-High Detected on Date 2022-08-16 Detected in Release ElectionGuard Detected in Cycle Drop 4 Target Release ElectionGuard

Expected Behavior

Polls open with no exceptions in the log

Steps To Reproduce

No response

Environment

- OS:

Anything else?

No response

colleenirt commented 2 years ago

so far this has not been reproduced - add more logging

colleenirt commented 1 year ago

This has not been reproduced