Quote:
that can't be cause data is greater than memory.
Actually, it can be. It's simply dumb, but not impossible. The kernel will check both limits as you attempt to increase the data segment size. You're guaranteed to bump into the memory limit first is all.
And look at your hard limits....they are unlimited. Your program can call getrlimit() to obtain the hard and soft limits. And it can call setrlimit() to raise the soft limit up to the hard limit.
As I said before, I don't know AIX and I could be wrong about some or all of this. But it would only take a few seconds to toss a setrlimit() into the program to see if I'm right.
But you're right about the memory leak, the best policy is to find it and fix it.