The problem of the output value obtained from the BNO086 suddenly changing

Hello everyone,
I’m using the GameRotationVector function from BNO086 to get the quaternion and then find the Euler angles.
The axis of the sensor switches irregularly, causing the Euler angle to change.
Does anyone know of such a phenomenon?
The communication standard is I2C.
The library uses [SparkFun_BNO08x_Arduino_Library-main].
Please take good care of me.

Give more details about what is happening…which axis is switching, and what is it switching to?

Have you performed a calibration?

Thank you for your reply.
This phenomenon occurs by chance when the pitch angle is approximately 70° or more.

[What I did.]
The PVC pipe with the sensor fixed inside is dropped into a larger pipe fixed at a pitch angle of 70° or more.
By pulling the string attached to the PVC pipe, the sensor moves back and forth.
(At this time, it rotates randomly in the roll direction.)
When I pull the sensor out of the pipe, the yaw, pitch, and roll angles switch instantly.
The yaw and roll angles will vary randomly.
The pitch angle may not change or may flip sign.
It doesn’t happen all the time, maybe about 10% of the time.
Calibration only initializes the sensor when power is applied.