New issue
Advanced search Search tips

Issue 887587 link

Starred by 2 users

Issue metadata

Status: ExternalDependency
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: 2019-02-01
OS: Fuchsia
Pri: 3
Type: Bug



Sign in to add a comment

SocketPosix::IsConnected[AndIdle] behavior is different on Fuchsia.

Project Member Reported by fdegans@chromium.org, Sep 20

Issue description

SocketPosix::IsConnected() and SockedPosix::IsConnectedAndIdle() has a difference in behavior that caused the TCPSocketTest.BeforeConnectCallback net test to fail.
The non-Fuchsia implementation uses MSG_PEEK, which is not implemented on Fuchsia.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Sep 20

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/da20b6a2641f6ea869631dc2073d545294a6c3d6

commit da20b6a2641f6ea869631dc2073d545294a6c3d6
Author: Fabrice de Gans-Riberi <fdegans@chromium.org>
Date: Thu Sep 20 19:14:24 2018

Disable TCPSocketTest.BeforeConnectCallback on Fuchsia.

This test fails becasue MSG_PEEK is not implemented.

Bug: 887587
Change-Id: I6e1ba04afc1f34a11352ba0280dfc33c4436affa
Reviewed-on: https://chromium-review.googlesource.com/1235210
Commit-Queue: Fabrice de Gans-Riberi <fdegans@chromium.org>
Reviewed-by: Matt Menke <mmenke@chromium.org>
Reviewed-by: Scott Graham <scottmg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#592895}
[modify] https://crrev.com/da20b6a2641f6ea869631dc2073d545294a6c3d6/net/socket/socket_posix.cc
[modify] https://crrev.com/da20b6a2641f6ea869631dc2073d545294a6c3d6/testing/buildbot/filters/fuchsia.net_unittests.filter

Labels: M-74
Owner: w...@chromium.org
Status: Started (was: Available)
Summary: SocketPosix::IsConnected[AndIdle] behavior is different on Fuchsia. (was: SockePosix::IsConnected[AndIdle] behavior is different on Fuchsia.)
Note that this is tracked in Fuchsia by bug NET-121.
Project Member

Comment 4 by bugdroid1@chromium.org, Jan 12

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/372b03421362c7e14298e471451fd76223d0780d

commit 372b03421362c7e14298e471451fd76223d0780d
Author: Wez <wez@chromium.org>
Date: Sat Jan 12 00:09:47 2019

[Fuchsia] Fix SocketPosix::IsConnected() pre-Connect() behaviour.

SocketPosix::IsConnected() has a Fuchsia-specific implementation, to
work-around the lack of a working recvmsg(MSG_PEEK). This was
incorrectly returning |true| when a SocketPosix was not-yet-connected.

Fix the Fuchsia implementation to report |false| in this case, and
re-enable a TCPClientSocket test that depends on it.

Add a TCPClientSocket test for the behaviour of both the IsConnected()
and IsConnectedAndIdle() APIs.

Bug: 887587
Change-Id: I5b7ef9fa7f98364ee5612cf8d472a13ebbeab164
Reviewed-on: https://chromium-review.googlesource.com/c/1407505
Commit-Queue: Wez <wez@chromium.org>
Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
Reviewed-by: Matt Menke <mmenke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#622231}
[modify] https://crrev.com/372b03421362c7e14298e471451fd76223d0780d/net/socket/socket_posix.cc
[modify] https://crrev.com/372b03421362c7e14298e471451fd76223d0780d/net/socket/tcp_socket_unittest.cc
[modify] https://crrev.com/372b03421362c7e14298e471451fd76223d0780d/testing/buildbot/filters/fuchsia.net_unittests.filter

Labels: -Pri-2 Pri-3
NextAction: 2019-02-01
Status: ExternalDependency (was: Started)
These APIs now work as expected, using a Fuchsia-specific implementation. Marking ExternalDependency for us to follow-up when MSG_PEEK is available.

Comment 6 by w...@chromium.org, Jan 19 (4 days ago)

Blocking: -738275
Labels: -M-74
Owner: ----

Comment 7 by w...@chromium.org, Jan 19 (4 days ago)

ZX-769 tracks support for peek operations on Zircon sockets, which is required by MSG_PEEK.

Sign in to add a comment