[Bug 248065] Linuxulator: 32-bit compat + send with MSG_NOSIGNAL

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sat Jul 18 13:16:07 UTC 2020


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=248065

            Bug ID: 248065
           Summary: Linuxulator: 32-bit compat + send with MSG_NOSIGNAL
           Product: Base System
           Version: CURRENT
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: kern
          Assignee: bugs at FreeBSD.org
          Reporter: iwtcex at gmail.com
                CC: trasz at FreeBSD.org
 Attachment #216539 text/plain
         mime type:

Created attachment 216539
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=216539&action=edit
minimal repro

Apparently, with a sufficiently large payload and the MSG_NOSIGNAL flag,
blocking send turns out not quite as blocking as expected. So far this is only
observable with 32-bit Linux applications:

% /compat/linux/usr/bin/cc -DSERVER -DCLIENT -std=c99 -Wall -m32 eagain-bug.c
-pthread -o eagain-bug
% ./eagain-bug
server started
client started
connection accepted
[server] Sending 100000 bytes...
[server] sent: 49032
[server] Sending 100000 bytes...
[server] sent: -1
[server] send: Resource temporarily unavailable

See attachment for the code. (Or grab it from
https://github.com/shkhln/unexpected-eagain.)

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list