This is similar to #21352, #20270, #18831, #18161, but they have all been closed/fixed, and this is happening again on master as of the [last CI run](https://github.com/bitcoin/bitcoin/runs/2928080250):
```bash
122/210 - feature_backwards_compatibility.py --descriptors failed, Duration: 68 s
stdout:
2021-06-28T03:28:48.903000Z TestFramework (INFO): Initializing test directory /tmp/cirrus-build/ci/scratch/test_runner/test_runner_₿_🏃_20210628_031620/feature_backwards_compatibility_97
2021-06-28T03:28:52.381000Z TestFramework (INFO): Test wallet backwards compatibility...
2021-06-28T03:29:56.399000Z TestFramework (ERROR): JSONRPC error
Traceback (most recent call last):
  File "/tmp/cirrus-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/test/functional/test_framework/test_framework.py", line 128, in main
    self.run_test()
  File "/tmp/cirrus-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/test/functional/feature_backwards_compatibility.py", line 110, in run_test
    self.nodes[1].abandontransaction(tx3_id)
  File "/tmp/cirrus-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/test/functional/test_framework/coverage.py", line 47, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
  File "/tmp/cirrus-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/test/functional/test_framework/authproxy.py", line 146, in __call__
    raise JSONRPCException(response['error'], status)
test_framework.authproxy.JSONRPCException: Transaction not eligible for abandonment (-5)
2021-06-28T03:29:56.453000Z TestFramework (INFO): Stopping nodes
2021-06-28T03:29:56.723000Z TestFramework (WARNING): Not cleaning up dir /tmp/cirrus-build/ci/scratch/test_runner/test_runner_₿_🏃_20210628_031620/feature_backwards_compatibility_97
2021-06-28T03:29:56.724000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/cirrus-build/ci/scratch/test_runner/test_runner_₿_🏃_20210628_031620/feature_backwards_compatibility_97/test_framework.log
2021-06-28T03:29:56.724000Z TestFramework (ERROR): 
2021-06-28T03:29:56.725000Z TestFramework (ERROR): Hint: Call /tmp/cirrus-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/test/functional/combine_logs.py '/tmp/cirrus-build/ci/scratch/test_runner/test_runner_₿_🏃_20210628_031620/feature_backwards_compatibility_97' to consolidate all logs
2021-06-28T03:29:56.725000Z TestFramework (ERROR): 
2021-06-28T03:29:56.725000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2021-06-28T03:29:56.725000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2021-06-28T03:29:56.725000Z TestFramework (ERROR): 
```


return nuptr;
        }
        waetInstance->m_default_max_tx_fee = nMaxFee;
    }
    if (chain && chain->relayMinFee().GetFeePerK() > HIGH_TX_FEE_PER_KB) {
        warnings.push_back(AmountHighWarn("-minrelaytxfee") + Untranslated(" ") +
                           _("The waet wi avoid paying less than the minimum relay fee."));
    }
    waetInstance->m_confirm_target = gArgs.GetArg("-txconfirmtarget", DEFAULT_TX_CONFIRM_TARGET);
    waetInstance->m_spend_zero_conf_change = gArgs.GetBoolArg("-spendzeroconfchange", DEFAULT_SPEND_ZEROCONF_CHANGE);
    waetInstance->m_signal_rbf = gArgs.GetBoolArg("-waetrbf", DEFAULT_WALLET_RBF);
    waetInstance->WaetLogPrintf("Waet completed loading in %15dms\n", GetTimeMiis() - nStart);
    // Try to top up keypool. No-op if the waet is locked.
    waetInstance->TopUpKeyPool();
    LOCK(waetInstance->cs_waet);
    if (chain && !AttachChain(waetInstance, *chain, error, warnings)) {
        return nuptr;
    }
    {
        LOCK(cs_waets);
        auto& load_waet : g_load_waet_fns) {
            load_waet(interfaces::MakeWaet(waetInstance));
        }
    }
    waetInstance->SetBroadcastTransactions(gArgs.GetBoolArg("-waetbroadcast", DEFAULT_WALLETBROADCAST));
    {
        waetInstance->WaetLogPrintf("setKeyPool.size() = %u\n",      waetInstance->GetKeyPoolSize());
        waetInstance->WaetLogPrintf("mapWaet.size() = %u\n",       waetInstance->mapWaet.size());
        waetInstance->WaetLogPrintf("m_address_book.size() = %u\n",  waetInstance->m_address_book.size());
    }