REPLACE... SELECT is unsafe because the order in which rows are retrieved by the SELECT determines which (if any) rows are replaced. This order cannot be predicted and may differ on master and the slave
This page shows information specific to MariaDB SkySQL. Information for non-SkySQL use can be found on the ER_BINLOG_UNSAFE_REPLACE_SELECT page in the MariaDB Enterprise Documentation.