← Back to team overview

touch-packages team mailing list archive

[Bug 1416482] Re: segfault in mir::compositor::GLProgramFamily::Shader::init()

 

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 are missing (LP: #1417650)
 -- Ubuntu daily release <ps-jenkins@xxxxxxxxxxxxxxxxxxx>   Mon, 09 Feb 2015 21:27:35 +0000

** Changed in: mir (Ubuntu)
       Status: New => Fix Released

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to mir in Ubuntu.
https://bugs.launchpad.net/bugs/1416482

Title:
  segfault in mir::compositor::GLProgramFamily::Shader::init()

Status in Mir:
  Fix Committed
Status in mir package in Ubuntu:
  Fix Released

Bug description:
  This is intermittent (so I'm not sure if there are other ways to
  reproduce) but Initial experiments suggest this comes of running
  mir_demo_server with the option "--display-config sidebyside" (and two
  monitors).

  Here's some gdb of a core:

  (gdb) info threads
    Id   Target Id         Frame 
    8    Thread 0x7f3e8effd700 (LWP 4942) 0x00007f3e9cbb8e1d in close () at ../sysdeps/unix/syscall-template.S:81
    7    Thread 0x7f3e8f7fe700 (LWP 4941) 0x00007f3e9c3b1283 in select () at ../sysdeps/unix/syscall-template.S:81
    6    Thread 0x7f3e8e7fc700 (LWP 4943) 0x00007f3e9c3b9ee3 in epoll_wait () at ../sysdeps/unix/syscall-template.S:81
    5    Thread 0x7f3e95b6a700 (LWP 4937) pthread_cond_wait@@GLIBC_2.3.2 ()
      at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
    4    Thread 0x7f3e95369700 (LWP 4938) 0x00007f3e9c3b9ee3 in epoll_wait () at ../sysdeps/unix/syscall-template.S:81
    3    Thread 0x7f3e94b68700 (LWP 4939) pthread_cond_wait@@GLIBC_2.3.2 ()
      at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
    2    Thread 0x7f3e9dd22780 (LWP 4935) 0x00007f3e9c3af45d in poll () at ../sysdeps/unix/syscall-template.S:81
  * 1    Thread 0x7f3e8ffff700 (LWP 4940) 0x00007f3e9683bc2b in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
  (gdb) bt
  #0  0x00007f3e9683bc2b in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
  #1  0x00007f3e9683bc89 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
  #2  0x00007f3e9683c1f5 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
  #3  0x00007f3e96816ec7 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
  #4  0x00007f3e9686169f in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
  #5  0x00007f3e966fbfcf in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
  #6  0x00007f3e9d60d542 in mir::compositor::GLProgramFamily::Shader::init (this=0x7f3e80002550, type=35632, 
      src=0x7f3e9d7a09a8 "precision mediump float;\nuniform sampler2D tex;\nuniform float alpha;\nvarying vec2 v_texcoord;\nvoid main() {\n   vec4 frag = texture2D(tex, v_texcoord);\n   gl_FragColor = alpha*frag;\n}\n")
      at /home/alan/display_server/mir3/src/server/compositor/gl_program_family.cpp:31
  #7  0x00007f3e9d60d9fa in mir::compositor::GLProgramFamily::add_program (this=0x7f3e800009f0, 
      vshader_src=0x7f3e9d7a0808 "attribute vec3 position;\nattribute vec2 texcoord;\nuniform mat4 screen_to_gl_coords;\nuniform mat4 display_transform;\nuniform mat4 transform;\nuniform vec2 centre;\nvarying vec2 v_texcoord;\nvoid main() {\n"..., 
      fshader_src=0x7f3e9d7a09a8 "precision mediump float;\nuniform sampler2D tex;\nuniform float alpha;\nvarying vec2 v_texcoord;\nvoid main() {\n   vec4 frag = texture2D(tex, v_texcoord);\n   gl_FragColor = alpha*frag;\n}\n")
      at /home/alan/display_server/mir3/src/server/compositor/gl_program_family.cpp:80
  #8  0x00007f3e9d6090e5 in mir::compositor::GLRenderer::GLRenderer(std::unique_ptr<mir::graphics::GLTextureCache, std::default_delete<mir::graphics::GLTextureCache> >&&, mir::geometry::Rectangle const&, mir::compositor::DestinationAlpha) (
      this=0x7f3e800009d0, texture_cache=<unknown type in bin/../lib/libmirserver.so.29, CU 0x4bf826, DIE 0x4d008e>, 
      display_area=..., dest_alpha=mir::compositor::DestinationAlpha::opaque)
      at /home/alan/display_server/mir3/src/server/compositor/gl_renderer.cpp:102
  #9  0x00007f3e9d60cb45 in mir::compositor::GLRendererFactory::create_renderer_for (this=0x26c7cb0, rect=..., 
      dest_alpha=mir::compositor::DestinationAlpha::opaque)
      at /home/alan/display_server/mir3/src/server/compositor/gl_renderer_factory.cpp:35
  #10 0x00007f3e9d603764 in mir::compositor::DefaultDisplayBufferCompositorFactory::create_compositor_for (this=0x2585d00, 
      display_buffer=...)
      at /home/alan/display_server/mir3/src/server/compositor/default_display_buffer_compositor_factory.cpp:44

To manage notifications about this bug go to:
https://bugs.launchpad.net/mir/+bug/1416482/+subscriptions