MQTT retainer terminates with vhost names that can't be converted to UTF-8
michaelklishin opened this issue · comments
Michael Klishin commented
Retainer processes convert vhost names to atoms to calculate supervisor child names. This currently relies on vhost name binaries being safe to convert to UTF-8 which is not always the case (think of a vhost name in Mandarin, Hindi or Russian).
We can safely convert the binaries to latin1
, which means no conversion, and it would still be good enough: those names aren't supposed to be human-readable.
Michael Klishin commented
I will branch off of master because it's easier to reproduce this in master (or at least our new logging subsystem makes it easier to spot), then cherry-pick to stable
.