fix #30826
fix #15746
fix #29911
fix #2205