bitcoindevkit / bitcoindevkit/bdk-dart

Parallel Electrum integration tests can fail installing rustls CryptoProvider

Open
#103 1 comment 0 reactions 0 assignees View on GitHub
bug
Dominant language
Dart
Stars
13
Forks
20
Avg merge
24m
Merged PRs (30d)
3

Description

Running the network-gated integration suite with default test concurrency can fail when parallel Electrum clients initialize rustls at the same time... rerunning the failed Electrum canary alone passed, and dart test test/integration --concurrency=1 passed.

```
CouldNotCreateConnectionElectrumException(unexpected error: Failed to install CryptoProvider)
package:bdk_dart/bdk.dart 26094:5 checkCallStatus
package:bdk_dart/bdk.dart 26117:5 rustCall
package:bdk_dart/bdk.dart 21731:15 new ElectrumClient
test/integration/integration_helpers.dart 55:10 buildElectrumClientFromEnv
test/integration/wallet_surface_canary_test.dart 153:26 main..
```

Contributor guide

Open the contributing guide

Research direction

Reproduce the failure with the network-gated integration suite at its default concurrency, then compare it with `dart test test/integration --concurrency=1`. Start at `test/integration/integration_helpers.dart:55` and `test/integration/wallet_surface_canary_test.dart:153`, where the Electrum client is created. Done means the default-concurrency suite no longer fails with the CryptoProvider error.

Written by the indexing model from the issue text.

Assessment

Tech stack
dart
Domain
testing
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.