-   AIX (
-   -   exec() error on AIX 5L (

Manoj Oleti 01-21-2006 02:30 AM

exec() error on AIX 5L
Hi all,
I am Manoj from INDIA.
I've got a problem running a program
(compiled with vacpp compiler 32 bit support on AIX 5L pSeries machine with bmaxdata and bmaxstack set to maximum supported.)

It simply refuses to startup saying

exec(): 0509-036 Cannot load program ./StartFileReceiver_main_SO.out because of the following errors:
0509-026 System error: There is not enough memory available now.

There is no shortage of memory in the server(6GB RAM) and 9GB page space distributed on several paging devices on different volume groups. However there is one "uservg" volume group in which 3GB of paging space is there and only about 30% is being used even though the paging spaces are running to the brink in other vgs.

If any one can help me on this matter i'll very thankful.


iainr 01-23-2006 05:57 AM

You say that you have lots of memory, but if paging space is being heavily used then you don't have enough. It's possible you really need more than 6GB RAM, or perhaps something on the system is using more memory than it should.

I imagine the different in paging space use is that AIX will try to distribute paging space equally between the spaces so if one is bigger, it will be less full.

Looks to me like you do have a real memory problem : there are a number of tools with aix that can help you investigate that further (look for the AIX Performance and Tuning Guide).

Manoj Oleti 01-23-2006 08:30 AM

Thanks Iain for your time. The problem narrowed down to the fact that there is no shortage in RAM or in page space because I tried to run it yesterday when the load is very less on the server(about 1 GB of free RAM and 6 GB of free page space).
However the program is running when it is lazy loaded ( with -blazy option) even when the system is under high loads. May be I need to think in another way.


Mark Taylor 01-23-2006 09:52 AM

this is a maxdata issue ... AIX is working as desinged ..

see the following link for hints on how to circumvent this issue..

Mark Taylor

Manoj Oleti 02-01-2006 02:13 AM

Thanks for the link Mark. It solved the problem.
It's not a maxdata issue but the program is trying to load more than 256 MB of shared memory objects into the global shared segment(segment 13).So it is failing to load.It is running when it is lazy loaded because those shared objects are privately getting loaded into data segments.


crabboy 02-01-2006 11:18 PM

Lazy loaded or not, the shared libraries will still attempt to load into the shared segment. That is, if it is not full and if the library has the read other attibute set. The lazy option was just buying you more time until your MAXDATA limit was reached. Are your shared objects very large? You can always break them down into smaller chunks and put them all in an archive.

BTW: 64-bit solves the crappy 256MB shared segment limit.

All times are GMT -5. The time now is 06:27 AM.