FIFO overflow when uploading code

I am quite new to this and I have a code which will run an MPU 6050 and a BMP 180 at the same time and display the data on an LCD display and on the serial monitor. However when I do run the code on an Arduino Uno, correct values from the BMP get displayed but the MPU data for the gyroscope gets messed up and just says FIFO overflow! If anyone could help me it would be greatly appreciated.

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 7);
#include "I2Cdev.h"
#include "MPU6050_6Axis_MotionApps20.h"
#include <Adafruit_BMP085.h>
Adafruit_BMP085 bmp;
#if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE
    #include "Wire.h"
#endif
MPU6050 mpu;
#define OUTPUT_READABLE_YAWPITCHROLL
#define INTERRUPT_PIN 2  
#define LED_PIN 13
bool blinkState = false;
bool dmpReady = false;  
uint8_t mpuIntStatus;  
uint8_t devStatus;      
uint16_t packetSize;   
uint16_t fifoCount;    
uint8_t fifoBuffer[64]; 
Quaternion q;           
VectorInt16 aa;        
VectorInt16 aaReal;    
VectorInt16 aaWorld;    
VectorFloat gravity;    
float euler[3];        
float ypr[3];          
uint8_t teapotPacket[14] = { '

, 0x02, 0,0, 0,0, 0,0, 0,0, 0x00, 0x00, ‘\r’, ‘\n’ };
volatile bool mpuInterrupt = false;   
void dmpDataReady() {
    mpuInterrupt = true;

}

void setup() {

lcd.begin(16,2);
  Serial.begin(115200);
  if (!bmp.begin())
  {
  Serial.println(“BMP180 sensor not found”);
  while (1) {}
  }
#if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE
        Wire.begin();
        Wire.setClock(400000);
    #elif I2CDEV_IMPLEMENTATION == I2CDEV_BUILTIN_FASTWIRE
        Fastwire::setup(400, true);
    #endif
    while (!Serial);
    Serial.println(F(“Initializing I2C devices…”));
    mpu.initialize();
    pinMode(INTERRUPT_PIN, INPUT);
    Serial.println(F(“Testing device connections…”));
    Serial.println(mpu.testConnection() ? F(“MPU6050 connection successful”) : F(“MPU6050 connection failed”));
    Serial.println(F("\nSend any character to begin DMP programming and demo: "));
    while (Serial.available() && Serial.read());
    while (!Serial.available());               
    while (Serial.available() && Serial.read());
    Serial.println(F(“Initializing DMP…”));
    devStatus = mpu.dmpInitialize();
    mpu.setXGyroOffset(50);
    mpu.setYGyroOffset(-18);
    mpu.setZGyroOffset(22);
    if (devStatus == 0) {
        Serial.println(F(“Enabling DMP…”));
        mpu.setDMPEnabled(true);
    Serial.println(F(“Enabling interrupt detection (Arduino external interrupt 0)…”));
        attachInterrupt(digitalPinToInterrupt(INTERRUPT_PIN), dmpDataReady, RISING);
        mpuIntStatus = mpu.getIntStatus();
    Serial.println(F(“DMP ready! Waiting for first interrupt…”));
        dmpReady = true;
    packetSize = mpu.dmpGetFIFOPacketSize();
    } else {
        Serial.print(F(“DMP Initialization failed (code “));
        Serial.print(devStatus);
        Serial.println(F(”)”));
    }
    pinMode(LED_PIN, OUTPUT);
}

void loop() {

Serial.println();
    if (!dmpReady) return;
    while (!mpuInterrupt && fifoCount < packetSize) {
    }
    mpuInterrupt = false;
    mpuIntStatus = mpu.getIntStatus();
    fifoCount = mpu.getFIFOCount();
  if ((mpuIntStatus & 0x10) || fifoCount == 1024) {
      mpu.resetFIFO();
      Serial.println(F(“FIFO overflow!”));
  } else if (mpuIntStatus & 0x02)
   
        while (fifoCount < packetSize) fifoCount = mpu.getFIFOCount();
        mpu.getFIFOBytes(fifoBuffer, packetSize);
        mpu.resetFIFO();
        #ifdef OUTPUT_READABLE_YAWPITCHROLL
            mpu.dmpGetQuaternion(&q, fifoBuffer);
            mpu.dmpGetGravity(&gravity, &q);
            mpu.dmpGetYawPitchRoll(ypr, &q, &gravity);
            Serial.print(“ypr\t”);
            Serial.print(ypr[0] * 180/M_PI);
            Serial.print("\t");
            Serial.print(ypr[1] * 180/M_PI);
            Serial.print("\t");
            Serial.println(ypr[2] * 180/M_PI);
           
        #endif
    Serial.print(“Temperature = “);
    Serial.print(bmp.readTemperature());
    Serial.println(” *C”);

Serial.print("Altitude = ");
    Serial.print(bmp.readAltitude());
    Serial.println(“M”);
   
    Serial.print("Pressure = ");
    Serial.print(bmp.readPressure());
    Serial.println(“Pa”);

lcd.setCursor(1,0);
    lcd.print(bmp.readTemperature());
    lcd.print("C    ");

lcd.setCursor(8,0);
    lcd.print(bmp.readAltitude());
    lcd.print("M    ");
   
    lcd.setCursor(0,1);
    lcd.print(bmp.readPressure());
    lcd.print("Pa    ");
    delay(1000);
    lcd.setCursor(0,0);
    lcd.print(ypr[0] * 180/M_PI);
    lcd.setCursor(9,0);
    lcd.print(ypr[1] * 180/M_PI);
    lcd.setCursor(0,1);
    lcd.print(ypr[2] * 180/M_PI);
    delay(1000);
}

FIFO overflow implies that you've configured the gyro to use the FIFO functionality, but you're reading data out slower than you're taking that data.

You seem to be confused about where the problem lies - when uploading would imply that you can't get the sketch onto the Arduino (ie, you get an error from the IDE when you try to upload). You're successfully uploading, but your sketch doesn't work.

Thank you for responding, yes that does seem to be the problem and by any chance would you happen to know how to get the reading speed at the same speed as the data given?