You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Pat Deegan (JIRA)" <ji...@apache.org> on 2016/09/19 17:14:20 UTC

[jira] [Commented] (CB-11870) Unable to drive display on Ubuntu 16.04 (black window)

    [ https://issues.apache.org/jira/browse/CB-11870?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15504038#comment-15504038 ] 

Pat Deegan commented on CB-11870:
---------------------------------

Couldn't see how to upload a file, so here's a snip of the strace of the process,  where the storm of (potentially) related polls on FD 6 begin (the /tmp/.X11-unix/X0 socket):

mprotect(0x7f680f340000, 4096, PROT_READ) = 0
mprotect(0x7f680f546000, 4096, PROT_READ) = 0
munmap(0x7f6814128000, 160365)          = 0
socket(PF_LOCAL, SOCK_STREAM|SOCK_CLOEXEC, 0) = 6
connect(6, {sa_family=AF_LOCAL, sun_path=@"/tmp/.X11-unix/X0"}, 20) = 0
getpeername(6, {sa_family=AF_LOCAL, sun_path=@"/tmp/.X11-unix/X0"}, [20]) = 0
uname({sysname="Linux", nodename="AlephOne", ...}) = 0
access("/home/user/.Xauthority", R_OK) = 0
open("/home/user/.Xauthority", O_RDONLY) = 7
fstat(7, {st_mode=S_IFREG|0600, st_size=53, ...}) = 0
read(7, "\1\0\0\10AlephOne\0\0010\0\22MIT-MAGIC-COOKI"..., 4096) = 53
read(7, "", 4096)                       = 0
close(7)                                = 0
getsockname(6, {sa_family=AF_LOCAL, NULL}, [2]) = 0
fcntl(6, F_GETFL)                       = 0x2 (flags O_RDWR)
fcntl(6, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
fcntl(6, F_SETFD, FD_CLOEXEC)           = 0
poll([{fd=6, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=6, revents=POLLOUT}])
writev(6, [{"l\0\v\0\0\0\22\0\20\0\0\0", 12}, {"", 0}, {"MIT-MAGIC-COOKIE-1", 18}, {"\0\0", 2}, {"\223R/\334X\205\f\213_\3136\36\34\343dJ", 16}, {"", 0}], 6) = 48
recvfrom(6, "\1\0\v\0\0\0#\1", 8, 0, NULL, NULL) = 8
recvfrom(6, "x\31\264\0\0\0\340\4\377\377\37\0\0\1\0\0\24\0\377\377\1\7\0\0  \10\377\0\0\0\0"..., 1164, 0, NULL, NULL) = 1164
poll([{fd=6, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=6, revents=POLLOUT}])
writev(6, [{"b\0\5\0\f\0\0\0BIG-REQUESTS", 20}], 1) = 20
poll([{fd=6, events=POLLIN}], 1, -1)    = 1 ([{fd=6, revents=POLLIN}])
recvmsg(6, {msg_name(0)=NULL, msg_iov(1)=[{"\1\0\1\0\0\0\0\0\1\205\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 4096}], msg_controllen=0, msg_flags=0}, 0) = 32
poll([{fd=6, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=6, revents=POLLOUT}])
writev(6, [{"\205\0\1\0", 4}], 1)       = 4
poll([{fd=6, events=POLLIN}], 1, -1)    = 1 ([{fd=6, revents=POLLIN}])
recvmsg(6, {msg_name(0)=NULL, msg_iov(1)=[{"\1\0\2\0\0\0\0\0\377\377?\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 4096}], msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(6, 0x7ffe56802b10, 0)           = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=6, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=6, revents=POLLOUT}])
writev(6, [{"7\0\5\0\0\0\340\4\266\0\0\0\10\0\0\0\377\377\377\0\24\0\6\0\266\0\0\0\27\0\0\0"..., 44}, {NULL, 0}, {"", 0}], 3) = 44
poll([{fd=6, events=POLLIN}], 1, -1)    = 1 ([{fd=6, revents=POLLIN}])
recvmsg(6, {msg_name(0)=NULL, msg_iov(1)=[{"\1\10\4\0&\0\0\0\37\0\0\0\0\0\0\0\225\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 184
recvmsg(6, 0x7ffe56802b50, 0)           = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=6, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=6, revents=POLLOUT}])
writev(6, [{"b\0\5\0\t\0\340\4", 8}, {"XKEYBOARD", 9}, {"\0\0\0", 3}], 3) = 20
poll([{fd=6, events=POLLIN}], 1, -1)    = 1 ([{fd=6, revents=POLLIN}])
recvmsg(6, {msg_name(0)=NULL, msg_iov(1)=[{"\1\0\5\0\0\0\0\0\1\207U\211\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 4096}], msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(6, 0x7ffe56802a20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802a20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=6, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=6, revents=POLLOUT}])
writev(6, [{"\207\0\2\0\1\0\0\0", 8}, {NULL, 0}, {"", 0}], 3) = 8
poll([{fd=6, events=POLLIN}], 1, -1)    = 1 ([{fd=6, revents=POLLIN}])
recvmsg(6, {msg_name(0)=NULL, msg_iov(1)=[{"\1\1\6\0\0\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 4096}], msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(6, 0x7ffe56802ad0, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802ad0, 0)           = -1 EAGAIN (Resource temporarily unavailable)
futex(0x7f68227a1428, FUTEX_WAKE_PRIVATE, 2147483647) = 0
poll([{fd=6, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=6, revents=POLLOUT}])
writev(6, [{"\20\0\5\0\v\0\0\0UTF8_STRING\0\20\0\6\0\20\0\0\0WM_C"..., 916}, {NULL, 0}, {"", 0}], 3) = 916
poll([{fd=6, events=POLLIN}], 1, -1)    = 1 ([{fd=6, revents=POLLIN}])
recvmsg(6, {msg_name(0)=NULL, msg_iov(1)=[{"\1\0\7\0\0\0\0\0 \1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 1088
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=6, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=6, revents=POLLOUT}])
writev(6, [{"b\0\4\0\5\0\0\0", 8}, {"RANDR", 5}, {"\0\0\0", 3}], 3) = 16
poll([{fd=6, events=POLLIN}], 1, -1)    = 1 ([{fd=6, revents=POLLIN}])
recvmsg(6, {msg_name(0)=NULL, msg_iov(1)=[{"\1\0)\0\0\0\0\0\1\214Y\223\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 4096}], msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=6, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=6, revents=POLLOUT}])
writev(6, [{"b\0\10\0\27\0\0\0", 8}, {"Generic Event Extension", 23}, {"\0", 1}], 3) = 32
poll([{fd=6, events=POLLIN}], 1, -1)    = 1 ([{fd=6, revents=POLLIN}])
recvmsg(6, {msg_name(0)=NULL, msg_iov(1)=[{"\1\0*\0\0\0\0\0\1\200\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 4096}], msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(6, 0x7ffe56802a80, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802a80, 0)           = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=6, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=6, revents=POLLOUT}])
writev(6, [{"\200\0\2\0\1\0\0\0", 8}, {NULL, 0}, {"", 0}], 3) = 8
poll([{fd=6, events=POLLIN}], 1, -1)    = 1 ([{fd=6, revents=POLLIN}])
recvmsg(6, {msg_name(0)=NULL, msg_iov(1)=[{"\1\0+\0\0\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 4096}], msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(6, 0x7ffe56802b40, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(6, 0x7ffe56802b40, 0)           = -1 EAGAIN (Resource temporarily unavailable)

> Unable to drive display on Ubuntu 16.04 (black window)
> ------------------------------------------------------
>
>                 Key: CB-11870
>                 URL: https://issues.apache.org/jira/browse/CB-11870
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: Ubuntu
>    Affects Versions: 6.3.1
>         Environment: Node version: v6.6.0
> Cordova version: 6.3.1
> Ubuntu: 16.04
> Compiz/Unity plugins: 'core', 'composite', 'opengl', 'regex', 'resize', 'commands', 'animation', 'snap', 'wall', 'place', 'compiztoolbox', 'imgpng', 'mousepoll', 'grid', 'unitymtgrabhandles', 'vpswitch', 'copytex', 'move', 'workarounds', 'session', 'fade', 'scale', 'expo', 'ezoom', 'unityshell'
>            Reporter: Pat Deegan
>            Assignee: Maxim Ermilov
>              Labels: blackwindow, ubuntu
>
> On a fresh install of both Ubuntu (16.04) and node/cordova, doing a standard "hello world" create/build/run:
> $ cordova create hello com.example.hello HelloWorld
> $ cd hello/
> $ cordova platforms add ubuntu
> $ cordova build ubuntu
> $ cordova run ubuntu
> yields a black screen.  Checking debug console (using chromium) seems to show the program is running correctly.  
> However, an strace of the process shows that the program starts up and then goes into a tight loop of polling on the /tmp/.X11-unix/X0 which gives a series of EAGAIN (resource unavailable) messages, e.g.
> recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
> recvmsg(6, 0x7ffe56802b20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
> Quick demo of entire process and result uploaded to
> https://youtu.be/dmsCJvHKyOs



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org