Skip to content

Fix restart after alternative feerate remote commit#847

Merged
t-bast merged 1 commit intomasterfrom
alternative-feerate-restart
Jan 6, 2026
Merged

Fix restart after alternative feerate remote commit#847
t-bast merged 1 commit intomasterfrom
alternative-feerate-restart

Conversation

@t-bast
Copy link
Member

@t-bast t-bast commented Jan 6, 2026

When our peer broadcasts a commit tx that uses an alternative feerate, we failed to republish our main transaction because of a useless require() in the corresponding function. We remove this require, since it shouldn't prevent us from claiming our main output.

Note that this can only happen for anchor outputs channels, since we stopped sending signatures for alternative feerates in the latest release.

When our peer broadcasts a commit tx that uses an alternative feerate,
we failed to republish our main transaction because of a useless
`require()` in the corresponding function. We remove this `require`,
since it shouldn't prevent us from claiming our main output.

Note that this can only happen for anchor outputs channels, since we
stopped sending signatures for alternative feerates in the latest
release.
@t-bast t-bast requested a review from pm47 January 6, 2026 16:26
else -> logger.error(t) { "error on command ${cmd::class.simpleName}" }
is ChannelCommand.MessageReceived -> logger.error(t) { "error on message ${cmd.message::class.simpleName}: ${t.message}" }
is ChannelCommand.WatchReceived -> logger.error { "error on watch event ${cmd.watch::class.simpleName}: ${t.message}" }
else -> logger.error(t) { "error on command ${cmd::class.simpleName}: ${t.message}" }
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm re-adding the exception message directly here because it looks like our logger is swallowing the exception, and thus missing useful data during debugging.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You mean in our tests? Or in phoenix app logs?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the Phoenix logs: I'm seeing error on command Restore without details about the exception. The exception is correctly printed in test logs though.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I remember old discussions about logs containing exceptions being too large, which created issues...isn't that why it was explicitly dropped? Maybe @dpad85 or @robbiehanson remembers?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Acking the PR in the meantime as this is a separate issue.

@t-bast t-bast merged commit 0594a30 into master Jan 6, 2026
2 checks passed
@t-bast t-bast deleted the alternative-feerate-restart branch January 6, 2026 17:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants