Bug 436349 - vte uses bogus STREAMS ioctls
Summary: vte uses bogus STREAMS ioctls
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: glibc
Version: rawhide
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-03-06 17:55 UTC by David Woodhouse
Modified: 2008-04-04 18:45 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-04-04 18:45:00 UTC
Type: ---


Attachments (Terms of Use)

Description David Woodhouse 2008-03-06 17:55:29 UTC
Description of problem:

Complaints about bogus ioctls in kernel log:
ioctl32(gnome-terminal:20631): Unknown cmd fd(22) cmd(0000530b){t:'S';sz:0}
arg(01289d1c) on /dev/pts/7
ioctl32(gnome-terminal:20682): Unknown cmd fd(20) cmd(0000530b){t:'S';sz:0}
arg(01289d0c) on /dev/pts/7
ioctl32(gnome-terminal:20682): Unknown cmd fd(20) cmd(0000530b){t:'S';sz:0}
arg(01289d14) on /dev/pts/7


This seems to be because vte is trying to ioctl(I_FIND), which is not supported
in Linux and probably shouldn't even be defined (so maybe this should be a glibc
bug).

Comment 1 David Woodhouse 2008-03-11 07:23:46 UTC
And if it's not considered a glibc bug, it should probably be considered a
kernel bug that it complains about this "unknown" ioctl and doesn't silently
return -ENOTTY. We should fix one or the other.

Comment 2 Behdad Esfahbod 2008-03-11 10:30:37 UTC
Yeah, not vte.

Comment 3 Jakub Jelinek 2008-03-12 20:06:00 UTC
At least a few years ago streams support could be added just by insmoding an
extra kernel module.  But as that module likely doesn't work at all on Fedora
nor any recent RHEL, guess for Fedora/RHEL glibc we can nuke stropts.h header and
#define _XOPEN_STREAMS -1
to tell that XSR POSIX option isn't supported at all.

Comment 4 Michael Young 2008-04-04 16:22:50 UTC
Removing stropts.h breaks the build of samba4 (somewhere along the line it
includes /usr/include/python2.5/pyconfig-32.h from python-devel which has
#define HAVE_STROPTS_H 1 ). You might also what to consider removing the man
pages that refer to stropts.h, such as /usr/share/man/man3p/fattach.3p.gz and
/usr/share/man/man0p/stropts.h.0p.gz .

Comment 5 Jakub Jelinek 2008-04-04 18:45:00 UTC
Then python needs rebuilding, so that pyconfig*.h doesn't contain it.
The 3p and 0p man pages should stay, they document a POSIX option, which just
isn't implemented in Linux.


Note You need to log in before you can comment on or make changes to this bug.