[cairo-bugs] [Bug 90095] SIGBUS in polygon_add_edge on sparc

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Sun Apr 19 10:33:20 PDT 2015


Uli Schlachter <psychon at znc.in> changed:

           What    |Removed                     |Added
             Status|NEW                         |NEEDINFO

--- Comment #1 from Uli Schlachter <psychon at znc.in> ---
Could you check if commit 40201f4b1ab52c85922b2b7ae05dd862159a1aa0 fixes your

commit 40201f4b1ab52c85922b2b7ae05dd862159a1aa0
Author: Uli Schlachter <psychon at znc.in>
Date:   Fri Dec 5 14:43:26 2014 +0100

    tor-scan-converter: Correctly align 64bit types

    On 32bit SPARC the scan converter was causing a SIGBUS due to an unaligned
    memory access while accessing an int64_t. This memory accessing was to
    quorem's rem member.

    This crash occurred because the tor-scan-converter contains its own
    implementation of a memory pool. This implementation only guarantees an
    alignment of sizeof(void *), which is less than what a 64 bit type requires
    32bit platforms. This 4 byte alignment is guaranteed, because struct
    (which is the struct that is used for managing free space) contains
elements of
    that size and so the size of that struct is a multiple of this size as

    This problem was introduced with commit 03c3d4b7c15.

    To fix this problem, this commit introduces a int64_t member to struct
    _pool_chunk that marks the beginning of the free data space. Thanks to
this, the
    compiler ensures proper alignment and sizeof(struct _pool_chunk) becomes a
    multiple of 8.

    However, previously the end of the struct marked the beginning of the data
    sizeof() was used for correctly calculating offsets to the data section.
    just adding such a member would work, but would also waste some memory. To
    this, this commit also changes the rest of the pool implementation to

    Reported-by: Nicolas Setton <setton at adacore.com>
    Signed-off-by: Uli Schlachter <psychon at znc.in>
    Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>

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

More information about the cairo-bugs mailing list