From: maps on
> Are you using exactly the same input files on each system? As it looks
> like one file's now larger than 32-bits on the problem system, you need
> to keep all the input the same when you're testing.


Not sure I understand; can you please elaborate ?

-maps.
From: maps on
> Since a pipe is a file with a small number of bytes, the only possible issue
> is the dev number of the pipe.
>
> Is this a 64 bit and is the system up for quite some time?

Spot on ! But how do these factors relate to the problem at hand ?

-maps.
From: Greg Andrews on
I see a couple of puzzling things in the truss output:

1) In several lines, this /usr/bin/diff tries to find standard OS
files (libc.so.1, libdl.so.1, Locale files) in a strange place:

> 0.0052 stat("/opt/app/xxxxxx/ncr/tbuild/12.00.00.00/lib/libc.so.1",
>0xFFBFF388) Err#2 ENOENT
....
> 0.0089 stat("/opt/app/xxxxxx/ncr/tbuild/12.00.00.00/lib/libdl.so.1",
....
> 0.0196 open("/opt/app/xxxxx/ncr/tbuild/12.00.00.00/msg/
>SUNW_OST_OSLIB", O_RDONLY) Err#2 ENOENT
> 0.0199 open("/usr/lib/locale/C/LC_MESSAGES/SUNW_OST_OSLIB.mo",
>O_RDONLY) Err#2 ENOENT


2) /usr/bin/diff performs a different fstat() on stdin and stderr
(and in the middle of outputting the complaint to stderr, makes
the locale calls noted above):

> 0.0178 fstat(0, 0x00028C28) Err#79 EOVERFLOW
> 0.0188 fstat64(2, 0xFFBFE308) = 0
> 0.0192 write(2, " d i f f : ", 6) = 6
> 0.0196 open("/opt/app/xxxxx/ncr/tbuild/12.00.00.00/msg/
>SUNW_OST_OSLIB", O_RDONLY) Err#2 ENOENT
> 0.0199 open("/usr/lib/locale/C/LC_MESSAGES/SUNW_OST_OSLIB.mo",
>O_RDONLY) Err#2 ENOENT
> 0.0206 write(2, " s t d i n", 5) = 5
> 0.0208 write(2, " : ", 2) = 2
> 0.0212 write(2, " V a l u e t o o l a".., 37) = 37
> 0.0216 write(2, "\n", 1) = 1
> 0.0220 _exit(2)


Why would /usr/bin/diff invoke fstat() on stdin, but fstat64() on stderr?

But the real head scratcher is why the Solaris /usr/bin/diff would be
searching for libs under "/opt/app/xxxxx/ncr/tbuild/12.00.00.00", which
looks like an application's build directory.

Has the environment variable LD_LIBRARY_PATH been set to something on
this server? If so, what happens when it is removed?

-Greg
--
Do NOT reply via e-mail.
Reply in the newsgroup.
From: maps on
> Why would /usr/bin/diff invoke fstat() on stdin, but fstat64() on stderr?

This is the real head scratcher !!

> But the real head scratcher is why the Solaris /usr/bin/diff would be
> searching for libs under "/opt/app/xxxxx/ncr/tbuild/12.00.00.00", which
> looks like an application's build directory.
>
> Has the environment variable LD_LIBRARY_PATH been set to something on
> this server?  If so, what happens when it is removed?

Indeed it contains the lib path u mentioned above.

-maps.
From: Darren Dunham on
On Jan 4, 1:52 pm, maps <mapsiddi...(a)gmail.com> wrote:
> > Has the environment variable LD_LIBRARY_PATH been set to something on
> > this server?  If so, what happens when it is removed?
>
> Indeed it contains the lib path u mentioned above.

He is suggesting that you unset LD_LIBRARY_PATH and run the command
again. Unexpected things can happen when you populate
LD_LIBRARY_PATH.

Does the behavior change?

--
Darren