Umbrel Pending Opening Channel schließt nicht nach restore trotz forceclose

Liebe Community,

Ich hoffe euch allen geht’s gut, Ihr stackt fleißig sats und genießt den Sommer.

Ein Problem, dass mich seit (vielen) Monaten quält, bekomme ich schlichtweg nicht gelöst und benötige Hilfe beim denken, bevor ich die Node anschließend komplett neu aufsetzen kann.
Ein pending channel möchte nicht schließen.

Was ich bisher gemacht habe?

  1. versucht einen Channel zu einer Fulmo Node zu eröffnen, bei der ich wahrscheinlich damals die fee zu gering gesetzt habe (aus Dummheit).
  2. Gewartet.
  3. Den Channel versucht manuell zu schließen.
  4. Gewartet (ein paar Wochen)
  5. Die Node neu aufgesetzt und aus Channelbackup wiederhergestellt (laut der bisherigen Recherche war das ein fataler Fehler).
  6. Darauf gewartet dass alle Channel closen, wieder blieb der eine channel übrig.
  7. Einen forceclose probiert.
  8. Mehrere Monate gewartet, weil ich nicht weiter wusste.
  9. Chantools installiert und einen erfolglosen triggerforceclose versucht.

Hat jemand mehr Erfahrung mit chantools? Ist das überhaupt der richtige Ansatz?

Vielen Dank fürs lesen bis hierhin.
Grüße
Chris

Folgend der ausschnitt aus den lncli pendingchannels
{
„total_limbo_balance“: „0“,
„pending_open_channels“: [
],
„pending_closing_channels“: [
],
„pending_force_closing_channels“: [
],
„waiting_close_channels“: [
{
„channel“: {
„remote_node_pub“: „024a8228d764091fce2ed67e1a7404f83e38ea3c7cb42030a2789e73cf3b341365“,
„channel_point“: „6907cd396a9c38f0e1f8fd1c52f07943a23c6c458096c644554583964fc558f9:0“,
„capacity“: „500000“,
„local_balance“: „0“,
„remote_balance“: „0“,
„local_chan_reserve_sat“: „0“,
„remote_chan_reserve_sat“: „0“,
„initiator“: „INITIATOR_LOCAL“,
„commitment_type“: „STATIC_REMOTE_KEY“,
„num_forwarding_packages“: „0“,
„chan_status_flags“: „ChanStatusRestored“
},
„limbo_balance“: „0“,
„commitments“: {
„local_txid“: „“,
„remote_txid“: „“,
„remote_pending_txid“: „“,
„local_commit_fee_sat“: „0“,
„remote_commit_fee_sat“: „0“,
„remote_pending_commit_fee_sat“: „0“
},
„closing_txid“: „“
}
]
}

Hier der letzte Abschnitt aus dem triggerforceclose per chantools

2024-07-26 09:28:35.605 [DBG] PEER: Peer(024a8228d764091fce2ed67e1a7404f83e38ea3c7cb42030a2789e73cf3b341365): Sending Ping(ping_bytes=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) to 024a8228d764091fce2ed67e1a7404f83e38ea3c7cb42030a2789e73cf3b341365@84.16.229.1:9735
2024-07-26 09:28:41.066 [INF] CHAN: No spends found yet, waiting 5 seconds…
2024-07-26 09:28:46.092 [INF] CHAN: No spends found yet, waiting 5 seconds…
2024-07-26 09:28:51.998 [INF] CHAN: No spends found yet, waiting 5 seconds…
2024-07-26 09:28:57.036 [INF] CHAN: No spends found yet, waiting 5 seconds…
2024-07-26 09:29:09.973 [INF] CHAN: No spends found yet, waiting 5 seconds…
2024-07-26 09:29:17.869 [INF] CHAN: No spends found yet, waiting 5 seconds…
2024-07-26 09:29:29.247 [INF] CHAN: No spends found yet, waiting 5 seconds…
2024-07-26 09:29:35.604 [DBG] PEER: Peer(024a8228d764091fce2ed67e1a7404f83e38ea3c7cb42030a2789e73cf3b341365): Sending Ping(ping_bytes=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) to 024a8228d764091fce2ed67e1a7404f83e38ea3c7cb42030a2789e73cf3b341365@84.16.229.1:9735
2024-07-26 09:29:35.605 [INF] PEER: Peer(024a8228d764091fce2ed67e1a7404f83e38ea3c7cb42030a2789e73cf3b341365): disconnecting 024a8228d764091fce2ed67e1a7404f83e38ea3c7cb42030a2789e73cf3b341365@84.16.229.1:9735, reason: unable to wrage: write tcp 192.168.178.165:36570->84.16.229.1:9735: write: broken pipe

2024-07-26 09:58:06.057 [INF] CHAN: No spends found yet, waiting 5 seconds…
Error: error getting spends: error decoding data from API ‚https://blockstream.info/api/address/bc1qd7x6nd837l6qyu7er477tqp4fdhvkygysnwhl0kff60kfqjrm80sdk2mx0/txs‘, server might be experiencing temporary issues, try again later; tails: invalid character ‚<‘ looking for beginning of value

Prüf mal, ob die ursprüngliche TX noch im Mempool gelistet ist, oder verworfen wurde. Solange die TX im Mempool gelistet ist, hast du die Chance durch ein Fee-Upgrade den Channel tatsächlich herzustellen, und wenn du dann willst, selbigen dann ganz normal zu schließen. - Forceclose kann nur einen tatsächlich erstellten Channel schließen.

Sollte die TX wegen zu geringer fee sowieso verworfen wurde und nicht mehr im mempool ist, dann ist es „Datenmüll“ auf deinem node. Ob und wie du die sats aus der „verstümmelten“ TX wieder frei kriegst, kann ich aus dem Stegreif nicht sagen … dieses Problem hatte ich noch nie

Hi @petzi
Vielen Dank für die schnelle Antwort.
Im Mempool scheint die Transaktion zu existieren:

gab’s dann gar kein problem beim eröffnen damals sondern nur beim schließen?

puh, dass geht über meinen technischen Horizont

Bestätigungen hast du auf alle Fälle mehr als genug …

sorry, aber das Problem hatte ich noch nie, und kann dir dazu momentan nicht mehr sagen

@Mods
@Technik-Nerds
Könnt ihr ihm weiterhelfen?

Könnte mir vorstellen, dass die Kommunikation zwischen deinem und dem anderen Node „klemmt“ … aber wie gesagt, ich hatte das Problem noch nie

Ist der andere node überhaupt noch online?
Viele private „Experimentier-Nodes“ verschwinden nach kurzer Zeit unangekündigt, aber selbst in diesen Fällen, hat mir ein Forceclose die Sats wieder freigespült (abzüglich Fee)

Trotzdem schon einmal vielen Dank fürs Mitdenken :slight_smile:

Ja, die andere Node ist definitiv noch online. Es handelt sich um die Node01 von Fulmo: node01.fulmo.org (024a8228d764091fce2ed67e1a7404f83e38ea3c7cb42030a2789e73cf3b341365)

Ich meine ich habe irgendwo gelesen, dass es ab und zu zwischen Umbrel und Raspiblitz Probleme gibt, wobei beide ja eigentlich auf LND basieren. Das ist absolut gefährliches Halbwissen…

1 „Gefällt mir“

Hast du die Node wiederhergestellt mit demselben Seed (+ evtl. Passphrase)?

Auffällig ist, dass mempool.space den Channel Point nicht als Channel erkennt. Leider kann aus der Historie etliches schief gelaufen sein.

Ich vermute jetzt mal, dass der Channel nie beidseitig zustande kam, da du erwähnst, dass der Channel mit zu geringer Fee angesetzt wurde. Nach 2 Wochen Frist verwirft der Channelpartner die Öffnung. Oder kannst du den Channel zwischen deiner Node und Fulmo auf mempool.space finden? Die Logs zeigen weder Alias noch Pubkey deiner Node.

Dann wurde versucht, kooperativ zu schließen, was nicht funktionierte, weil vermutllich die Fulmo-Node gar kein Wissen über den Channel besaß.

Nach Neuaufsetzen wurde auch SCB versucht, was wiederum fehlschlug, da kein Channel bekannt seitens Fulmo-Node (siehe oben).

Interessant ist jetzt: Warum klappte der lokale Force Close nicht? Hast du eine Fehlermeldung dazu aus dem LND Log (zumeist zu finden unter /home/umbrel/umbrel/app-data/lightning/data/lnd/logs/bitcoin/mainnet/lnd.log) ?

1 „Gefällt mir“

Hi @utxo,
vielen Dank für die schnelle Antwort und sorry für meine späte

Exakt

Kann ich leider nicht
Pub key: 0390762b178a3931dcbbc7b46c32adcd3ed49c6aec1714ef5ce06576ce1766558c

Ja. Bei Fulmo hab ich deswegen auch schon angefragt, aber die konnten nichts finden.

Anscheinend habe ich keine Zugriffsrechte dazu, benötige ich ein anderes Benutzerlevel?
-bash: /home/umbrel/umbrel/app-data/lightning/data/lnd/logs/bitcoin/mainnet/lnd.log: Permission denied

Grüße
Chris

Ja, versuche es mit sudo.

1 „Gefällt mir“

Sorry for not speaking german. I rather respond english then messing up with translator… Your channel was invalid as it confirmed over 1 month after opening was initiated. (over 2016 blocks limit). It could only be force closed locally. But if you restored on the same data drive, original channel.db with your commit tx was erased. Triggerforceclose of course can’t work since the channel was invalid and the state existed only locally on your machine. The other side doesn’t have any commit tx to publish… Unless you’ve done SCB with new disk (and still have the old one) or unless you’ve made copy of lnd dir before SCB, the only possible way how to recover funds is chantools zombierecovery. chantools/doc/zombierecovery.md at master · lightninglabs/chantools · GitHub

Fortunately your peer should be reachable, but in my experience making the other side cooperate is often surprisingly difficult. Since I’ve been helping people with these recoveries, I’ve seen how strange people can be for leaving perfectly recoverable sats burned due to… lazyness I guess? Really makes you think about prevention. Anyways, good luck. Id you need help, lmk.

1 „Gefällt mir“

Sorry for my very late answer, just back from business trip and am able to spend some time during the following days. Always a bit difficult to find some time, hope you understand.

@utxo über den sudo command wird spuckt er mir immer aus, dass er den command nicht findet, denke ich mache etwas falsch. Aber vielleicht habe ich auch damals etwas falsch gemacht oder den forceclose doch erst nach dem recovery probiert… Das wären die einzigen Optionen, die ich mir vorstellen könnte.

@babikpatient6 thanks a lot for explaining. I did not use a new disk, so I guess I need to do via zombierecovery.
To be honest that’s a bit high for my current state of knowledge.
At the moment I try to understand how to create the .json file on my node :sweat_smile:

Anyway, keep you updated about my progress.
Thanks again!
Chris

You don’t have to use chantools on your node. If you have for example windows PC laying around, you will probably find it much easier to use… Just download (Release v0.13.1 · lightninglabs/chantools · GitHub) correct build for your system, extract it, open command prompt and navigate it into the unzipped folder where chantools is located at… Now you can run chantools commands…
In the same chantools folder you can create text file, name it „match.json“, open it in notepad and paste / save following… (If something else unlear, lmk)

{
„node1“: {
„identity_pubkey“: „024a8228d764091fce2ed67e1a7404f83e38ea3c7cb42030a2789e73cf3b341365“,
„contact“: „node01.fulmo.org
},
„node2“: {
„identity_pubkey“: „0390762b178a3931dcbbc7b46c32adcd3ed49c6aec1714ef5ce06576ce1766558c“,
„contact“: „BT Chris“
},
„channels“: [
{
„short_channel_id“: „“,
„chan_point“: „6907cd396a9c38f0e1f8fd1c52f07943a23c6c458096c644554583964fc558f9:0“,
„address“: „bc1qd7x6nd837l6qyu7er477tqp4fdhvkygysnwhl0kff60kfqjrm80sdk2mx0“,
„capacity“: 500000
}
]
}

EDIT: For some reason this forum is fucking up proper syntax, copy it from there instead https://sharetext.me/34gnzkmct6