Unparseable onion replies are currently not reported to gossipd. This means if we get an unparseable onion reply from routing failure, we do not update the gossipd routemap and would get the same route again.
One simple solution would be to simply randomly select one of the nodes on the route and deactivate its channels (or if that seems too harsh, just one of the channels on the route). This will at least make gossipd return a different route afterwards, at least guaranteeing some sort of forward progress. If we guessed wrong,there is the chance the same unparseable node gets selected again, but at least we can get to try some other route.
xref. #638 (comment)
Unparseable onion replies are currently not reported to gossipd. This means if we get an unparseable onion reply from routing failure, we do not update the gossipd routemap and would get the same route again.
One simple solution would be to simply randomly select one of the nodes on the route and deactivate its channels (or if that seems too harsh, just one of the channels on the route). This will at least make gossipd return a different route afterwards, at least guaranteeing some sort of forward progress. If we guessed wrong,there is the chance the same unparseable node gets selected again, but at least we can get to try some other route.
xref. #638 (comment)