The same thing always happens to me. I could never why a certain program runs perfectly in one as400 and when recompile it in another as400 it starts sending me the same message. This happened to me twice before.
1st time was when I had one RPG pgm that had a DO loop while reading a file, each record read will then call an API one time, then on the second pass when I try to call it again, it shows this error. What I did was to discard the old pgm and rewrite a new one…the new one is working perfectly (which still does not explain why i got the error in the first place…) The OS is v5r1
2nd time was when there was a simple pgm that wrote to a log file, then called another API…it would work fine for the first pass then drop out of the session because the message queue is full. I checked the message queue and it was full of this message “Pointer not set for location referenced”.
Please check this link to see the IBM software technical document.
It says here that:
MCH3601 – Pointer not set for location referenced
Message MCH3601 is received when issuing command PMLINMON without specifying the library. To resolve the problem, use the QMPGLIB/PMLINMON command. ”
I am sure that the actual explanation is not as simple as this. If i can fix my problem tomorrow. I will tell you what actually happened. I think the first address pointer gets corrupted and the pgm cannot rebuild it. I am not an expert so this is my best guess.