1821583 Members
3540 Online
109633 Solutions
New Discussion юеВ

Re: Problem with shell

 
SOLVED
Go to solution
Satish Y
Trusted Contributor

Problem with shell

Hi Experts,

From last few days we are facing strange problems in our systems(HP-UX 10.20, model 9000/899/k570). When we try to login to the systems unable to login, error,

Cannot exec shell /usr/bin/sh

and also some times unable to execute some cmds (e.g. Service Guard cmds) and found error in syslog,

execv /usr/lbin/cmclconfd: Bad address

They r working fine when copy and restore the same files. Tried reboot also after copy/restore the same, but problem appears again after few days.

Whether anyone has faced similar probs?.. Any possible fix will be greatly appreciated.

Cheers...
Satish.
Difference between good and the best is only a little effort
3 REPLIES 3
eran maor
Honored Contributor
Solution

Re: Problem with shell

Hi satish

from what i can see in our docs this problem accour only on 10.20 system it is the way the system call behave .

here is the explen on this issue :

Under what circstamces does an execve() call return an EFAULT on 10.20?
RESOLUTION
1. If the arguments, environment or filename are inaccessible to the
process calling execve() EFAULT is returned. That is, the kernel uses
the PA-RISC PROBER and PROBERI instructions in conjunction with the
page fault software (in the event of a swapped out page) to determine
whether a page is readable in user mode (the CPU privilege level at
which the process runs) or whether it needs to load it. Once this has
been done, it then loads the data value, if this still causes a trap
due to a memory violation even after any necessary disk access, it is
caught and an EFAULT is returned. It does this for every word in the
arg and env arrays and each byte occupied by their strings.

An EFAULT is also returned if character pointer arrays are not word
aligned. That is, the 2nd and 3rd arguments to the execve() call must
be exactly divisible by 4, or 8 for 64-bit. Byte alignment is fine
for the strings.

2. An EFAULT will be produced under certain conditions if the executable
being loaded has a faulty memory profile that would not make sense
when loaded or if it is incompatible with the memory hardware. One such
example can be shown with:

$ cat t1.c
#include

int main(void) {
execve("./t2", NULL, NULL);
perror("execve");
exit(1);
}
$ cat t2.c
int main(void) { return 0; }
$ cc -Ae -o t1 t1.c
$ cc -Ae -Wl,-D0x10000000 -o t2 t2.c
$ ./t1
exec(2): text and data both in same quadrant
execve: Bad address
$


so to fix the problem you need to check first if you have install patch :
s800 10.20 Advanced VxFS B.10.20 cumulative patch

if not please install the patch list to solve the problem :
PHCO_23437 B.10.00.00.AA LVM commands cumulative patch
PHCO_23844 B.10.00.00.AA fsck_vxfs(1M) cumulative patch
PHKL_16751 B.10.00.00.AA SIG_IGN/SIGCLD,LVM,JFS,PCI/SCSI cumulative patch

PHKL_16957 B.10.00.00.AA Physical dump devices configuration patch
PHKL_17858 B.10.00.00.AA Fix for mount/access of disc sections.
PHKL_20611 B.10.00.00.AA Correct process hangs on ufs inodes
PHKL_21595 B.10.00.00.AA PHKL_19540 PHKL_18198
PHKL_21661 B.10.00.00.AA lo_realvfs panic fix, Cumulative LOFS patch
PHKL_23419 B.10.00.00.AA VxFS mount(2) cumulative patch
PHKL_23612 B.10.00.00.AA LVM cumulative patch, array controller hot-swap
PHKL_24066 B.10.00.00.AA Advanced VxFS B.10.20 cumulative patch
PHNE_22507 B.10.00.00.AA cumulative ARPA Transport patch

please give me a feedback to know if it solve your problem
love computers
harry d brown jr
Honored Contributor

Re: Problem with shell

Satish,

Has anything changed on your system? Have you lately had an increase in the number of users and processes (check maxusers, nproc, open file parameters)? Like Erin has pointed out, and something I do, is to make sure you have the latest patches installed.

live free or die
harry
Live Free or Die
Satish Y
Trusted Contributor

Re: Problem with shell

Hi Eran,

Thanks for the information. Thats good and useful. I appreciate for collecting this much info for me. Thaks again.

Cheers...
Satish.
Difference between good and the best is only a little effort