Uploaded image for project: 'Apache Cordova'
  1. Apache Cordova
  2. CB-11870

Unable to drive display on Ubuntu 16.04 (black window)

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 6.3.1
    • Fix Version/s: None
    • Component/s: cordova-ubuntu
    • Environment:

      Description

      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

        Activity

        Hide
        psychogenic Pat Deegan added a comment -

        After 5 months the issue remains, and this report seems orphaned...

        If there's anything I can do or any more info I can provide or anything at all to move forward and resolve this, please let me know.

        Show
        psychogenic Pat Deegan added a comment - After 5 months the issue remains, and this report seems orphaned... If there's anything I can do or any more info I can provide or anything at all to move forward and resolve this, please let me know.
        Hide
        psychogenic Pat Deegan added a comment - - edited

        Still no resolution of the issue but I'll document what I've attempted to date, here.

        Since the problem isn't happening on another Ubuntu 16.04 system, I've been looking into the display and associated drivers (on the Asus X556UA, with on-board Intel HD Graphics 520).

        I have:

        • created a /usr/share/X11/xorg.conf.d/20-intel.conf and to disable acceleration/DRI, like so
          Section "Device"
          Identifier "Intel Graphics"
          Driver "intel"
          Option "DRI" "false"
          Option "NoAccel" "True"
          EndSection

        and combinations thereof.

        • disabled OpenGL with the LIBGL_ALWAYS_SOFTWARE=1
        • tried the
          • intel X11 driver, the
          • fbdev driver and the
          • modesetting driver,
            in turn
        • I've run the cordova app on the "good" system, and used X11 Forwarding... that works. Running on the X556UA and forwarding to the other system displays the black window.
        • I've run the cordova-ubuntu program with every debug flag I could find in the QT modules:

        LIBQML_DUMP_ERRORS=1 QML_XHR_DUMP=1 QML_CHECK_TYPES=1 QML_DEBUGGER_VERBOSE=1 MALIIT_DEBUG=1 \
        QT_QPA_EVDEV_DEBUG=1 QT_QPA_EGLFS_DEBUG=1 QT_QPA_EVDEV_DEBUG=1 QT_DEBUG_BACKINGSTORE=1 \
        QT_DEBUG_PLUGINS=1 DEBUG=1 ./cordova-ubuntu www/

        which produces lots of output but doesn't actually report any problems.

        Now, I'm about ready to declare myself officially stumped and can't proceed with development until I can see the app (and know this won't happen to users)... Any ideas what else I can check?

        For reference, the system's current graphics setup is:
        Card: Intel Sky Lake Integrated Graphics
        Display Server: X.Org 1.18.3
        driver: intel
        Resolution: 1920x1080@60.00hz
        GLX Renderer: Mesa DRI Intel HD Graphics 520 (Skylake GT2)
        GLX Version: 3.0 Mesa 11.2.2

        Show
        psychogenic Pat Deegan added a comment - - edited Still no resolution of the issue but I'll document what I've attempted to date, here. Since the problem isn't happening on another Ubuntu 16.04 system, I've been looking into the display and associated drivers (on the Asus X556UA, with on-board Intel HD Graphics 520). I have: created a /usr/share/X11/xorg.conf.d/20-intel.conf and to disable acceleration/DRI, like so Section "Device" Identifier "Intel Graphics" Driver "intel" Option "DRI" "false" Option "NoAccel" "True" EndSection and combinations thereof. disabled OpenGL with the LIBGL_ALWAYS_SOFTWARE=1 tried the intel X11 driver, the fbdev driver and the modesetting driver, in turn installed the Intel Graphics For Linux, using the Intel Graphics Update Tool 2.0.2 for Ubuntu 16.04, 64-bit from https://01.org/linuxgraphics/ I've run the cordova app on the "good" system, and used X11 Forwarding... that works. Running on the X556UA and forwarding to the other system displays the black window. I've run the cordova-ubuntu program with every debug flag I could find in the QT modules: LIBQML_DUMP_ERRORS=1 QML_XHR_DUMP=1 QML_CHECK_TYPES=1 QML_DEBUGGER_VERBOSE=1 MALIIT_DEBUG=1 \ QT_QPA_EVDEV_DEBUG=1 QT_QPA_EGLFS_DEBUG=1 QT_QPA_EVDEV_DEBUG=1 QT_DEBUG_BACKINGSTORE=1 \ QT_DEBUG_PLUGINS=1 DEBUG=1 ./cordova-ubuntu www/ which produces lots of output but doesn't actually report any problems. Now, I'm about ready to declare myself officially stumped and can't proceed with development until I can see the app (and know this won't happen to users)... Any ideas what else I can check? For reference, the system's current graphics setup is: Card: Intel Sky Lake Integrated Graphics Display Server: X.Org 1.18.3 driver: intel Resolution: 1920x1080@60.00hz GLX Renderer: Mesa DRI Intel HD Graphics 520 (Skylake GT2) GLX Version: 3.0 Mesa 11.2.2
        Hide
        psychogenic Pat Deegan added a comment -

        An interesting development, and possible clue to the nature of the issue: I've found a way to get something to display--when you drag content (images and sometimes divs) it shows up momentarily.

        There's a short demo of how to reproduce and of the effect at https://youtu.be/WraR3pq12vE

        Show
        psychogenic Pat Deegan added a comment - An interesting development, and possible clue to the nature of the issue: I've found a way to get something to display--when you drag content (images and sometimes divs) it shows up momentarily. There's a short demo of how to reproduce and of the effect at https://youtu.be/WraR3pq12vE
        Hide
        psychogenic Pat Deegan added a comment -

        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)

        Show
        psychogenic Pat Deegan added a comment - 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)

          People

          • Assignee:
            Zaspire Maxim Ermilov
            Reporter:
            psychogenic Pat Deegan
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:

              Development