Today, one of my folks met a very weird problem and finally he asked me for help. The issue was, when running command "ldd CDNap" on a Solaris 9 server(AP11), following error would show up:
AP11: ldd CDNap
ldd: CDNap: execution failed due to signal 9
However, when running this command on another Solaris 9 server(ap15), it worked well.
According to Weird exec failure, "My bet is that the program has a rather large BSS segment, and there isn't enough swap to reserve the space. (ldd(1) works by setting up some environment variables, then running the program itself, which is why it would fail)". To verify this, you can run
/usr/ccs/bin/size /path/to/program
To check the free space of swap, you can
swap -s
After comparing the swap space and memory of the two Solaris servers, I noticed that the server(AP11) bearing this issue has smaller memory(1GB) and swap space(only 75008k available).
AP11: swap -l swapfile dev swaplo blocks free /dev/dsk/c0t2d0s1 136,1 16 4198304 4198304 AP11: swap -s total: 513384k bytes allocated + 2296288k reserved = 2809672k used, 75008k available AP11: uname -a SunOS coolap22n 5.9 Generic_122300-61 sun4u sparc SUNW,UltraAX-i2 AP11: prtconf|grep Memory Memory size: 1024 Megabytes
Server(ap15) without ldd issue has 2GB memory and larger swap(4966160k available).
ap15:root > swap -s total: 372136k bytes allocated + 522864k reserved = 895000k used, 4966160k available ap15:root > df -k swap Filesystem kbytes used avail capacity Mounted on swap 1793064960 1589658648 203406312 89% /tmp ap15:root > swap -l swapfile dev swaplo blocks free /dev/dsk/c0t2d0s1 136,1 16 8392544 8392544 ap15:root > uname -a SunOS coolap10n 5.9 Generic_122300-61 sun4u sparc SUNW,UltraAX-i2
It seems it's time for such old Solaris servers to retire.