[Discuss] Seeking information on binaries called "entities" and "fixup"

Tom Metro tmetro+blu at gmail.com
Tue Jul 29 18:06:18 EDT 2014


Bill Horne wrote:
> moder8 at telecom:~/bin$ ls -lh /home/moder8/bin/entities
> -rwxrwxr-x 1 moder8 telecom 8.8K Jan 27  2012 /home/moder8/bin/entities
> 
> moder8 at telecom:~$ strace /home/moder8/bin/entities /var/www/html/archives/back.issues/recent.single.issues/I125
> execve("/home/moder8/bin/entities", ["/home/moder8/bin/entities", "/var/www/html/archives/back.issu"...], [/* 21 vars */]) = -1 ENOENT (No such file or directory)
> write(2, "strace: exec: No such file or di"..., 40strace: exec: No such file or directory
> ) = 40

Have you examined /home/moder8/bin/entities with 'file', strings, and less?

I would guess that it is a shell script with a missing interpreter, but
the error message is not right for that.

Actually, that might be it:

% touch foo
% chmod u+x foo
% echo #\!/bin/bogus > foo
fringe:/tmp% strace ./foo
execve("./foo", ["./foo"], [/* 54 vars */]) = -1 ENOENT (No such file or
directory)
[...]
write(3, "strace: exec: No such file or di"..., 40strace: exec: No such
file or directory
) = 40

It's a misleading error message. The "No such file" is not referring to
./foo, but to the specified interpreter, /bin/bogus, but because the
bang-path magic is embedded in execve(), and it only returns an error
code (it doesn't generate the error message to STDERR), you're left with
a generic error and no object being identified.


I assume the above was on the new server. What happens when you strace
it on the old server?

 -Tom

-- 
Tom Metro
The Perl Shop, Newton, MA, USA
"Predictable On-demand Perl Consulting."
http://www.theperlshop.com/



More information about the Discuss mailing list