[Webkit-unassigned] [Bug 116587] [EFL] Layout Test Error related to "_ecore_main_fd_handlers_bads_rem() No bad fd found. Maybe a foreign fd from glib?"
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Mon Aug 11 22:34:07 PDT 2014
https://bugs.webkit.org/show_bug.cgi?id=116587
Ryuan Choi <ryuan.choi at samsung.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ryuan.choi at samsung.com
--- Comment #5 from Ryuan Choi <ryuan.choi at samsung.com> 2014-08-11 22:34:13 PST ---
I traced the bad fd and it looks because g_main_context_query returns bad fd which is already closed.
I reproduced it as clicking "reload" button frequently on the MiniBrowser (which loads google.com)
And when select (in ecore_glib.c) is failed, one of fd which returns g_main_context_query got EBADF.
In strace, I got below log. (42 is bad fd in below log)
[pid 25226] socket(PF_INET, SOCK_STREAM|SOCK_CLOEXEC, IPPROTO_IP <unfinished ...>
[pid 25227] select(33, [30 32], NULL, NULL, NULL <unfinished ...>
[pid 25226] <... socket resumed> ) = 42
[pid 25217] read(18, <unfinished ...>
[pid 25226] fcntl(42, F_GETFL <unfinished ...>
[pid 25217] <... read resumed> "\1\0\0\0", 4) = 4
[pid 25226] <... fcntl resumed> ) = 0x2 (flags O_RDWR)
[pid 25217] read(18, <unfinished ...>
[pid 25226] fcntl(42, F_SETFL, O_RDWR|O_NONBLOCK <unfinished ...>
[pid 25217] <... read resumed> "W", 1) = 1
[pid 25226] <... fcntl resumed> ) = 0
[pid 25217] read(18, 0xa863d8, 4) = -1 EAGAIN (Resource temporarily unavailable)
[pid 25226] connect(42, {sa_family=AF_INET, sin_port=htons(8080), sin_addr=inet_addr("168.219.61.252")}, 16 <unfinished ...>
[pid 25217] fcntl(3, F_GETFD) = 0x1 (flags FD_CLOEXEC)
[pid 25226] <... connect resumed> ) = -1 EINPROGRESS (Operation now in progress)
...
[pid 25217] select(32, [3 31], [], [], {0, 0} <unfinished ...>
[pid 25226] <... write resumed> ) = 8
[pid 25217] <... select resumed> ) = 0 (Timeout)
[pid 25217] recvfrom(12, 0xab34e4, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
[pid 25226] close(42 <unfinished ...>
...
[pid 25227] <... recvmsg resumed> 0x7f668f139b60, 0) = -1 EAGAIN (Resource temporarily unavailable)
[pid 25226] select(44, [3 24 42 43], [], [], {0, 0} <unfinished ...>
[pid 25227] select(33, [30 32], NULL, NULL, NULL <unfinished ...>
[pid 25226] <... select resumed> ) = -1 EBADF (Bad file descriptor)
[pid 25217] fcntl(3, F_GETFD <unfinished ...>
[pid 25226] write(2, "_ecore_glib_select__locked **\n", 30_ecore_glib_select__locked **
<unfinished ...>
[pid 25217] <... fcntl resumed> ) = 0x1 (flags FD_CLOEXEC)
[pid 25226] <... write resumed> ) = 30
[pid 25217] poll([{fd=12, events=POLLIN|POLLOUT}], 1, 4294967295 <unfinished ...>
[pid 25226] fcntl(24, F_GETFD <unfinished ...>
[pid 25217] <... poll resumed> ) = 1 ([{fd=12, revents=POLLOUT}])
[pid 25226] <... fcntl resumed> ) = 0x1 (flags FD_CLOEXEC)
[pid 25217] writev(12, [{"\22\0\16\0\3\0@\4'\0\0\0\24\1\0\0\10\0\0\0\36\0\0\0Google ("..., 336}, {NULL, 0}, {"", 0}], 3 <unfinished ...>
[pid 25226] fcntl(42, F_GETFD <unfinished ...>
[pid 25217] <... writev resumed> ) = 336
[pid 25226] <... fcntl resumed> ) = -1 EBADF (Bad file descriptor)
[pid 25217] recvfrom(12, <unfinished ...>
[pid 25226] write(2, "_ecore_glib_context_trace : 42 #"..., 37_ecore_glib_context_trace : 42 ####
<unfinished ...>
[pid 25217] <... recvfrom resumed> "\34\0\36\6\3\0@\4'\0\0\0\207;\322\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096, 0, NULL, NULL) = 192
[pid 25226] <... write resumed> ) = 37
[pid 25217] recvfrom(12, <unfinished ...>
[pid 25226] fcntl(43, F_GETFD <unfinished ...>
[pid 25217] <... recvfrom resumed> 0xab34e4, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
[pid 25226] <... fcntl resumed> ) = 0x1 (flags FD_CLOEXEC)
I don't know why glib returns this fd, but glib(g_main_context_iterate) looks not check the results of poller.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list