Running master 4d661ba:
```
src/bitcoin-cli combinepsbt [""] or src/bitcoin-cli combinepsbt []
```

```
  * frame #0: 0x000000010016054a bitcoind`PartiallySignedTransaction::PartiallySignedTransaction(PartiallySignedTransaction const&) [inlined] boost::optional_detail::optional_base<CMutableTransaction>::is_initialized(this=0x0000000000000000) const at optional.hpp:394 [opt]
    frame #1: 0x000000010016054a bitcoind`PartiallySignedTransaction::PartiallySignedTransaction(PartiallySignedTransaction const&) [inlined] boost::optional_detail::optional_base<CMutableTransaction>::optional_base(this=<unavailable>, rhs=0x0000000000000000) at optional.hpp:196 [opt]
    frame #2: 0x0000000100160542 bitcoind`PartiallySignedTransaction::PartiallySignedTransaction(PartiallySignedTransaction const&) [inlined] boost::optional<CMutableTransaction>::optional(this=0x000070000b9fe7c0, (null)=0x0000000000000000) at optional.hpp:958 [opt]
    frame #3: 0x0000000100160542 bitcoind`PartiallySignedTransaction::PartiallySignedTransaction(PartiallySignedTransaction const&) [inlined] boost::optional<CMutableTransaction>::optional(this=0x000070000b9fe7c0, (null)=0x0000000000000000) at optional.hpp:958 [opt]
    frame #4: 0x0000000100160542 bitcoind`PartiallySignedTransaction::PartiallySignedTransaction(this=0x000070000b9fe7c0, psbt_in=0x0000000000000000) at sign.h:576 [opt]
    frame #5: 0x0000000100142ae5 bitcoind`combinepsbt(JSONRPCRequest const&) [inlined] PartiallySignedTransaction::PartiallySignedTransaction(this=0x000070000b9fe700, psbt_in=<unavailable>) at sign.h:576 [opt]
    frame #6: 0x0000000100142ae0 bitcoind`combinepsbt(request=<unavailable>) at rawtransaction.cpp:1526 [opt]
    frame #7: 0x0000000100170f0a bitcoind`CRPCTable::execute(this=<unavailable>, request=0x000070000b9fead0) const at server.cpp:557 [opt]
```
std::vector<std::vector<unsigned char>> solutions_data;
            txnouttype which_type = Solver(script, solutions_data);
            
            
            if ((which_type == TX_PUBKEY) || (which_type == TX_MULTISIG)) {
                for (const auto& solution : solutions_data) {
                    if ((solution.size() != 1) && !CPubKey(solution).IsCompressed()) {
                        return r;
                    }
                }
            }
            UniValue sr(UniValue::VOBJ);
            CScript segwitScr;
            if (which_type == TX_PUBKEY) {
                segwitScr = GetScriptForDestination(WitnessV0KeyHash(Hash160(solutions_data[0].begin(), solutions_data[0].end())));
            } else if (which_type == TX_PUBKEYHASH) {
                segwitScr = GetScriptForDestination(WitnessV0KeyHash(solutions_data[0]));
            } else {
                
                
                segwitScr = GetScriptForDestination(WitnessV0ScriptHash(script));
            }
            ScriptPubKeyToUniv(segwitScr, sr, true);
            sr.pushKV("p2sh-segwit", EncodeDestination(CScriptID(segwitScr)));
            r.pushKV("segwit", sr);
        }
    }
    return r;
}
static void TxInErrorToJSON(const CTxIn& txin, UniValue& vErrorsRet, const std::string& strMessage)