Mir

Integration test: AndroidInternalClient.internal_client_creation_and_use hangs on Nexus 10

Bug #1270685 reported by Daniel van Vugt
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mir
Fix Released
Medium
Kevin DuBois
mir (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

AndroidInternalClient.internal_client_creation_and_use hangs on Nexus 10...

$ bin/mir_integration_tests
...
[----------] 1 test from AndroidInternalClient
[ RUN ] AndroidInternalClient.internal_client_creation_and_use

WORKAROUND:
bin/mir_integration_tests \
  --gtest_filter="-AndroidInternalClient.internal_client_creation_and_use"

Related branches

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

(gdb) bt
#0 0xb65c9724 in __libc_do_syscall ()
   from /lib/arm-linux-gnueabihf/libpthread.so.0
#1 0xb65c52e6 in pthread_cond_wait@@GLIBC_2.4 ()
   from /lib/arm-linux-gnueabihf/libpthread.so.0
#2 0xb64b7654 in std::condition_variable::wait(std::unique_lock<std::mutex>&)
    () from /usr/lib/arm-linux-gnueabihf/libstdc++.so.6
#3 0xb6dbc350 in mir::compositor::SwitchingBundle::client_acquire (
    this=0x21e64e8)
    at /home/dan/bzr/mir/dev/src/server/compositor/switching_bundle.cpp:213
#4 0xb6db3a1a in mir::compositor::BufferStreamSurfaces::swap_client_buffers (
    this=0x21a1bf8, buffer=@0x222c2cc: 0x21d2788)
    at /home/dan/bzr/mir/dev/src/server/compositor/buffer_stream_surfaces.cpp:58
#5 0xb6e1d3b8 in mir::scene::BasicSurface::swap_buffers (this=0x21a1c28,
    buffer=@0x222c2cc: 0x21d2788)
    at /home/dan/bzr/mir/dev/src/server/scene/basic_surface.cpp:121
#6 0xb6e408ba in mir::scene::SurfaceImpl::swap_buffers (this=0x21a2648,
    buffer=@0x222c2cc: 0x21d2788)
    at /home/dan/bzr/mir/dev/src/server/scene/surface_impl.cpp:108
#7 0xb6de2432 in mir::frontend::ForwardingInternalSurface::swap_buffers (
    this=0x21a1c88, buffer=@0x222c2cc: 0x21d2788)
    at /home/dan/bzr/mir/dev/src/server/frontend/surface.cpp:42
#8 0xb694818c in mir::graphics::android::InternalClientWindow::driver_returns_---Type <return> to continue, or q <return> to quit---
buffer (this=0x222c2c0, key=0x2229820, fence_fd=-1)
    at /home/dan/bzr/mir/dev/src/platform/graphics/android/internal_client_window.cpp:68
#9 0xb694f66a in mir::graphics::android::MirNativeWindow::cancelBuffer (
    this=0x21b6c60, buffer=0x2229820, fence=-1)
    at /home/dan/bzr/mir/dev/src/shared/graphics/android/mir_native_window.cpp:186
#10 0xb694f456 in (anonymous namespace)::cancelBuffer_static (
    window=0x21b6c60, buffer=0x2229820, fence_fd=-1)
    at /home/dan/bzr/mir/dev/src/shared/graphics/android/mir_native_window.cpp:121

description: updated
Revision history for this message
Kevin DuBois (kdub) wrote :

pretty sure we just block in this test due to swapinterval 1 being set (and this driver will consume more buffers than other drivers)

Changed in mir:
status: Triaged → Confirmed
Revision history for this message
Kevin DuBois (kdub) wrote :

yes, the nexus 10 driver would request enough buffers that a buffer acquire would block. The linked branch changes the test to run at swap interval 0 so there's no blockage if the compositor never consumes a buffer. (which in this case, since its not running in the test, it never would)

Changed in mir:
assignee: nobody → Kevin DuBois (kdub)
status: Confirmed → In Progress
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:mir/devel at revision None, scheduled for release in mir, milestone Unknown

Changed in mir:
status: In Progress → Fix Committed
Changed in mir:
milestone: none → 0.1.5
Changed in mir:
status: Fix Committed → Fix Released
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

mir (0.1.5+14.04.20140212-0ubuntu1) trusty; urgency=medium

  [ Kevin Gunn ]
  * Cherry-picked from future release 0.1.6:
    - frontend, shell: provide the client process ID in the shell::Session
      interface (LP: #1276704)
  * New upstream release 0.1.5 (https://launchpad.net/mir/+milestone/0.1.5)
    - mirclient ABI bumped to 7
    - mirserver ABI bumped to 15
    - Refactoring to support client-controled RPC.
    - Add an translucent server example (use sparingly, this will kill
      performance!)
    - Add workaround for Qualcomm Snapdragon 8960 driver bug.
    - android-input: Improve debug output
    - Screen rotation support half done (rotation of the screen works but input
      rotation not implemented yet).
    - Add groundwork for overlay support to take better advantage of mobile
      hardware features and optimize composition in future.
    - Add support for HWC 1.2 (Android 4.4)
    - Add groundwork for screencasting (screen recording).
    - Optimized surface resizing, significantly reducing event flooding for
      some input configurations like touch.
    - Bugs fixed:
      . Surfaces no longer visible at all on Nexus 10 (LP: #1271853)
      . mir nested server failure: what(): error binding buffer to texture
        (LP: #1272041)
      . Unity does not process events from evdev device created before unity is
        restarted (autopilot tests) (LP: #1238417)
      . mir_unit_tests can't run on touch images any more (missing
        libumockdev.so.0) (LP: #1271434)
      . chmod 777 /tmp/mir_socket is no longer sufficient for non-root clients
        to connect to a root server (LP: #1272143)
      . Nexus7(2013) flo framerate maxes out at 30fps (LP: #1274189)
      . libmirserver user is unable to #include
         <mir/frontend/template_protobuf_message_processor.h> (LP: #1276162)
      . libmirclient user cannot "#include <mir/client/private.h>"
        (LP: #1276565)
      . AndroidInternalClient.internal_client_creation_and_use hangs on Nexus
        10 (LP: #1270685)
      . Tests that use the InProcessServer bind the default socket file
        (LP: #1271604)
      . BasicConnector threads exit immediately (LP: #1271655)
      . Integration tests TestClientIPCRender.test_accelerated_render fails on
        Galaxy Nexus and Nexus4 (LP: #1272597)
      . Android backend unit-tests FTBS on amd64 (LP: #1276621)
      . Erroneous use of last_consumed in SwitchingBundle::compositor_acquire
        (LP: #1270964)
 -- Ubuntu daily release <email address hidden> Wed, 12 Feb 2014 18:29:29 +0000

Changed in mir (Ubuntu):
importance: Undecided → Medium
status: New → Fix Released
summary: - AndroidInternalClient.internal_client_creation_and_use hangs on Nexus 10
+ Integration test: AndroidInternalClient.internal_client_creation_and_use
+ hangs on Nexus 10
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.