Mir

GLibMainLoopTest failure seen in CI

Bug #1413748 reported by Kevin DuBois
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Mir
Fix Released
High
Alexandros Frantzis
mir (Ubuntu)
Fix Released
Undecided
Unassigned

Related branches

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

Or is this bug 1407863?

Changed in mir:
status: New → Triaged
importance: Undecided → High
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

This is now blocking every branch I try to land.

tags: added: ci-blocker
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

More info in bug 1407863

Revision history for this message
Alexandros Frantzis (afrantzis) wrote :

The failing tests are tests that use a forked process to execute code. When that forked process ends (as part of the test) valgrind reports any memory errors found. It seems, however, that valgrind reports in the forked process all errors that occured in the parent process. So, all memory errors found in the parent process before each test that forks affect the result of every forked process. Perhaps bug 1407863 is also an instance of this problem.

In this particular case, what caused the memory error was an update to libgcc_s.so.1 which introduces "Invalid write of size 4" memory errors on armhf [1]. Due to the interaction between parent and forked processes described in the previous paragraph, this memory error caused the forked processes to return a non-zero value (because we use --error-exitcode=1), causing the respective tests to fail.

The proposed fix is to update the new memory error from libgcc_s.so.1 . Although it's possible that this is a genuine memory error in libgcc_s.so.1, previous experience indicates that this is probably a false positive. In any case, it's outside the scope of the Mir project.

[1] For example:
8: [ RUN ] GMock.return_by_move
8: ==10949== Invalid write of size 4
8: ==10949== at 0x4D7AC06: ??? (in /lib/arm-linux-gnueabihf/libgcc_s.so.1)
8: ==10949== Address 0xbdb8c740 is on thread 1's stack
8: ==10949== 16 bytes below stack pointer

Changed in mir:
assignee: nobody → Alexandros Frantzis (afrantzis)
status: Triaged → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (3.2 KiB)

This bug was fixed in the package mir - 0.11.0+15.04.20150209.1-0ubuntu1

---------------
mir (0.11.0+15.04.20150209.1-0ubuntu1) vivid; urgency=medium

  [ Daniel van Vugt ]
  * New upstream release 0.11.0 (https://launchpad.net/mir/+milestone/0.11.0)
    - Enhancements:
      . Lots more major plumbing in the Android code, on the path to
        supporting external displays.
      . Add support for clang 3.6.
      . Major redesign of server classes in mir::shell,scene and friends
        (still in progress).
      . Added client API for creating dialogs and tooltips.
      . Added new surface states: mir_surface_state_hidden and
        mir_surface_state_horizmaximized.
      . Performance: Use optimally efficient fragment shading when possible.
      . Performance: (Desktop) Composite using double buffering instead of
        triple to reduce visible lag.
      . mir_proving_server: Can now resize windows from any edge or corner
        using the existing Alt+middlebuttondrag.
      . mir_proving_server: Added some demo custom shaders (negative and
        high contrast modes: Super+N/C).
      . mir_proving_server: Can now close clients politely via Alt+F4.
      . Added MirPointerInputEvent (part of the new input API, the old
        MirMotionEvent is still supported also for now).
    - ABI summary: Servers need rebuilding, but clients do not;
      . Mirclient ABI unchanged at 8
      . Mircommon ABI unchanged at 3
      . Mirplatform ABI bumped to 6
      . Mirserver ABI bumped to 29
    - Bug fixes:
      . [regression] mir_demo_server exits immediately with boost
        bad_any_cast exception (LP: #1414630)
      . need way to position menus and tooltips (relative positioning to
        parent) (LP: #1324101)
      . GLibMainLoopTest failure seen in CI (LP: #1413748)
      . Clang builds fail in CI (LP: #1416317)
      . segfault in mir::compositor::GLProgramFamily::Shader::init()
        (LP: #1416482)
      . GLRenderer: The default fragment shader is sub-optimal for alpha=1.0
        (LP: #1350674)
      . mesa::DisplayBuffer::post_update is triple buffered - more laggy than
        it needs to be (LP: #1350725)
      . Cannot connect to nested server when started from a differen vt
        (LP: #1379266)
      . [testfail] AsioMainLoopAlarmTest fails in CI (LP: #1392256)
      . Compositor report inconsistently reports frame time during bypass,
        and render time otherwise (LP: #1408906)
      . [regression] mir_demo_client_fingerpaint doesn't paint anything any
        more (with the mouse) (LP: #1413139)
      . Hardware cursor is always slightly ahead of the composited image
        (LP: #1274408)
      . integration tests are outputting (too many) DisplayServer log
        messages (LP: #1408231)
      . [regression] deploy-and-test.sh doesn't work any more (unless you
        have umockdev installed already) (LP: #1413479)
      . Color Inverse on display. Toggle Negative Image (LP: #1400580)
      . mir-ubuntu-vivid-armhf-ci fails consistently (LP: #1407863)
      . Double-buffered surfaces may lag or freeze if event driven and not
        constantly redrawing (LP: #1395581)
      . Pointer motion and crossing events...

Read more...

Changed in mir (Ubuntu):
status: New → Fix Released
Changed in mir:
status: Fix Committed → Fix Released
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.