New issue
Advanced search Search tips

Issue 910315 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jan 15
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Fuchsia
Pri: 2
Type: Bug



Sign in to add a comment

net::MapSystemError asserts on Fuchsia

Project Member Reported by spang@chromium.org, Nov 29

Issue description

Saw this just browsing with a DCHECK build:

[3038157:105051731:1129/202549.944298:FATAL:net_errors_posix.cc(117)] EIO was returned by FDIO.


[02499.878] devmgr: crash_analyzer_listener: analyzing exception type 0x208
[3038157:105051731:1129/202549.944298:FATAL:net_errors_posix.cc(117)] EIO was returned by FDIO.
[02499.878] <== fatal exception: process content_shell[3038157] thread Chrome_IOThread[3038299]
[02499.878] <== undefined instruction, PC at 0x52aff670987c
[02499.878]  CS:                   0 RIP:     0x52aff670987c EFL:            0x10246 CR2:                  0
[02499.878]  RAX:                  0 RBX:     0x797032560850 RCX:               0x66 RDX:              0x3ff
[02499.878]  RSI:     0x3f8ed3195500 RDI:     0x7a8b7e8d6da0 RBP:     0x797032560851 RSP:     0x797032560818
[02499.878]   R8:                  0  R9:                  0 R10:                  0 R11:              0x246
[02499.878]  R12:     0x7970325610d0 R13:     0x7970325610c0 R14:     0x7970325610c8 R15:               0x5f
[02499.878]  errc:                 0
[02499.878] bottom of user stack:
[02499.878] 0x0000797032560818: 7bd5b782 00007a8b 00000000 00000000 |...{.z..........|
[02499.878] 0x0000797032560828: 7bcb0814 00007a8b 7e8d6958 00007a8b |...{.z..Xi.~.z..|
[02499.878] 0x0000797032560838: 5598dde0 00003f84 7e8d42f8 00007a8b |...U.?...B.~.z..|
[02499.878] 0x0000797032560848: 98f0c5f5 80c6da76 000004e1 00000000 |....v...........|
[02499.878] 0x0000797032560858: 000004d7 00000000 d3195500 00003f8e |.........U...?..|
[02499.878] 0x0000797032560868: 7bd3070c 00007a8b 0000000d 80c6da76 |...{.z......v...|
[02499.878] 0x0000797032560878: 55993200 00003f84 32560b68 00007970 |.2.U.?..h.V2py..|
[02499.878] 0x0000797032560888: bedead01 3330335b 37353138 3530313a |....[3038157:105|
[02499.878] 0x0000797032560898: 37313530 313a3133 2f393231 35323032 |051731:1129/2025|
[02499.878] 0x00007970325608a8: 392e3934 39323434 41463a38 3a4c4154 |49.944298:FATAL:|
[02499.878] 0x00007970325608b8: 5f74656e 6f727265 705f7372 7869736f |net_errors_posix|
[02499.878] 0x00007970325608c8: 2863632e 29373131 4945205d 6177204f |.cc(117)] EIO wa|
[02499.878] 0x00007970325608d8: 65722073 6e727574 62206465 44462079 |s returned by FD|
#00: base::debug::StackTrace::StackTrace(unsigned long) at stack_trace_fuchsia.cc:?
#01: logging::LogMessage::~LogMessage() at logging.cc:?
#02: net::MapSystemError(int) at net_errors_posix.cc:?
#03: net::(anonymous namespace)::MapConnectError(int) at socket_posix.cc:?
#04: net::SocketPosix::ConnectCompleted() at socket_posix.cc:?
#05: net::SocketPosix::OnFileCanWriteWithoutBlocking(int) at socket_posix.cc:?
#06: non-virtual thunk to base::MessagePumpFuchsia::FdWatchController::OnZxHandleSignalled(unsigned int, unsigned int) at message_pump_fuchsia.cc:?
#07: base::MessagePumpFuchsia::ZxHandleWatchController::HandleSignal(async_dispatcher*, async_wait*, int, zx_packet_signal const*) at message_pump_fuchsia.cc:?
#08: async_loop_dispatch_exception at loop.c:?
#09: async_loop_run at loop.c:?
#10: base::MessagePumpFuchsia::HandleEvents(long) at message_pump_fuchsia.cc:?
#11: base::MessagePumpFuchsia::Run(base::MessagePump::Delegate*) at message_pump_fuchsia.cc:?
#12: base::MessageLoopImpl::Run(bool) at message_loop_impl.cc:?
#13: base::RunLoop::Run() at run_loop.cc:?
#14: base::Thread::Run(base::RunLoop*) at thread.cc:?
#15: content::BrowserProcessSubThread::IOThreadRun(base::RunLoop*) at browser_process_sub_thread.cc:?
#16: content::BrowserProcessSubThread::Run(base::RunLoop*) at browser_process_sub_thread.cc:?
#17: base::Thread::ThreadMain() at thread.cc:?
#18: base::(anonymous namespace)::ThreadFunc(void*) at platform_thread_posix.cc:?
#19: pc 0x52aff670a636 (libc.so,0x17636)
#20: pc 0x52aff6779ad1 (libc.so,0x86ad1)

 
Cc: yucliu@chromium.org
Labels: M-73
This sounds like a bug in FDIO, which should not be returning EIO in the first place; that error code basically means "I don't know what went wrong", I think?

sergeyu: WDYT?
Yes, this is a bug in FDIO - it should never return EIO. 
I can reproduce this by disconnecting Ethernet cable for short period of time while running speed test on google.com . Internally FDIO gets ERR_IO_INTERNAL for connect(), which is then converted to EIO. I'm still figuring out why it gets ERR_IO_INTERNAL internally. Looks like this was introduced recently with the FDIO socket ops moved to ZXS.

Comment 5 by sergeyu@chromium.org, Jan 15 (4 days ago)

Status: Fixed (was: Assigned)

Sign in to add a comment