Bug 436349

Summary: vte uses bogus STREAMS ioctls
Product: [Fedora] Fedora Reporter: David Woodhouse <dwmw2>
Component: glibcAssignee: Jakub Jelinek <jakub>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: rawhideCC: jakub, jwboyer, m.a.young
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-04-04 18:45:00 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

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.