Debian Bug report logs - #700529
manpages-dev: confusing NOTES section on O_NONBLOCK in read(2)

version graph

Package: manpages-dev; Maintainer for manpages-dev is Martin Schulze <joey@debian.org>; Source for manpages-dev is src:manpages.

Reported by: Marc Lehmann <debian-reportbug@plan9.de>

Date: Wed, 13 Feb 2013 23:57:00 UTC

Severity: minor

Tags: fixed-upstream

Found in version manpages/3.40-0.1

Fixed in version manpages/3.51-1

Done: Simon Paillard <spaillard@debian.org>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Martin Schulze <joey@debian.org>:
Bug#700529; Package manpages-dev. (Wed, 13 Feb 2013 23:57:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Marc Lehmann <debian-reportbug@plan9.de>:
New Bug report received and forwarded. Copy sent to Martin Schulze <joey@debian.org>. (Wed, 13 Feb 2013 23:57:03 GMT) Full text and rfc822 format available.

Message #5 received at submit@bugs.debian.org (full text, mbox):

From: Marc Lehmann <debian-reportbug@plan9.de>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: manpages-dev: confusing NOTES section on O_NONBLOCK in read(2)
Date: Thu, 14 Feb 2013 00:38:28 +0100
Package: manpages-dev
Version: 3.40-0.1
Severity: minor


The read(2) manpage (possibly others) contains this confusing paragraph in the NOTES section:

 Many file systems and disks were considered to be fast enough that
 the implementation of O_NONBLOCK was deemed unnecessary.  So,
 O_NONBLOCK may not be available on files and/or disks.

However, this can neither be true, nor is there reasonable semantics for
O_NONBLOCK on files. The reason for this is that for O_NONBLOCK to make
sense, you need data to arrive on its own (pipe write on other side, tcp
packet received etc.).

For files, there is no such source of data - while an implementatioon that
indeed only returned what it currently has in the the buffer cache is
theoretically feasible, no new data would arrive on its own, as the kernel
would need to know how much data to read, and from where, so programs
would effectively deadlock as there is no way to tell the kernel to read
more data for the next read (and there is no way to wait for more data, as
it would be for pipes and sockets with e.g. select).

I would suggest simply deleting this paragraph, as it continues to confuse
people into thinking O_NONBLOCK semantics are possible with files.

-- System Information:
Debian Release: wheezy/sid
  APT prefers stable
  APT policy: (990, 'stable'), (500, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=C, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages manpages-dev depends on:
ii  manpages                      3.27-1     Manual pages about using a GNU/Lin

manpages-dev recommends no packages.

Versions of packages manpages-dev suggests:
ii  konqueror [man-browser]       4:4.8.4-2  advanced file manager, web browser
ii  man-db [man-browser]          2.6.2-1    on-line manual pager

-- no debconf information



Information forwarded to debian-bugs-dist@lists.debian.org, Martin Schulze <joey@debian.org>:
Bug#700529; Package manpages-dev. (Thu, 14 Feb 2013 00:36:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to mtk.manpages@gmail.com:
Extra info received and forwarded to list. Copy sent to Martin Schulze <joey@debian.org>. (Thu, 14 Feb 2013 00:36:03 GMT) Full text and rfc822 format available.

Message #10 received at 700529@bugs.debian.org (full text, mbox):

From: "Michael Kerrisk (man-pages)" <mtk.manpages@gmail.com>
To: Marc Lehmann <debian-reportbug@plan9.de>, 700529@bugs.debian.org
Cc: control@bugs.debian.org
Subject: Re: Bug#700529: manpages-dev: confusing NOTES section on O_NONBLOCK in read(2)
Date: Thu, 14 Feb 2013 01:32:16 +0100
tags 700529 fixed-upstream
thanks

On Thu, Feb 14, 2013 at 12:38 AM, Marc Lehmann
<debian-reportbug@plan9.de> wrote:
> Package: manpages-dev
> Version: 3.40-0.1
> Severity: minor
>
>
> The read(2) manpage (possibly others) contains this confusing paragraph in the NOTES section:
>
>  Many file systems and disks were considered to be fast enough that
>  the implementation of O_NONBLOCK was deemed unnecessary.  So,
>  O_NONBLOCK may not be available on files and/or disks.
>
> However, this can neither be true, nor is there reasonable semantics for
> O_NONBLOCK on files. The reason for this is that for O_NONBLOCK to make
> sense, you need data to arrive on its own (pipe write on other side, tcp
> packet received etc.).
>
> For files, there is no such source of data - while an implementatioon that
> indeed only returned what it currently has in the the buffer cache is
> theoretically feasible, no new data would arrive on its own, as the kernel
> would need to know how much data to read, and from where, so programs
> would effectively deadlock as there is no way to tell the kernel to read
> more data for the next read (and there is no way to wait for more data, as
> it would be for pipes and sockets with e.g. select).
>
> I would suggest simply deleting this paragraph, as it continues to confuse
> people into thinking O_NONBLOCK semantics are possible with files.

Well, O_NONBLOCK does have meaningful semantics w.r.t. file locks.
But, that doesn't seem to be what this paragraph is talking about, and
I agree with you that it is confusing. I've removed it.

Thanks for the report.

Cheers,

Michael



Added tag(s) fixed-upstream. Request was from "Michael Kerrisk (man-pages)" <mtk.manpages@gmail.com> to control@bugs.debian.org. (Thu, 14 Feb 2013 00:36:04 GMT) Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Martin Schulze <joey@debian.org>:
Bug#700529; Package manpages-dev. (Mon, 04 Mar 2013 22:27:06 GMT) Full text and rfc822 format available.

Acknowledgement sent to Simon Paillard <spaillard@debian.org>:
Extra info received and forwarded to list. Copy sent to Martin Schulze <joey@debian.org>. (Mon, 04 Mar 2013 22:27:06 GMT) Full text and rfc822 format available.

Message #17 received at 700529@bugs.debian.org (full text, mbox):

From: Simon Paillard <spaillard@debian.org>
To: 700529@bugs.debian.org
Subject: Re: Bug#700529: manpages-dev: confusing NOTES section on O_NONBLOCK in read(2)
Date: Mon, 4 Mar 2013 23:21:57 +0100
Hi,

On Thu, Feb 14, 2013 at 01:32:16AM +0100, Michael Kerrisk (man-pages) wrote:
> tags 700529 fixed-upstream
> thanks
> 
> On Thu, Feb 14, 2013 at 12:38 AM, Marc Lehmann
> <debian-reportbug@plan9.de> wrote:
> > Package: manpages-dev
> > Version: 3.40-0.1
> > Severity: minor
> >
> >
> > The read(2) manpage (possibly others) contains this confusing paragraph in the NOTES section:
[..]
> > I would suggest simply deleting this paragraph, as it continues to confuse
> > people into thinking O_NONBLOCK semantics are possible with files.
> 
> Well, O_NONBLOCK does have meaningful semantics w.r.t. file locks.
> But, that doesn't seem to be what this paragraph is talking about, and
> I agree with you that it is confusing. I've removed it.
 
FTR, will be delivered in 3.48.

commit 7c81ac9ced01451fe86a208c7ffbfab60e1a0b42
Refs: man-pages-3.47-47-g7c81ac9
Author:     Michael Kerrisk <mtk.manpages@gmail.com>
AuthorDate: Thu Feb 14 01:29:45 2013 +0100

    read.2: Remove crufty text about O_NONBLOCK on files

    See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=700529

-- 
Simon Paillard



Added tag(s) pending. Request was from Simon Paillard <spaillard@debian.org> to control@bugs.debian.org. (Tue, 05 Mar 2013 23:15:12 GMT) Full text and rfc822 format available.

Reply sent to Simon Paillard <spaillard@debian.org>:
You have taken responsibility. (Thu, 23 May 2013 22:51:46 GMT) Full text and rfc822 format available.

Notification sent to Marc Lehmann <debian-reportbug@plan9.de>:
Bug acknowledged by developer. (Thu, 23 May 2013 22:51:46 GMT) Full text and rfc822 format available.

Message #24 received at 700529-close@bugs.debian.org (full text, mbox):

From: Simon Paillard <spaillard@debian.org>
To: 700529-close@bugs.debian.org
Subject: Bug#700529: fixed in manpages 3.51-1
Date: Thu, 23 May 2013 22:48:40 +0000
Source: manpages
Source-Version: 3.51-1

We believe that the bug you reported is fixed in the latest version of
manpages, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 700529@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Simon Paillard <spaillard@debian.org> (supplier of updated manpages package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Thu, 23 May 2013 23:05:10 +0200
Source: manpages
Binary: manpages manpages-dev
Architecture: source all
Version: 3.51-1
Distribution: unstable
Urgency: low
Maintainer: Martin Schulze <joey@debian.org>
Changed-By: Simon Paillard <spaillard@debian.org>
Description: 
 manpages   - Manual pages about using a GNU/Linux system
 manpages-dev - Manual pages about using GNU/Linux for development
Closes: 182014 235967 533232 542601 553413 575077 578178 620746 674034 676264 692136 699387 700529 704787 705293
Changes: 
 manpages (3.51-1) unstable; urgency=low
 .
   * Imported Upstream version 3.51:
     . new manpages: kcmp.3 s390_runtime_instr.2 if_freenameindex.3
       if_indextoname.3 if_nameindex.3 if_nametoindex.3 (Closes: #235967)
       perf_event_open.2 getcontext.3 getdtablesize.3 pthread_getname_np.3
       pthread_setname_np.3 setcontext.3 sln.8
       fattach.2 fdetach.2 getmsg.2 getunwind.2 isastream.2
       perfmonctl.2 putmsg.2 nss.5
     . ttyname.3: Fix confused text in ERRORS (Closes: #676264)
     . proc.5: Add field numbers for (Closes: #553413)
     . read.2: Remove crufty text about O_NONBLOCK on files (Closes: #700529)
     . read.2: Clarify interaction of count==0 and error check (Closes: #533232)
     . getpeername.2: Clarify semantics of getpeername() for datagram
       sockets (Closes: #674034)
     . mmap.2: Some 'flags' values require a feature test macro to be
       defined (Closes: #542601)
     . resolver.3, resolv.conf.5: RES_DEBUG is only available if glibc is
       compiled with debug support (Closes: #692136)
     . stdarg.3: Describe va_copy() (Closes: #575077)
     . futimes.3: ERRORS: Add ENOSYS for lutimes() (Closes: #620746)
     . units.7: units should use an actual ยต (Closes: #704787)
     . access.2: Clarify RETURN VALUE for F_OK (Closes: #705293)
     . resolv.conf.5: Document "single-request-reopen" option (Closes: #699387)
     . bootparam.7: Document 'rootfstype' option (Closes: #182014)
     . ioperm.2: Linux 2.6.8 lifted the port limit to 65,536 (Closes: #578178)
   * d/rules: build-{arch,indep} as required by policy 3.9.4
   * lintian overrides: FSSTND-dir-in-manual-page are alternate path
Checksums-Sha1: 
 f277d33dc4ae2e2824fd7f2d747ec18f272a0d59 1907 manpages_3.51-1.dsc
 96c93e69f4e5db0952361b25db3eb3c19504ac1f 1828168 manpages_3.51.orig.tar.gz
 beaf9204e88e4406e7afd7d6014e7ea7af620e2f 47215 manpages_3.51-1.diff.gz
 db917de30d91a0382c32b8a71a57331eb0da7d40 823120 manpages_3.51-1_all.deb
 3d8a2bba0b3c9cb0ef8e4ab545eb37b5b1bf1974 1803556 manpages-dev_3.51-1_all.deb
Checksums-Sha256: 
 bf5b05f49b85e86052694c2c80fc1a9119437c88b60f0606d786b301b1c6f07b 1907 manpages_3.51-1.dsc
 f6639351a6a9e7fd9a82bae7dbefa8cb73557794e04a5d6a05bf8f64b8457bad 1828168 manpages_3.51.orig.tar.gz
 0151dd7c6eeeae5f3e764b5a5ac03fa6a48e3c36eeaa19e550de2ccbf0cfb337 47215 manpages_3.51-1.diff.gz
 fd60606aecff76039e414d9930b528900c90916f226ab61e24a1ce782de85916 823120 manpages_3.51-1_all.deb
 ebf111927854d749bfe4b1b510fe4ac49b965ed3466795a0456c144de3e5311f 1803556 manpages-dev_3.51-1_all.deb
Files: 
 233eff29953c78f8c1257fda9f31a6d2 1907 doc important manpages_3.51-1.dsc
 bed1627674356ec85492c5e94619b23d 1828168 doc important manpages_3.51.orig.tar.gz
 3144b81732373b7f027c071c58f6c230 47215 doc important manpages_3.51-1.diff.gz
 4df5993a51d7985a0a271d0a4bf19d79 823120 doc important manpages_3.51-1_all.deb
 075aa05d2cae81593bf807ad5b56585f 1803556 doc optional manpages-dev_3.51-1_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQIcBAEBCAAGBQJRnplOAAoJEN/3OMLRbPuiX0EP/0++s6v9aB7OtKEXos4RnFbQ
SAOyHWgLaBJ7ui/nb0OfUHWhZ3DxfgkGQmcDw0EU86pvr5FAJinMKV0rJ7s4YacY
VxL5Ryw0VlvnTBWt017c2GgRxFtMUZFY3wvuvB4hJRCnjFujR3e8ARvDjmYTGr/0
xIP/5dMqEXJIKKFBdg3PDI1p+MqG5xapINBX2kegRI6bAWmEXq356JkIvGy2QuLU
OKkrFeKijgaij8ZPuwDqrq2Wax3wsB8Qn4RKM64zRZpilEDvRZZHBBHwpdDFl8rr
iIlFuXeC0fePVMefJ1u7T8X640hoFMNBcYU5lJdT4rHKPlqDJFIU+C9SlRH1kxYX
+0x4EgzOxzLZfXmP0FoQpeCC4kOqpLOteFHylLHFr9RItKHmFdvBiPCGTjuAb71c
dtPJLx+LgXoHagvOI9wc1aS6AAsVove1PRJtAaj7jNK5SJX+o0chT2rWXkw2HHYy
sJMLb5ePdwP15IsuUwkN8XDyWsnEfPyM+hIgoPByyNZolEsrzXKlpAl62I5cCI/D
8LHgLmAhKEsRwbvvy9EhgzV5+qAS5ABL6T1BB55ZRKZ8omkMq5AXeHGhgYwISeYp
AdM4DTI0kWZ7yNgrJxsIMtewPgR2pI1Cgf+B7xzZHfP94+ogSKEq/jdvgJEml9St
INgTr6jypYWrNIjoJenf
=cbGv
-----END PGP SIGNATURE-----




Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Mon, 01 Jul 2013 07:30:35 GMT) Full text and rfc822 format available.

Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Sun Apr 20 06:27:04 2014; Machine Name: beach.debian.org

Debian Bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.