problem with script [followup]

From: Ashish Nigam (ashishn@ntechra.com)
Date: Mon Jul 22 2002 - 20:27:58 EDT


Thanks for everyone who responded to my problem.
Jez
Randy
charles
Patrick
Alex
Michael
Jay
Rob
Steudten

Most of the replies were concerning the path variable in the sense they may be
different when I run from prompt and when i run from an application.
I ran simplest of shell script, which is here

#!/bin/bash
/usr/ucb/printenv

when I ran this script from prompt, I got this output

PWD=/tmp
TZ=US/Pacific
_INIT_RUN_NPREV=0
LC_MESSAGES=C
HZ=100
HOSTNAME=ta69
_INIT_RUN_LEVEL=3
_INIT_UTS_ISA=sparc
_INIT_UTS_SYSNAME=SunOS
_INIT_UTS_RELEASE=5.8
_INIT_PREV_LEVEL=S
LC_TIME=en_US.ISO8859-1
MACHTYPE=sparc-sun-solaris
MAIL=/var/mail/ntechra
_INIT_UTS_VERSION=Generic_108528-11
LC_NUMERIC=en_US.ISO8859-1
LOGNAME=ntechra
_INIT_UTS_NODENAME=ta69
_INIT_UTS_PLATFORM=SUNW,Sun-Blade-100
SHLVL=2
LC_CTYPE=en_US.ISO8859-1
_INIT_UTS_MACHINE=sun4u
_=/usr/ucb/printenv
SHELL=/bin/sh
HOSTTYPE=sparc
OSTYPE=solaris
HOME=/
TERM=vt100
PATH=/usr/bin:
LC_MONETARY=en_US.ISO8859-1
LC_COLLATE=en_US.ISO8859-1
_INIT_NET_STRATEGY=none

when i ran the same script from the application, it did not work.
here's truss output

# vi stoplog
"stoplog" 354 lines, 20559 characters
9447: execve("/tmp/test", 0xFFBEF8EC, 0xFFBEF8F8) argc = 2
9447: mmap(0x00000000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_ANON, -1, 0) = 0xFF3A0000
9447: resolvepath("/usr/lib/ld.so.1", "/usr/lib/ld.so.1", 1023) = 16
9447: stat("/tmp/test", 0xFFBEF628) = 0
9447: open("/var/ld/ld.config", O_RDONLY) Err#2 ENOENT
9447: open("/usr/local/jdk/bin/../jre/lib/sparc/client/libcurses.so.1",
O_RDONLY) Err#2 ENOENT
9447: open("/usr/local/jdk/bin/../jre/lib/sparc/libcurses.so.1", O_RDONLY)
Err#2 ENOENT
9447: open("./libcurses.so.1", O_RDONLY) Err#2 ENOENT
9447: open("/usr/local/jdk/bin/../jre/../lib/sparc/libcurses.so.1",
O_RDONLY) Err#2 ENOENT
9447: open("/opt/AssetRadarClient/sharedlib/libcurses.so.1", O_RDONLY) Err#2
ENOENT
9447: open("/usr/lib/libcurses.so.1", O_RDONLY) = 3
9447: fstat(3, 0xFFBEEFBC) = 0
9447: mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0xFF390000
9447: mmap(0x00000000, 278528, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0xFF340000
9447: mmap(0xFF37A000, 28774, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED, 3, 172032) = 0xFF37A000
9447: mmap(0xFF382000, 6684, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED|MAP_ANON, -1, 0) = 0xFF382000
9447: munmap(0xFF36A000, 65536) = 0
9447: memcntl(0xFF340000, 49420, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
9447: close(3) = 0
9447: open("/usr/local/jdk/bin/../jre/lib/sparc/client/libsocket.so.1",
O_RDONLY) Err#2 ENOENT
9447: open("/usr/local/jdk/bin/../jre/lib/sparc/libsocket.so.1", O_RDONLY)
Err#2 ENOENT
9447: open("./libsocket.so.1", O_RDONLY) Err#2 ENOENT
9447: open("/usr/local/jdk/bin/../jre/../lib/sparc/libsocket.so.1",
O_RDONLY) Err#2 ENOENT
9447: open("/opt/AssetRadarClient/sharedlib/libsocket.so.1", O_RDONLY) Err#2
ENOENT
9447: open("/usr/lib/libsocket.so.1", O_RDONLY) = 3
9447: fstat(3, 0xFFBEEFBC) = 0
9447: mmap(0xFF390000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3,
0) = 0xFF390000
9447: mmap(0x00000000, 114688, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0xFF320000
9447: mmap(0xFF33A000, 4349, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED, 3, 40960) = 0xFF33A000
9447: munmap(0xFF32A000, 65536) = 0
9447: memcntl(0xFF320000, 14440, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
9447: close(3) = 0
9447: open("/usr/local/jdk/bin/../jre/lib/sparc/client/libnsl.so.1",
O_RDONLY) Err#2 ENOENT
9447: open("/usr/local/jdk/bin/../jre/lib/sparc/libnsl.so.1", O_RDONLY)
Err#2 ENOENT
9447: open("./libnsl.so.1", O_RDONLY) Err#2 ENOENT
9447: open("/usr/local/jdk/bin/../jre/../lib/sparc/libnsl.so.1", O_RDONLY)
Err#2 ENOENT
9447: open("/opt/AssetRadarClient/sharedlib/libnsl.so.1", O_RDONLY) Err#2
ENOENT
9447: open("/usr/lib/libnsl.so.1", O_RDONLY) = 3
9447: fstat(3, 0xFFBEEFBC) = 0
9447: mmap(0xFF390000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3,
0) = 0xFF390000
9447: mmap(0x00000000, 696320, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0xFF200000
9447: mmap(0xFF29A000, 32508, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED, 3, 565248) = 0xFF29A000
9447: mmap(0xFF2A2000, 30672, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED|MAP_ANON, -1, 0) = 0xFF2A2000
9447: munmap(0xFF28A000, 65536) = 0
9447: memcntl(0xFF200000, 81620, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
9447: close(3) = 0
9447: open("/usr/local/jdk/bin/../jre/lib/sparc/client/libdl.so.1",
O_RDONLY) Err#2 ENOENT
9447: open("/usr/local/jdk/bin/../jre/lib/sparc/libdl.so.1", O_RDONLY) Err#2
ENOENT
9447: open("./libdl.so.1", O_RDONLY) Err#2 ENOENT
9447: open("/usr/local/jdk/bin/../jre/../lib/sparc/libdl.so.1", O_RDONLY)
Err#2 ENOENT
9447: open("/opt/AssetRadarClient/sharedlib/libdl.so.1", O_RDONLY) Err#2
ENOENT
9447: open("/usr/lib/libdl.so.1", O_RDONLY) = 3
9447: fstat(3, 0xFFBEEFBC) = 0
9447: mmap(0xFF390000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3,
0) = 0xFF390000
9447: close(3) = 0
9447: open("/usr/local/jdk/bin/../jre/lib/sparc/client/libc.so.1", O_RDONLY)
Err#2 ENOENT
9447: open("/usr/local/jdk/bin/../jre/lib/sparc/libc.so.1", O_RDONLY) Err#2
ENOENT
9447: open("./libc.so.1", O_RDONLY) Err#2 ENOENT
9447: open("/usr/local/jdk/bin/../jre/../lib/sparc/libc.so.1", O_RDONLY)
Err#2 ENOENT
9447: open("/opt/AssetRadarClient/sharedlib/libc.so.1", O_RDONLY) Err#2
ENOENT
9447: open("/usr/lib/libc.so.1", O_RDONLY) = 3
9447: fstat(3, 0xFFBEEFBC) = 0
9447: mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0xFF310000
9447: mmap(0x00000000, 786432, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0xFF100000
9447: mmap(0xFF1B8000, 24720, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED, 3, 688128) = 0xFF1B8000
9447: munmap(0xFF1A8000, 65536) = 0
9447: memcntl(0xFF100000, 112632, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
9447: close(3) = 0
"stoplog" 354 lines, 20559 characters
9447: sigprocmask(SIG_BLOCK, 0xFFBEE400, 0xFFBEE3F0) = 0
9447: sigprocmask(SIG_SETMASK, 0xFFBEE3F0, 0x00000000) = 0
9447: sigprocmask(SIG_BLOCK, 0xFFBEE460, 0xFFBEE450) = 0
9447: brk(0x000AE000) = 0
9447: sigprocmask(SIG_SETMASK, 0xFFBEE450, 0x00000000) = 0
9447: sigprocmask(SIG_BLOCK, 0xFFBEE460, 0xFFBEE450) = 0
9447: sigprocmask(SIG_SETMASK, 0xFFBEE450, 0x00000000) = 0
9447: sigprocmask(SIG_BLOCK, 0xFFBEE4C0, 0x00000000) = 0
9447: sigprocmask(SIG_BLOCK, 0xFFBEE4C0, 0x00000000) = 0
9447: sigprocmask(SIG_BLOCK, 0xFFBEE4C0, 0x00000000) = 0
9447: sigprocmask(SIG_UNBLOCK, 0xFFBEE4C0, 0x00000000) = 0
9447: sigprocmask(SIG_UNBLOCK, 0xFFBEE4C0, 0x00000000) = 0
9447: sigprocmask(SIG_UNBLOCK, 0xFFBEE4C0, 0x00000000) = 0
9447: sigprocmask(SIG_BLOCK, 0xFFBEE898, 0xFFBEE888) = 0
9447: sigprocmask(SIG_SETMASK, 0xFFBEE888, 0x00000000) = 0
9447: open("/usr/dt/lib/nls/msg/C/SUNW_OST_OSLIB.cat", O_RDONLY) Err#2
ENOENT
9447: sigprocmask(SIG_BLOCK, 0xFFBEE958, 0x00000000) = 0
9447: sigprocmask(SIG_BLOCK, 0xFFBEE958, 0x00000000) = 0
9447: sigprocmask(SIG_BLOCK, 0xFFBEE958, 0x00000000) = 0
9447: sigprocmask(SIG_UNBLOCK, 0xFFBEE958, 0x00000000) = 0
9447: sigprocmask(SIG_UNBLOCK, 0xFFBEE958, 0x00000000) = 0
9447: sigprocmask(SIG_UNBLOCK, 0xFFBEE958, 0x00000000) = 0
9447: sigprocmask(SIG_BLOCK, 0xFFBEE898, 0xFFBEE888) = 0
9447: sigprocmask(SIG_SETMASK, 0xFFBEE888, 0x00000000) = 0
9447: open("/usr/lib/locale/C/LC_MESSAGES/SUNW_OST_OSLIB.mo", O_RDONLY)
Err#2 ENOENT
9447: sigprocmask(SIG_BLOCK, 0xFFBEE958, 0x00000000) = 0
9447: sigprocmask(SIG_BLOCK, 0xFFBEE958, 0x00000000) = 0
9447: sigprocmask(SIG_BLOCK, 0xFFBEE958, 0x00000000) = 0
9447: sigprocmask(SIG_UNBLOCK, 0xFFBEE958, 0x00000000) = 0
9447: sigprocmask(SIG_UNBLOCK, 0xFFBEE958, 0x00000000) = 0
9447: sigprocmask(SIG_UNBLOCK, 0xFFBEE958, 0x00000000) = 0
9447: write(2, " / t m p / t e s t : l".., 67) Err#32 EPIPE
9447: Received signal #13, SIGPIPE [default]
9447: *** process killed ***

Steudten gave me an idea of directing the output to some file and here's my
new shell script
#!/bin/bash
/usr/ucb/printenv > /tmp/envlog

and this time it worked from application, and here's output

bash-2.03$ vi envlog
"envlog" [Read only] 36 lines, 1406 characters
PWD=/opt/AssetRadarClient
TZ=US/Pacific
_INIT_RUN_NPREV=0
LC_MESSAGES=C
HZ=100
HOSTNAME=ta69
LD_LIBRARY_PATH=/usr/local/jdk/bin/../jre/lib/sparc/client:/usr/local/jdk/bin
/../jre/lib/sparc::/usr/local/jdk/bin/../jre/../lib/spa
rc:/opt/AssetRadarClient/sharedlib:
_INIT_RUN_LEVEL=3
_INIT_UTS_ISA=sparc
_INIT_UTS_SYSNAME=SunOS
CLASSPATH=/opt/AssetRadarClient/3rdParty/jcert.jar:/opt/AssetRadarClie
nt/3rdParty/jnet.jar:/opt/AssetRadarClient/3rdParty/jsse.jar:/opt/AssetRadarC
lient/3rdParty/jcifs-0.6.0.jar
NLSPATH=/usr/dt/lib/nls/msg/%L/%N.cat
_INIT_UTS_RELEASE=5.8
_INIT_PREV_LEVEL=S
LC_TIME=en_US.ISO8859-1
MACHTYPE=sparc-sun-solaris
XFILESEARCHPATH=/usr/dt/app-defaults/%L/Dt
MAIL=/var/mail/ntechra
_INIT_UTS_VERSION=Generic_108528-11
LC_NUMERIC=en_US.ISO8859-1
LOGNAME=ntechra
_INIT_UTS_NODENAME=ta69
SHLVL=4
_INIT_UTS_PLATFORM=SUNW,Sun-Blade-100
LC_CTYPE=en_US.ISO8859-1
_=/usr/ucb/printenv
_INIT_UTS_MACHINE=sun4u
SHELL=/bin/sh
HOSTTYPE=sparc
OSTYPE=solaris
HOME=/
TERM=vt100
PATH=/usr/sbin:/usr/bin
LC_MONETARY=en_US.ISO8859-1
_INIT_NET_STRATEGY=none
LC_COLLATE=en_US.ISO8859-1

So guys, I hope I have given all the information to tell me what exactly is
happening here.
This problem is happening with all the solaris boxes, I have here.works fine
in linux.

Thanks,
Ashish

My original mail was

Hi,
I am having some problem with a shell script.
When I run the shell script from prompt, I have no problems.
But when I try to run the same scrpit through an application, it just does
not work.
I have attached the last few lines of "truss" output on that shell script.
Please somebody help me locate the problem .
Also can anybody tell me where to look for description of these "Err#".

Thanks,
Ashish

llseek(3, 0xFFFFFFFFFFFFFFF6, SEEK_CUR) = 2511
fork() = 529
sigprocmask(SIG_SETMASK, 0xFFBEDEC0, 0x00000000) = 0
    Received signal #18, SIGCLD [caught]
      siginfo: SIGCLD CLD_KILLED pid=529 status=0x000D
waitid(P_ALL, 0, 0xFFBED9F0, WEXITED|WTRAPPED|WNOHANG) = 0
waitid(P_ALL, 0, 0xFFBED9F0, WEXITED|WTRAPPED|WNOHANG) Err#10 ECHILD
setcontext(0xFFBEDBA8)
sigprocmask(SIG_BLOCK, 0xFFBEDFB8, 0xFFBEDFA8) = 0
sigprocmask(SIG_SETMASK, 0xFFBEDFA8, 0x00000000) = 0
sigprocmask(SIG_BLOCK, 0xFFBEDFB8, 0xFFBEDFA8) = 0
sigaction(SIGINT, 0xFFBEDE88, 0xFFBEDF08) = 0
sigprocmask(SIG_BLOCK, 0xFFBEDED8, 0xFFBEDEC8) = 0
sigprocmask(SIG_BLOCK, 0xFFBEDE58, 0xFFBEDE48) = 0
sigprocmask(SIG_BLOCK, 0xFFBECD78, 0xFFBECD68) = 0
sigprocmask(SIG_SETMASK, 0xFFBECD68, 0x00000000) = 0
sigprocmask(SIG_BLOCK, 0xFFBECDD8, 0xFFBECDC8) = 0
brk(0x000BA000) = 0
sigprocmask(SIG_SETMASK, 0xFFBECDC8, 0x00000000) = 0
sigprocmask(SIG_BLOCK, 0xFFBECDD8, 0xFFBECDC8) = 0
sigprocmask(SIG_SETMASK, 0xFFBECDC8, 0x00000000) = 0
sigprocmask(SIG_BLOCK, 0xFFBECE38, 0x00000000) = 0
sigprocmask(SIG_BLOCK, 0xFFBECE38, 0x00000000) = 0
sigprocmask(SIG_BLOCK, 0xFFBECE38, 0x00000000) = 0
sigprocmask(SIG_UNBLOCK, 0xFFBECE38, 0x00000000) = 0
sigprocmask(SIG_UNBLOCK, 0xFFBECE38, 0x00000000) = 0
sigprocmask(SIG_UNBLOCK, 0xFFBECE38, 0x00000000) = 0
open("/usr/dt/lib/nls/msg/C/SUNW_OST_OSLIB.cat", O_RDONLY) Err#2 ENOENT
sigprocmask(SIG_BLOCK, 0xFFBED2D0, 0x00000000) = 0
sigprocmask(SIG_BLOCK, 0xFFBED2D0, 0x00000000) = 0
sigprocmask(SIG_BLOCK, 0xFFBED2D0, 0x00000000) = 0
sigprocmask(SIG_UNBLOCK, 0xFFBED2D0, 0x00000000) = 0
sigprocmask(SIG_UNBLOCK, 0xFFBED2D0, 0x00000000) = 0
sigprocmask(SIG_UNBLOCK, 0xFFBED2D0, 0x00000000) = 0
sigprocmask(SIG_BLOCK, 0xFFBED210, 0xFFBED200) = 0
sigprocmask(SIG_SETMASK, 0xFFBED200, 0x00000000) = 0
open("/usr/lib/locale/C/LC_MESSAGES/SUNW_OST_OSLIB.mo", O_RDONLY) Err#2
ENOENT
sigprocmask(SIG_BLOCK, 0xFFBED210, 0xFFBED200) = 0
sigprocmask(SIG_SETMASK, 0xFFBED200, 0x00000000) = 0
sigprocmask(SIG_BLOCK, 0xFFBED2D0, 0x00000000) = 0
sigprocmask(SIG_BLOCK, 0xFFBED2D0, 0x00000000) = 0
sigprocmask(SIG_BLOCK, 0xFFBED2D0, 0x00000000) = 0
sigprocmask(SIG_UNBLOCK, 0xFFBED2D0, 0x00000000) = 0
sigprocmask(SIG_UNBLOCK, 0xFFBED2D0, 0x00000000) = 0
sigprocmask(SIG_UNBLOCK, 0xFFBED2D0, 0x00000000) = 0
write(2, " / o p t / A s s e t R a".., 111) Err#32 EPIPE
    Received signal #13, SIGPIPE [default]
        *** process killed ***
_______________________________________________
sunmanagers mailing list
sunmanagers@sunmanagers.org
http://www.sunmanagers.org/mailman/listinfo/sunmanagers



This archive was generated by hypermail 2.1.7 : Wed Apr 09 2008 - 23:24:38 EDT