Closed rainerg2000 closed 6 years ago
I'm almost certain that this is a manifestation of #936
I'll run that test suite a few times to be sure.
That being said, it looks like that fix was in DB021 so...boooo
If it doesn't reproduce when clicking the 'Run Tests' button repeatedly, you should also click the 'Failed Tests' button between test runs.
I'm having trouble getting this round of tests to run properly. System.Reactive was missing and so I installed that to get it to build, but now the runtime error is "unable to find Serilog." I installed Serilog from Nuget but that did not resolve things. Perhaps I need some other nuget endpoints (the ones that are included with the project are, understandly, not usable)
All 3rd party nuget packages are available on nuget.org. Please tweak the solution's nuget.config, or your Visual Studio nuget options to include https://api.nuget.org/v3/index.json http://mobile.nuget.couchbase.com/nuget/Developer/ It compiles, runs, and reproduces the issue. I don't think it has any additional dependencies.
Here's a potential issue you might be running into: If your test target has TPM2 my test app will crash on startup. The issue is in Shared\Uwp\Security\CryptoUwp.cs. Here's the fix:
public override void Initialize()
{
mAliases = new List<string>();
var device = new TbsDevice();
try
{
device.Connect();
mTpm = new Tpm2(device);
}
catch (Exception e)
{
// getting here probably means that the PC doesn't have TPM 2.0 hardware.
Logger.Error(e, "Failed to interface with TPM on the device. Probably means the PC doesn't have TPM 2.0 hardware.");
mFallbackToMockImplementation = true;
mRandom = new Random();
}
// we are using the mock implementation even if TPM2 h/w is available on the system.
// later we'll implement a real implemantation using the TPM2 h/w.
mFallbackToMockImplementation = true;
mRandom = new Random();
}
It wasn’t crashing and I still haven’t gotten it running but I found a potential issue related to this. I didn’t file a separate ticket about it but I noticed other platforms throwing exceptions about illegal byte sequences coming out of this method. That seems to me to be another symptom of the same problem (invalid memory access that happens to be on a valid memory page instead of an invalid one). I am hopeful that it will take care of this too. The fix will be in db022 tomorrow.
I'd be happy to test with the upcoming DB022
I’m happy to give it to you too. I thought I would be able to put it out by now but we are in beta mode and so things are getting sucked into the QE process.
Using db022 I have confirmed this issue is fixed. Thanks.
I am seeing an intermittent AccessViolationExceptions in our Couchbase Lite test app. It's a UWP app running on Win 10.0.16299, using CB Lite.net DB021, it uses CB Lite encryption.
@borrrden, here's a test program that reproduces the issue https://drive.google.com/file/d/1pn-QWss3ORU9eW2erebjZhknRKEBUieX/view?usp=sharing To reproduce the issue you have to run the test case several times by clicking the 'Run Tests' button in the app.
The exception occurs when opening the DB:
mDB = new Couchbase.Lite.Database(caboDbConfig.DbName, couchbaseDbConfig);
stack trace: