So it is proven that the array spray_dist_prg[x,x] has some corrupt data in there, whether this is down to software or hardware, this is still unproven.
What I would do next is:
- Uncomment step 21 and 22 in program buffer_record.
- Leave steps 29, 32, 35, 38 and 46 in program buffer_record commented out.
- Comment step 55 in program fill_buffer.
Attempt a full controller file save and see if this completes.
From what I can see, this should be successful and the only thing missing from the file save would be:
- Program fill_buffer and all relative variables including the suspect spray_dist_prg[x,x] array and elements.
Can you try this?
Also, do you have a full backup prior to this which includes fill_buffer and spray_dist_prg[x,x] locations?