[RndTbl] weird a.out in /var/log/httpd
Gilles Detillieux
grdetil at scrc.umanitoba.ca
Thu Jan 8 11:56:55 CST 2015
On 05/01/2015 11:23 PM, Trevor Cordes wrote:
> On 2015-01-05 Sean Walberg wrote:
>> Don't run ldd on a binary you don't trust [1]. I think the safer way
> Oops. Oh well, it didn't seem to do anything, and I was running it as
> a bogus severely limited user.
>
> I really don't understand the error/output when I run the a.out though.
> Since my description was lacking, here's the exact output I get:
>
> % strace ./a.out
> execve("./a.out", ["./a.out"], [/* 34 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
> exit_group(1) = ?
> +++ exited with 1 +++
>
> Who's telling me ENOENT? The shell? Kernel? a.out? I don't get it
> at all... very confused.
>
> Could this happen with a messed up / incomplete a.out?
Well, execve is a system call, as shown by strace, so the ENOENT error
most likely would come from the kernel. A "man execve" lists the
reasons for various error codes, and it seems in this case, a missing
shared library is the most likely candidate.
>> is objdump -p a.out | grep NEEDED.
> NEEDED libnssutil3.so
If that library is not in the usual /lib or /usr/lib, or somewhere in
the LD_LIBRARY_PATH, then that's probably the problem. Otherwise, I
don't know what the problem might be. The executable file obviously
exists, and it doesn't seem it would need an interpreter, so it must be
a shared library that it needs and the kernel can't find.
--
Gilles R. Detillieux E-mail: <grdetil at scrc.umanitoba.ca>
Spinal Cord Research Centre WWW: http://www.scrc.umanitoba.ca/
Dept. of Physiology and Pathophysiology, Faculty of Health Sciences,
Univ. of Manitoba Winnipeg, MB R3E 0J9 (Canada)
More information about the Roundtable
mailing list