Once RTL is initiated the plane starts to dive

I have a problem : "once RTL is initiated ,the plane reduce throttle, and starts to dive for 1~2 second ,and gained altitude again after turn done"
The alt_rtl is 100M and the alt when engaged rtl is 50M
Have anyone sloved this diving issue ?
Setup:
APM 2.52 FW 3.3 without airspeed senser 1900 skywalker

the most likely reason is it was trying to gain airspeed. Do you have an airspeed sensor installed? Do you have logs?

My aircraft dont have an airspeed senser!

It is strange that the aircraft seems don’t dive when I switch to RTL second time in one flight!

Next time I will put the log online!

Did you have ARSPD_FBW_MIN set and were you above it?
But more generally see also these bugs:
github.com/diydrones/ardupilot/issues/3582
Plane: Do not pitch down below horizon level to gain airspeed in auto modes unless descending or airspeed < FBW_ARSPD_MIN + X%

github.com/diydrones/ardupilot/issues/3357
AP 3.4: TECS target speed should never cause pitch down after ARSPD_FBW_MIN has been reached

There is at least one bug where ardupilot decides to pitch down to gain airspeed that isn’t necessary to flight, when in fact it’s actually supposed to climb and regain altitude.
@tridge looked at my logs, but didn’t really pin the bug down yet, so I’m assuming the bug is still present.