Trade stuck, client thinks it funded the transaction but never did

I entered a trade selling BTC as a taker and went through the normal steps (using v0.6.3 on Linux), funding the transaction from my Bisq wallet. Everything seemed normal, no error messages. After the transaction still hadn’t been confirmed a few hours later, I clicked the link to view the deposit transaction in bitaps, and it says “Your search did not match any records” for the transaction ID. So it seems that my client software never published the deposit transaction!

I googled a bit and decided to delete the SPV file (and restart twice). After doing that, most of the funds seem to be back in my bisq wallet (minus the taker fee as far as I can tell, but I’d have to do the math again to be sure).
But I can’t figure out how to fund the transaction.

The “trade information” section in the “Open trades” screen shows an empty white box where the deposit transaction ID should be. (Before deleting the SPV file, there was a transaction ID there, but it was invalid/never published.) The trade details window for this transaction is missing the “deposit transaction ID” field altogether—it’s not empty, it’s just not there: The bottom few rows are Maker transaction ID, Taker transaction ID, and Contract in JSON format. For other transactions, I see the Deposit transaction ID as one of the bottom rows.

I tried hitting Ctrl+O to file a support ticket, but that feature doesn’t work when there is no deposit transaction ID. (It has an error message specific to that case and wants me to choose a deposit transaction ID from the list of trades, but since this trade has no deposit transaction ID, it’s not on the list.)

I have 16 more hours to fund this trade. How do I do that? I can send the BTC from elsewhere if that’s easier, but I don’t know where to send them to. Or should I just give up on this transaction? If so, how do I get the taker fee back?

Ah, I see in the logs:
Jan-14 12:09:50.420 [JavaFX Application Thread] WARN i.b.c.b.w.Broadcaster: Broadcast of tx <txid> not completed after 8 sec. We optimistically assume that the tx broadcast succeeded and call onSuccess on the callback handler.

That explains the behavior of the client (and the transaction ID matches what I had seen before). The immediately preceding logs show the depositTx (details omitted for privacy):

depositTx:
  <xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
     in   PUSHDATA(72)[<xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>] PUSHDATA(33)[<xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>] x.xx BTC (xxxxxxx)
          outpoint:<xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>:1 hash160:<xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
     in   PUSHDATA(72)[<xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>] PUSHDATA(33)[<xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>] x.xxxxxxx BTC (xxxxxxxx)
          outpoint:<xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>:1 hash160:<xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
     out  HASH160 PUSHDATA(20)[<xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>] EQUAL x.xxxxxxx BTC (xxxxxxxx) ScriptPubKey: <xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> Address:<xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> 
     out  RETURN PUSHDATA(32)[<xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>] x.xx BTC (x) ScriptPubKey: <xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> Address:[exception: Cannot cast this script to a pay-to-address type]
     fee  x.xxxxxxx BTC for 381 bytes (xxx Satoshi/Byte)
     prps UNKNOWN

Is the [exception: Cannot cast this script to a pay-to-address type] normal?

What should I do? Can I somehow re-issue that transaction? It looks more complicated than just sending some BTC to an address, so I’m not sure how to do it. Can I reset my client so that it goes back into a state where it can fund the transaction again? If there is no way to proceed with the transaction, can I get the taker fee back?

What does the situation look like from the maker’s perspective—is the transaction also stuck from their end? Is their deposit and maker fee stuck?

Thanks, @otto. This is a known issue in v0.6.1 that we’re tracking right now at https://github.com/bisq-network/exchange/issues/1193, and should have a fix for very soon. In the meantime, please hit CMD+O in Bisq to open a dispute, i.e. send this trade to arbitration. @keo or I will handle it from there. If you could just quickly reply with your trade ID here that would also be helpful. Thanks.

Ah, thank you. Two clarifications: I’m on v0.6.3, not v0.6.1; and CMD+O only works if the transaction has a deposit tx id, and this one doesn’t. So I can’t send it to arbitration, I’ll PM you the details instead. Thanks again.

Just to be clear, I am treating this case as closed. Thanks.