Problem with QPSK receiver

Hi all,

First time posting here, so hello everyone:)

I am trying to build this pair of GNUradio flow graph for QPSK signal
transmitting and receiving over the air through USRP. Now the
transmitter side is straight forward, only a random number generator and
QPSK modulator plus a multiplier. The receiver side is as attached.

The problem is, I can get well separated constellation points after
synchronizations, however the they are not correct. For example, if I
set the transmitter side to modulate and send symbol ‘333333…’, the
symbols after demodulation at receiver side is suppose to be
‘333333…’. instead, I get ‘01320132…’ repeatedly. It seems that my
constellation is constantly rotated with some frequency. I am not using
differential modulation or demodulation, so it is some thing else
rotating my constellation.

My guess is that my synchronization is not good enough, there is a
slight frequency offset which move the phase backward(forward?) from
time to time.

Any comments or suggestion are really appreciated.