[cairo-bugs] [Bug 100432] New: Program terminates with SIGBUS if running in Docker

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Mar 28 10:24:12 UTC 2017


https://bugs.freedesktop.org/show_bug.cgi?id=100432

            Bug ID: 100432
           Summary: Program terminates with SIGBUS if running in Docker
           Product: cairo
           Version: unspecified
          Hardware: Other
                OS: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: general
          Assignee: chris at chris-wilson.co.uk
          Reporter: luka.napotnik at visionect.com
        QA Contact: cairo-bugs at cairographics.org

Created attachment 130497
  --> https://bugs.freedesktop.org/attachment.cgi?id=130497&action=edit
gdb backtrace

I'm running a gtk3 app inside an Ubuntu docker container that load a page via
WebKit and creates a snapshot of it.

The problem I have is that in some web pages, the app would terminate with a
SIGBUS signal. I've provided an attachment with the apps backtrace.

I've eliminated gtk3 and webkit as the offending memory allocation happens
inside cairo.

I've done some browsing and found out that a pointer arithmetic in
src/cairo-image-compositor.c @ _fill_xrgb32_lerp_opaque_spans causes unaligned
memory access.

Particularly, assignments like:

*d = lerp8x4 (r->u.fill.pixel, a, *d);

and:

uint32_t *d = (uint32_t *)(r->u.fill.data + r->u.fill.stride*yy +
spans[0].x*4);

in the mentioned function seemed to be problematic as they end up being
non-aligned.

The interesting thing is that the exact same app doesn't fail on the host
system, after running it for a long time.

If interested, I can also provide a working test case in a form of a docker
image.

Software used:
- x86-64 Ubuntu 16.04.1 on host
- phusion/baseimage as container baseimage 
- Docker 1.12.3
- updated to Cairo 1.14.8 in container

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cairographics.org/archives/cairo-bugs/attachments/20170328/1162daab/attachment.html>


More information about the cairo-bugs mailing list