Trouble Writing Partial Mission

I am trying to write a partial mission list to a SITL instance of ArduPlane (3.6beta, I don’t thing the version really matters though) and it does not seem to be asking for all of the items I have told I have to send to it.

I can verify that there is a mission loaded up with 7 waypoints through mavproxy. The output of wp list is:
wp list
MANUAL> Requesting 7 waypoints t=Fri Jun 10 12:52:14 2016 now=Fri Jun 10 12:52:14 2016
16 0 39.0370521545 -104.8451843262 2045.380005 p1=0.0 p2=0.0 p3=0.0 p4=0.0 cur=0 auto=1
22 0 0.0000000000 0.0000000000 2200.000000 p1=15.0 p2=0.0 p3=0.0 p4=0.0 cur=0 auto=1
16 0 39.0334014893 -104.8474502563 2200.000000 p1=0.0 p2=0.0 p3=0.0 p4=0.0 cur=0 auto=1
16 0 39.0354194641 -104.8499679565 2200.000000 p1=0.0 p2=0.0 p3=0.0 p4=0.0 cur=0 auto=1
17 0 39.0403480530 -104.8457489014 2200.000000 p1=0.0 p2=0.0 p3=1.0 p4=0.0 cur=0 auto=1
16 0 39.0348320007 -104.8411788940 2200.000000 p1=0.0 p2=0.0 p3=0.0 p4=0.0 cur=0 auto=1
177 0 0.0000000000 0.0000000000 0.000000 p1=2.0 p2=-1.0 p3=0.0 p4=0.0 cur=0 auto=1
Saved 7 waypoints to way.txt
Saved waypoints to way.txt

So the write partial mission message I send has the start_index equal to 3 and the end_index equal to 4 because I just want to try changing those two items. I can verify the contents of the packet sent with the debugger for my external application that is talking with the SITL instance so I am confident that I am sending the right message, the bytes in the packet are :
[0] 254 byte
[1] 6 byte
[2] 0 byte
[3] 255 byte
[4] 190 byte
[5] 39 byte
[6] 3 byte
[7] 0 byte
[8] 4 byte
[9] 0 byte
[10] 1 byte
[11] 0 byte
[12] 88 byte
[13] 68 byte

Right after I send that message I get a mission request message for my mission item number 3, which is my start index. After I send that I get a mission_ack with the value 0, meaning that it was accepted.

Now here is where my issue is: I don’t get another request for the next item.

During the mission upload process, there is the back and forth of requesting and sending the requested mission item, where at the end there is the mission ack message. Here it seems it is not requesting all of the items I told it I wanted to send it. I’m not sure if I am not using the correct protocol or if this is a bug.

Any suggestions would be appreciated! Thanks!

I can see in the GCS_Common.cpp file that there is the handle_mission_write_partial function, which seems to set the correct start and end indexes to request for.

I can also verify that there is a systemtext message sent after I get the mission ack message that says “Flight plan received”, which I found to be in GCS_Common.cpp if the waypoint requested is greater than or equal to waypoint_request_last (the end index). But it the waypoint index variable that is requested is incremented right before that. Is the end index supposed to be up until and not including that mission item of that index?