[rescue] Understanding Err#25 ENOTTY ?

Jonathan Patschke jp at celestrion.net
Mon Jul 7 15:32:31 CDT 2014


On Mon, 7 Jul 2014, Simon Lewis wrote:

> Sorry for the delay, it must be the console am using TCSH this is the only 
> bug and its a dam pain here my full log;
>
> http://www.mplayer.biz/mcp.log

open("/var/adm/utmpx", O_RDONLY)                = 5

This is opening a file, yielding file descriptor #5.

fstat64(5, 0xFFBEF160)                          = 0

This gets some information on the file (size, permissions, file-type,
etc.)

brk(0x001D9EA0)                                 = 0
brk(0x001DBEA0)                                 = 0

Memory allocation.

ioctl(5, TCGETA, 0xFFBEF0EC)                    Err#25 ENOTTY

Here is your bug.  File descriptor #5 is a regular file.  You may not
retrieve terminal attributes from an open file descriptor that does not
refer to a serial terminal, the console, or a pty.

However, if we look immediately before the open() call, we see this:

stat64("/dev/pts/3", 0xFFBEF078)                = 0

That would be a perfectly valid target for the ioctl().  My guess is that
some path variable is getting re-used in the calling function, and someone
has neglected to pass the correct path (the one previously sent to
stat64()) to open().


If you have funding and/or the project is particularly interesting, I'm
sure we could work something out. :)

-- 
Jonathan Patschke | "Do the difficult things while they are easy and do
Elgin, TX         |  the great things while they are small."
USA               |                                           --Lao Tzu


More information about the rescue mailing list