Program: 94914
Project: 94914
Buggy source:
public void receiveData(MAVLinkMessage msg){
  if (drone.getParameters().processMessage(msg)) {
    return;
  }
  drone.getWaypointManager().processMessage(msg);
  drone.getCalibrationSetup().processMessage(msg);
switch (msg.msgid) {
case msg_attitude.MAVLINK_MSG_ID_ATTITUDE:
    msg_attitude m_att=(msg_attitude)msg;
  drone.getOrientation().setRollPitchYaw(m_att.roll * 180.0 / Math.PI,m_att.pitch * 180.0 / Math.PI,m_att.yaw * 180.0 / Math.PI);
break;
case msg_vfr_hud.MAVLINK_MSG_ID_VFR_HUD:
msg_vfr_hud m_hud=(msg_vfr_hud)msg;
drone.setAltitudeGroundAndAirSpeeds(m_hud.alt,m_hud.groundspeed,m_hud.airspeed,m_hud.climb);
break;
case msg_mission_current.MAVLINK_MSG_ID_MISSION_CURRENT:
drone.getMissionStats().setWpno(((msg_mission_current)msg).seq);
break;
case msg_nav_controller_output.MAVLINK_MSG_ID_NAV_CONTROLLER_OUTPUT:
msg_nav_controller_output m_nav=(msg_nav_controller_output)msg;
drone.setDisttowpAndSpeedAltErrors(m_nav.wp_dist,m_nav.alt_error,m_nav.aspd_error);
drone.getNavigation().setNavPitchRollYaw(m_nav.nav_pitch,m_nav.nav_roll,m_nav.nav_bearing);
break;
case msg_raw_imu.MAVLINK_MSG_ID_RAW_IMU:
msg_raw_imu msg_imu=(msg_raw_imu)msg;
drone.getMagnetometer().newData(msg_imu);
break;
case msg_heartbeat.MAVLINK_MSG_ID_HEARTBEAT:
msg_heartbeat msg_heart=(msg_heartbeat)msg;
drone.setType(msg_heart.type);
drone.getState().setIsFlying(((msg_heartbeat)msg).system_status == MAV_STATE.MAV_STATE_ACTIVE);
processState(msg_heart);
ApmModes newMode=ApmModes.getMode(msg_heart.custom_mode,drone.getType());
drone.getState().setMode(newMode);
drone.onHeartbeat(msg_heart);
break;
case msg_global_position_int.MAVLINK_MSG_ID_GLOBAL_POSITION_INT:
drone.getGps().setPosition(new Coord2D(((msg_global_position_int)msg).lat / 1E7,((msg_global_position_int)msg).lon / 1E7));
break;
case msg_sys_status.MAVLINK_MSG_ID_SYS_STATUS:
msg_sys_status m_sys=(msg_sys_status)msg;
drone.getBattery().setBatteryState(m_sys.voltage_battery / 1000.0,m_sys.battery_remaining,m_sys.current_battery / 100.0);
break;
case msg_radio.MAVLINK_MSG_ID_RADIO:
msg_radio m_radio=(msg_radio)msg;
drone.getRadio().setRadioState(m_radio.rxerrors,m_radio.fixed,m_radio.rssi,m_radio.remrssi,m_radio.txbuf,m_radio.noise,m_radio.remnoise);
break;
case msg_gps_raw_int.MAVLINK_MSG_ID_GPS_RAW_INT:
drone.getGps().setGpsState(((msg_gps_raw_int)msg).fix_type,((msg_gps_raw_int)msg).satellites_visible,((msg_gps_raw_int)msg).eph);
break;
case msg_rc_channels_raw.MAVLINK_MSG_ID_RC_CHANNELS_RAW:
drone.getRC().setRcInputValues((msg_rc_channels_raw)msg);
break;
case msg_servo_output_raw.MAVLINK_MSG_ID_SERVO_OUTPUT_RAW:
drone.getRC().setRcOutputValues((msg_servo_output_raw)msg);
break;
case msg_statustext.MAVLINK_MSG_ID_STATUSTEXT:
msg_statustext msg_statustext=(msg_statustext)msg;
String message=msg_statustext.getText();
if (msg_statustext.severity == SEVERITY_HIGH || msg_statustext.severity == SEVERITY_CRITICAL) {
drone.getState().setWarning(message);
break;
}
 else if (message.equals("String_Node_Str")) {
drone.getState().setWarning(message);
break;
}
 else if (message.contains("String_Node_Str")) {
drone.setFirmwareVersion(message);
break;
}
break;
case msg_camera_feedback.MAVLINK_MSG_ID_CAMERA_FEEDBACK:
drone.getCamera().newImageLocation((msg_camera_feedback)msg);
break;
case msg_mount_status.MAVLINK_MSG_ID_MOUNT_STATUS:
drone.getCamera().updateMountOrientation(((msg_mount_status)msg));
break;
default :
break;
}
}

Fixed version (ground truth):
public void receiveData(MAVLinkMessage msg){
  if (drone.getParameters().processMessage(msg)) {
    return;
  }
  drone.getWaypointManager().processMessage(msg);
  drone.getCalibrationSetup().processMessage(msg);
switch (msg.msgid) {
case msg_attitude.MAVLINK_MSG_ID_ATTITUDE:
    msg_attitude m_att=(msg_attitude)msg;
  drone.getOrientation().setRollPitchYaw(m_att.roll * 180.0 / Math.PI,m_att.pitch * 180.0 / Math.PI,m_att.yaw * 180.0 / Math.PI);
break;
case msg_vfr_hud.MAVLINK_MSG_ID_VFR_HUD:
msg_vfr_hud m_hud=(msg_vfr_hud)msg;
drone.setAltitudeGroundAndAirSpeeds(m_hud.alt,m_hud.groundspeed,m_hud.airspeed,m_hud.climb);
break;
case msg_mission_current.MAVLINK_MSG_ID_MISSION_CURRENT:
drone.getMissionStats().setWpno(((msg_mission_current)msg).seq);
break;
case msg_nav_controller_output.MAVLINK_MSG_ID_NAV_CONTROLLER_OUTPUT:
msg_nav_controller_output m_nav=(msg_nav_controller_output)msg;
drone.setDisttowpAndSpeedAltErrors(m_nav.wp_dist,m_nav.alt_error,m_nav.aspd_error);
drone.getNavigation().setNavPitchRollYaw(m_nav.nav_pitch,m_nav.nav_roll,m_nav.nav_bearing);
break;
case msg_raw_imu.MAVLINK_MSG_ID_RAW_IMU:
msg_raw_imu msg_imu=(msg_raw_imu)msg;
drone.getMagnetometer().newData(msg_imu);
break;
case msg_heartbeat.MAVLINK_MSG_ID_HEARTBEAT:
msg_heartbeat msg_heart=(msg_heartbeat)msg;
drone.setType(msg_heart.type);
checkIfFlying(msg_heart);
processState(msg_heart);
ApmModes newMode=ApmModes.getMode(msg_heart.custom_mode,drone.getType());
drone.getState().setMode(newMode);
drone.onHeartbeat(msg_heart);
break;
case msg_global_position_int.MAVLINK_MSG_ID_GLOBAL_POSITION_INT:
drone.getGps().setPosition(new Coord2D(((msg_global_position_int)msg).lat / 1E7,((msg_global_position_int)msg).lon / 1E7));
break;
case msg_sys_status.MAVLINK_MSG_ID_SYS_STATUS:
msg_sys_status m_sys=(msg_sys_status)msg;
drone.getBattery().setBatteryState(m_sys.voltage_battery / 1000.0,m_sys.battery_remaining,m_sys.current_battery / 100.0);
break;
case msg_radio.MAVLINK_MSG_ID_RADIO:
msg_radio m_radio=(msg_radio)msg;
drone.getRadio().setRadioState(m_radio.rxerrors,m_radio.fixed,m_radio.rssi,m_radio.remrssi,m_radio.txbuf,m_radio.noise,m_radio.remnoise);
break;
case msg_gps_raw_int.MAVLINK_MSG_ID_GPS_RAW_INT:
drone.getGps().setGpsState(((msg_gps_raw_int)msg).fix_type,((msg_gps_raw_int)msg).satellites_visible,((msg_gps_raw_int)msg).eph);
break;
case msg_rc_channels_raw.MAVLINK_MSG_ID_RC_CHANNELS_RAW:
drone.getRC().setRcInputValues((msg_rc_channels_raw)msg);
break;
case msg_servo_output_raw.MAVLINK_MSG_ID_SERVO_OUTPUT_RAW:
drone.getRC().setRcOutputValues((msg_servo_output_raw)msg);
break;
case msg_statustext.MAVLINK_MSG_ID_STATUSTEXT:
msg_statustext msg_statustext=(msg_statustext)msg;
String message=msg_statustext.getText();
if (msg_statustext.severity == SEVERITY_HIGH || msg_statustext.severity == SEVERITY_CRITICAL) {
drone.getState().setWarning(message);
break;
}
 else if (message.equals("String_Node_Str")) {
drone.getState().setWarning(message);
break;
}
 else if (message.contains("String_Node_Str")) {
drone.setFirmwareVersion(message);
break;
}
break;
case msg_camera_feedback.MAVLINK_MSG_ID_CAMERA_FEEDBACK:
drone.getCamera().newImageLocation((msg_camera_feedback)msg);
break;
case msg_mount_status.MAVLINK_MSG_ID_MOUNT_STATUS:
drone.getCamera().updateMountOrientation(((msg_mount_status)msg));
break;
default :
break;
}
}