[Pixman] [cairo] pixman 0.18 MinGW SSE2 error

Soeren Sandmann sandmann at daimi.au.dk
Fri Apr 9 15:37:01 PDT 2010


Can you try compiling it without optimization, and then if it still
crashes try printing out the mask_image->component_alpha?

Also, try deleting this block in configure.ac:

        support_for__thread=no

        AC_MSG_CHECKING(for __thread)
        AC_COMPILE_IFELSE([
        __thread int x ;
        int main () { return 0; }
        ], support_for__thread=yes)
        
        if test $support_for__thread = yes; then 
           AC_DEFINE([TOOLCHAIN_SUPPORTS__THREAD],[],[Whether the tool chain
           supports _
        _thread])
        fi

        AC_MSG_RESULT($support_for__thread)

and then run autoreconf and configure again.

Finally, please keep the discussion on the list so that other people
can help out.


Thanks,
Soren

Sven Goericke <sgoericke at vandalay.org> writes:

> Hi,
> 
> i tried the pixman-0.19.1 lib you provided the link for. However, not
> that good news from here. Every time i built pixman i also rebuilt
> cairo and cairomm:
> 
> cairo: "./configure --prefix=/mingw LIBS=lpthread"
> cairomm: "./configure --prefix=/mingw"
> 
> As i said yesterday, it runs fine with pixman 0.17.10 and MinGW. On
> Linux (Archlinux, i686) and MacOS (10.5.8) it runs also fine. Windows
> version is Vista Business 64bit. Output from g++ -v is
> 
> Using built-in specs.
> Target: mingw32
> Configured with: ../gcc-4.4.0/configure
> --enable-languages=c,ada,c++,fortran,java,objc,obj-c++
> --disable-sjlj-exceptions --enable-shared --enable-libgcj
> --enable-libgomp --with-dwarf2 --disable-win32-registry
> --enable-libstdcxx-debug --enable-version-specific-runtime-libs
> --prefix=/mingw --with-gmp=/mingw/src/gmp/root
> --with-mpfr=/mingw/src/mpfr/root --build=mingw32
> Thread model: win32
> gcc version 4.4.0 (GCC)
> 
> I uploaded two images showing the problem, the first one with pixman
> 0.17.10 which works fine, second with pixman 0.19.1:
> 
> http://sven.xpjets.com/images/xpj777_pixman_ok.png
> http://sven.xpjets.com/images/xpj777_pixman_fail.png
> 
> Debug results:
> 
> building pixman-0.19.1 with "./configure --prefix=/mingw"
> 
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 4552.0x3cc]
> sse2_composite_add_n_8888_8888_ca (imp=0x2b375da8, op=PIXMAN_OP_OVER,
>      src_image=0x2b3786d0, mask_image=0x3c015dc8, dst_image=0x3012c9d8,
>      src_x=153, src_y=316, mask_x=0, mask_y=0, dest_x=153, dest_y=316,
>      width=34, height=22) at pixman-sse2.c:3241
> 3241		    m = *pm++;
> (gdb) p mask_image->common.component_alpha
> $1 = 0
> (gdb)
> (gdb) bt
> #0  sse2_composite_add_n_8888_8888_ca (imp=0x2b375da8, op=PIXMAN_OP_OVER,
>      src_image=0x2b3786d0, mask_image=0x3c015dc8, dst_image=0x3012c9d8,
>      src_x=153, src_y=316, mask_x=0, mask_y=0, dest_x=153, dest_y=316,
>      width=34, height=22) at pixman-sse2.c:3241
> #1  0x65336f8a in walk_region_internal (op=PIXMAN_OP_OVER, src=0x2b3786d0,
>      mask=0x3c015dc8, dest=0x3012c9d8, src_x=153, src_y=316, mask_x=0,
>      mask_y=0, dest_x=153, dest_y=316, width=34, height=22) at pixman.c:397
> #2  do_composite (op=PIXMAN_OP_OVER, src=0x2b3786d0, mask=0x3c015dc8,
>      dest=0x3012c9d8, src_x=153, src_y=316, mask_x=0, mask_y=0, dest_x=153,
>      dest_y=316, width=34, height=22) at pixman.c:720
> #3  pixman_image_composite32 (op=PIXMAN_OP_OVER, src=0x2b3786d0,
>      mask=0x3c015dc8, dest=0x3012c9d8, src_x=153, src_y=316, mask_x=0,
>      mask_y=0, dest_x=153, dest_y=316, width=34, height=22) at pixman.c:819
> #4  0x68dce0f6 in _cairo_image_surface_composite_trapezoids (
>      op=CAIRO_OPERATOR_OVER, pattern=0x30224aa0, abstract_dst=0x3012cab0,
>      antialias=CAIRO_ANTIALIAS_DEFAULT, src_x=153, src_y=316,
>      dst_x=<value optimized out>, dst_y=<value optimized out>,
>      width=<value optimized out>, height=<value optimized out>,
>      traps=0x3c015fa0, num_traps=5) at cairo-image-surface.c:1189
> #5  0x68de03ec in _cairo_surface_composite_trapezoids (
>      op=CAIRO_OPERATOR_OVER, pattern=0x30224aa0, dst=0x3012cab0,
>      antialias=CAIRO_ANTIALIAS_DEFAULT, src_x=153, src_y=316, dst_x=153,
>      dst_y=316, width=34, height=22, traps=0x3c015fa0, num_traps=5)
>      at cairo-surface.c:1732
> #6  0x68de36f2 in _composite_traps_draw_func (closure=0x3ee3f4c8,
>      op=CAIRO_OPERATOR_OVER, src=0x30224aa0, dst=0x3012cab0, dst_x=0,
> dst_y=0,
>      extents=0x3ee3f4b8) at cairo-surface-fallback.c:501
> #7  0x68de2883 in _clip_and_composite (clip=0x0, op=CAIRO_OPERATOR_OVER,
>      src=<value optimized out>,
>      draw_func=0x68de362c <_composite_traps_draw_func>,
>      draw_closure=0x3ee3f4c8, dst=0x3012cab0, extents=0x3ee3f4b8)
>      at cairo-surface-fallback.c:395
> #8  0x68de3072 in _clip_and_composite_trapezoids (src=<value optimized
> out>,
>      op=CAIRO_OPERATOR_OVER, dst=0x3012cab0, traps=0x3ee3f524, clip=0x0,
>      antialias=CAIRO_ANTIALIAS_DEFAULT) at cairo-surface-fallback.c:660
> #9  0x68de3871 in _cairo_surface_fallback_stroke (surface=0x3012cab0,
>      op=CAIRO_OPERATOR_OVER, source=0x30224aa0, path=0x302152a4,
>      stroke_style=0x3c014fc0, ctm=0x3ee3f858, ctm_inverse=0x3ee3f828,
>      tolerance=0.10000000000000001, antialias=CAIRO_ANTIALIAS_DEFAULT)
>      at cairo-surface-fallback.c:839
> #10 0x68de06eb in _cairo_surface_stroke (surface=0x3012cab0,
>      op=CAIRO_OPERATOR_OVER, source=0x3ee3f8e0, path=0x302152a4,
>      stroke_style=0x3c014fc0, ctm=<value optimized out>,
>      ctm_inverse=0x3c0150e0, tolerance=0.10000000000000001,
>      antialias=CAIRO_ANTIALIAS_DEFAULT) at cairo-surface.c:1649
> #11 0x68dcbb21 in _cairo_gstate_stroke (gstate=0x3c014fa8, path=0x302152a4)
>      at cairo-gstate.c:945
> #12 0x68dc61f1 in cairo_stroke_preserve (cr=0x30215110) at cairo.c:2136
> #13 0x68dc6216 in cairo_stroke (cr=0x30215110) at cairo.c:2109
> #14 0x621423a1 in Cairo::Context::stroke (this=0x2846edf8) at context.cc:356
> #15 0x6d4b2859 in NavigationDisplay::DrawExpandedDisplay (this=0x3012c800)
>      at expanded_display.cpp:97
> #16 0x6d4c10f9 in NavigationDisplay::DoDraw (this=0x3012c800)
>      at navigation_display.cpp:197
> #17 0x6d4e15d6 in XPJDisplay::DrawingThread::Run (this=0x3012c768)
>      at xpjdisplay.cpp:29
> #18 0x6d4d65fe in Thread::thread_func (args=0x3012c768) at
> sg_threads.cpp:100
> #19 0x101c5121 in ptw32_threadStart at 4 () from d:\X-Plane\libpthread-2.dll
> #20 0x75632599 in wcstombs () from C:\Windows\syswow64\msvcrt.dll
> #21 0x756326b3 in msvcrt!_beginthreadex () from
> C:\Windows\syswow64\msvcrt.dll
> #22 0x7589eccb in UnhandledExceptionFilter ()
>     from C:\Windows\syswow64\kernel32.dll
> #23 0x3c013b10 in ?? ()
> #24 0x7764d24d in ntdll!RtlWow64CallFunction64 ()
>     from C:\Windows\system32\ntdll.dll
> #25 0x3c013b10 in ?? ()
> #26 0x7764d45f in ntdll!RtlCloneMemoryStream ()
>     from C:\Windows\system32\ntdll.dll
> #27 0x75632670 in msvcrt!_beginthreadex () from
> C:\Windows\syswow64\msvcrt.dll
> #28 0x00000000 in ?? ()
> (gdb) kill
> 
> building pixman-0.19.1 with "./configure --prefix=/mingw --disable-sse2"
> 
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 4840.0x920]
> mmx_composite_over_n_8888_8888_ca (imp=0x2ad75760, op=PIXMAN_OP_OVER,
>      src_image=0x2f70d170, mask_image=0x0, dst_image=0x2f70d368, src_x=0,
>      src_y=0, mask_x=0, mask_y=0, dest_x=0, dest_y=0, width=330, height=330)
>      at pixman-mmx.c:1285
> 1285	    PIXMAN_IMAGE_GET_LINE (mask_image, mask_x, mask_y,
> uint32_t, mask_stride, mask_line, 1);
> (gdb) bt
> #0  mmx_composite_over_n_8888_8888_ca (imp=0x2ad75760, op=PIXMAN_OP_OVER,
>      src_image=0x2f70d170, mask_image=0x0, dst_image=0x2f70d368, src_x=0,
>      src_y=0, mask_x=0, mask_y=0, dest_x=0, dest_y=0, width=330, height=330)
>      at pixman-mmx.c:1285
> #1  0x65336d3f in walk_region_internal (op=PIXMAN_OP_OVER, src=0x2f70d170,
>      mask=0x0, dest=0x2f70d368, src_x=0, src_y=0, mask_x=0, mask_y=0,
>      dest_x=0, dest_y=0, width=330, height=330) at pixman.c:397
> #2  do_composite (op=PIXMAN_OP_OVER, src=0x2f70d170, mask=0x0,
>      dest=0x2f70d368, src_x=0, src_y=0, mask_x=0, mask_y=0, dest_x=0,
>      dest_y=0, width=330, height=330) at pixman.c:720
> #3  pixman_image_composite32 (op=PIXMAN_OP_OVER, src=0x2f70d170, mask=0x0,
>      dest=0x2f70d368, src_x=0, src_y=0, mask_x=0, mask_y=0, dest_x=0,
>      dest_y=0, width=330, height=330) at pixman.c:819
> #4  0x68dce770 in _cairo_image_surface_composite (op=CAIRO_OPERATOR_OVER,
>      src_pattern=0x2f945b00, mask_pattern=0x0, abstract_dst=0x2f62be18,
>      src_x=0, src_y=0, mask_x=0, mask_y=0, dst_x=<value optimized out>,
>      dst_y=<value optimized out>, width=<value optimized out>,
>      height=<value optimized out>) at cairo-image-surface.c:994
> #5  0x68de1230 in _cairo_surface_composite (op=CAIRO_OPERATOR_OVER,
>      src=0x2f945b00, mask=0x0, dst=0x2f62be18, src_x=0, src_y=0, mask_x=0,
>      mask_y=0, dst_x=0, dst_y=0, width=330, height=330) at
> cairo-surface.c:1295
> #6  0x68de3302 in _composite_trap_region (src=<value optimized out>,
>      op=CAIRO_OPERATOR_OVER, dst=0x2f62be18, traps=0x364dfb04, clip=0x0,
>      antialias=CAIRO_ANTIALIAS_NONE) at cairo-surface-fallback.c:449
> #7  _clip_and_composite_trapezoids (src=<value optimized out>,
>      op=CAIRO_OPERATOR_OVER, dst=0x2f62be18, traps=0x364dfb04, clip=0x0,
>      antialias=CAIRO_ANTIALIAS_NONE) at cairo-surface-fallback.c:644
> #8  0x68de394b in _cairo_surface_fallback_paint (surface=0x2f62be18,
>      op=CAIRO_OPERATOR_OVER, source=0x2f945b00) at
> cairo-surface-fallback.c:705
> #9  0x68de0a9f in _cairo_surface_paint (surface=0x2f62be18,
>      op=CAIRO_OPERATOR_OVER, source=0x364dfc10) at cairo-surface.c:1500
> #10 0x68dcbc92 in _cairo_gstate_paint (gstate=0x2f62bf58)
>      at cairo-gstate.c:878
> #11 0x68dc6313 in cairo_paint (cr=0x2f62bf38) at cairo.c:1959
> #12 0x68dc63fe in cairo_paint_with_alpha (cr=0x2f62bf38, alpha=1)
>      at cairo.c:1987
> #13 0x6214244f in Cairo::Context::paint_with_alpha (this=0x285e7878,
> alpha=1)
>      at context.cc:338
> #14 0x6d4bfc9e in MfdDisplay::DrawFinalBuffer (this=0x2f70cff8)
>      at mfd_display.cpp:285
> #15 0x6d4bfb1b in MfdDisplay::DoDraw (this=0x2f70cff8) at
> mfd_display.cpp:275
> #16 0x6d4e15d6 in XPJDisplay::DrawingThread::Run (this=0x2f62c7f0)
>      at xpjdisplay.cpp:29
> #17 0x6d4d65fe in Thread::thread_func (args=0x2f62c7f0) at
> sg_threads.cpp:100
> #18 0x124c5121 in ptw32_threadStart at 4 () from d:\X-Plane\libpthread-2.dll
> #19 0x75632599 in wcstombs () from C:\Windows\syswow64\msvcrt.dll
> #20 0x756326b3 in msvcrt!_beginthreadex () from
> C:\Windows\syswow64\msvcrt.dll
> #21 0x7589eccb in UnhandledExceptionFilter ()
>     from C:\Windows\syswow64\kernel32.dll
> #22 0x2f62cbb0 in ?? ()
> #23 0x7764d24d in ntdll!RtlWow64CallFunction64 ()
>     from C:\Windows\system32\ntdll.dll
> #24 0x2f62cbb0 in ?? ()
> #25 0x7764d45f in ntdll!RtlCloneMemoryStream ()
>     from C:\Windows\system32\ntdll.dll
> #26 0x75632670 in msvcrt!_beginthreadex () from
> C:\Windows\syswow64\msvcrt.dll
> #27 0x00000000 in ?? ()
> (gdb) kill
> 
> I didn't "p mask_image->common.component_alpha" because "mask_image=0x0"
> 
> next try:
> 
> building pixman-0.19.1 with "./configure --prefix=/mingw
> --disable-sse2 --disable-mmx"
> 
> Program received signal SIGTRAP, Trace/breakpoint trap.
> [Switching to Thread 4692.0x12b4]
> 0x775e0005 in ntdll!RtlTraceDatabaseLock () from
> C:\Windows\system32\ntdll.dll
> (gdb) warning: HEAP[X-Plane.exe]:
> warning: Heap block at 3BC750B0 modified at 3BC750DC past requested
> size of 24
> 
> 
> (gdb) bt
> #0  0x775e0005 in ntdll!RtlTraceDatabaseLock ()
>     from C:\Windows\system32\ntdll.dll
> #1  0x7767cad0 in ntdll!LdrAccessResource ()
>     from C:\Windows\system32\ntdll.dll
> #2  0x3a90ef80 in ?? ()
> #3  0x77658fbf in ntdll!RtlQueryInterfaceMemoryStream ()
>     from C:\Windows\system32\ntdll.dll
> #4  0x3bc750b0 in ?? ()
> #5  0x77637a24 in ntdll!RtlBarrier () from C:\Windows\system32\ntdll.dll
> #6  0x00000000 in ?? ()
> (gdb) c
> Continuing.
> 
> Program received signal SIGTRAP, Trace/breakpoint trap.
> 0x775e0005 in ntdll!RtlTraceDatabaseLock () from
> C:\Windows\system32\ntdll.dll
> (gdb) warning: HEAP[X-Plane.exe]:
> warning: Invalid address specified to RtlFreeHeap( 04970000, 3BC750B8 )
> 
> 
> Continuing.
> 
> Program received signal SIGTRAP, Trace/breakpoint trap.
> 0x775e0005 in ntdll!RtlTraceDatabaseLock () from
> C:\Windows\system32\ntdll.dll
> (gdb) warning: HEAP[X-Plane.exe]:
> warning: Heap block at 3BCB0AE0 modified at 3BCB0B0C past requested
> size of 24
> 
> 
> Continuing.
> 
> Program received signal SIGTRAP, Trace/breakpoint trap.
> 0x775e0005 in ntdll!RtlTraceDatabaseLock () from
> C:\Windows\system32\ntdll.dll
> (gdb) warning: HEAP[X-Plane.exe]:
> warning: Invalid address specified to RtlFreeHeap( 04970000, 3BCB0AE8 )
> 
> 
> Continuing.
> 
> Program received signal SIGTRAP, Trace/breakpoint trap.
> [Switching to Thread 4692.0xe10]
> 0x775e0005 in ntdll!RtlTraceDatabaseLock () from
> C:\Windows\system32\ntdll.dll
> (gdb) warning: HEAP[X-Plane.exe]:
> warning: Heap block at 3BCB7770 modified at 3BCBA13C past requested
> size of 29c4
> 
> (gdb) Quit (expect signal SIGINT when the program is resumed)
> 
> Thereafter i rebuild pixman, cairo (1.8.10) and cairomm (1.8.4) once
> again and tried it again:
> 
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 5072.0x133c]
> fast_composite_add_n_8888_8888_ca (imp=0x2ae85340, op=PIXMAN_OP_OVER,
>      src_image=0x2aff51d8, mask_image=0x2f8f34b8, dst_image=0x2f7fe748,
>      src_x=2, src_y=26, mask_x=0, mask_y=0, dest_x=2, dest_y=26, width=178,
>      height=0) at pixman-fast-path.c:391
> 391		    ma = *mask++;
> (gdb) p mask_image->common.component_alpha
> $1 = 0
> (gdb) bt
> #0  fast_composite_add_n_8888_8888_ca (imp=0x2ae85340, op=PIXMAN_OP_OVER,
>      src_image=0x2aff51d8, mask_image=0x2f8f34b8, dst_image=0x2f7fe748,
>      src_x=2, src_y=26, mask_x=0, mask_y=0, dest_x=2, dest_y=26, width=178,
>      height=0) at pixman-fast-path.c:391
> #1  0x65336c0b in walk_region_internal (op=PIXMAN_OP_OVER, src=0x2aff51d8,
>      mask=0x2f8f34b8, dest=0x2f7fe748, src_x=2, src_y=26, mask_x=0,
> mask_y=0,
>      dest_x=2, dest_y=26, width=178, height=1) at pixman.c:397
> #2  do_composite (op=PIXMAN_OP_OVER, src=0x2aff51d8, mask=0x2f8f34b8,
>      dest=0x2f7fe748, src_x=2, src_y=26, mask_x=0, mask_y=0, dest_x=2,
>      dest_y=26, width=178, height=1) at pixman.c:720
> #3  pixman_image_composite32 (op=PIXMAN_OP_OVER, src=0x2aff51d8,
>      mask=0x2f8f34b8, dest=0x2f7fe748, src_x=2, src_y=26, mask_x=0,
> mask_y=0,
>      dest_x=2, dest_y=26, width=178, height=1) at pixman.c:819
> #4  0x68dce0f6 in _cairo_image_surface_composite_trapezoids (
>      op=CAIRO_OPERATOR_OVER, pattern=0x2f8f4a18, abstract_dst=0x2f7fea78,
>      antialias=CAIRO_ANTIALIAS_DEFAULT, src_x=2, src_y=26,
>      dst_x=<value optimized out>, dst_y=<value optimized out>,
>      width=<value optimized out>, height=<value optimized out>,
>      traps=0x2fae7fe8, num_traps=26) at cairo-image-surface.c:1189
> #5  0x68de03ec in _cairo_surface_composite_trapezoids (
>      op=CAIRO_OPERATOR_OVER, pattern=0x2f8f4a18, dst=0x2f7fea78,
>      antialias=CAIRO_ANTIALIAS_DEFAULT, src_x=2, src_y=26, dst_x=2,
> dst_y=26,
>      width=178, height=1, traps=0x2fae7fe8, num_traps=26)
>      at cairo-surface.c:1732
> #6  0x68de36f2 in _composite_traps_draw_func (closure=0x386af688,
>      op=CAIRO_OPERATOR_OVER, src=0x2f8f4a18, dst=0x2f7fea78, dst_x=0,
> dst_y=0,
>      extents=0x386af678) at cairo-surface-fallback.c:501
> #7  0x68de2883 in _clip_and_composite (clip=0x0, op=CAIRO_OPERATOR_OVER,
>      src=<value optimized out>,
>      draw_func=0x68de362c <_composite_traps_draw_func>,
>      draw_closure=0x386af688, dst=0x2f7fea78, extents=0x386af678)
>      at cairo-surface-fallback.c:395
> #8  0x68de3072 in _clip_and_composite_trapezoids (src=<value optimized
> out>,
>      op=CAIRO_OPERATOR_OVER, dst=0x2f7fea78, traps=0x386af6e4, clip=0x0,
>      antialias=CAIRO_ANTIALIAS_DEFAULT) at cairo-surface-fallback.c:660
> #9  0x68de3871 in _cairo_surface_fallback_stroke (surface=0x2f7fea78,
>      op=CAIRO_OPERATOR_OVER, source=0x2f8f4a18, path=0x2fa045ac,
>      stroke_style=0x2fa04450, ctm=0x386afa18, ctm_inverse=0x386af9e8,
>      tolerance=0.10000000000000001, antialias=CAIRO_ANTIALIAS_DEFAULT)
>      at cairo-surface-fallback.c:839
> #10 0x68de06eb in _cairo_surface_stroke (surface=0x2f7fea78,
>      op=CAIRO_OPERATOR_OVER, source=0x386afaa0, path=0x2fa045ac,
>      stroke_style=0x2fa04450, ctm=<value optimized out>,
>      ctm_inverse=0x2fa04570, tolerance=0.10000000000000001,
>      antialias=CAIRO_ANTIALIAS_DEFAULT) at cairo-surface.c:1649
> #11 0x68dcbb21 in _cairo_gstate_stroke (gstate=0x2fa04438, path=0x2fa045ac)
>      at cairo-gstate.c:945
> #12 0x68dc61f1 in cairo_stroke_preserve (cr=0x2fa04418) at cairo.c:2136
> #13 0x68dc6216 in cairo_stroke (cr=0x2fa04418) at cairo.c:2109
> #14 0x621423a1 in Cairo::Context::stroke (this=0x2f7fc270) at context.cc:356
> #15 0x6d49e9f7 in CduDisplay::DrawIdentPage (this=0x2f7fe638)
>      at cdu_display.cpp:227
> #16 0x6d49d43b in CduDisplay::DoDraw (this=0x2f7fe638) at cdu_display.cpp:68
> #17 0x6d4e15d6 in XPJDisplay::DrawingThread::Run (this=0x2f7fbfb0)
>      at xpjdisplay.cpp:29
> #18 0x6d4d65fe in Thread::thread_func (args=0x2f7fbfb0) at
> sg_threads.cpp:100
> #19 0x12bf5121 in ptw32_threadStart at 4 () from d:\X-Plane\libpthread-2.dll
> #20 0x75632599 in wcstombs () from C:\Windows\syswow64\msvcrt.dll
> #21 0x756326b3 in msvcrt!_beginthreadex () from
> C:\Windows\syswow64\msvcrt.dll
> #22 0x7589eccb in UnhandledExceptionFilter ()
>     from C:\Windows\syswow64\kernel32.dll
> #23 0x2f801a38 in ?? ()
> #24 0x7764d24d in ntdll!RtlWow64CallFunction64 ()
>     from C:\Windows\system32\ntdll.dll
> #25 0x2f801a38 in ?? ()
> #26 0x7764d45f in ntdll!RtlCloneMemoryStream ()
>     from C:\Windows\system32\ntdll.dll
> #27 0x75632670 in msvcrt!_beginthreadex () from
> C:\Windows\syswow64\msvcrt.dll
> #28 0x00000000 in ?? ()
> (gdb) k
> Kill the program being debugged? (y or n)
> (gdb) q
> 
> Soeren Sandmann wrote:
> > Hi,
> > Thanks for the bug report.
> > It's entirely possible that this is caused by the TLS issues that Tor
> > pointed out. If so, they may be fixed in the tls-fixes branch of this
> > repository:
> >         git://anongit.freedesktop.org/~sandmann/pixman
> > There is a tarball with the fixes applied here:
> >         http://www.daimi.au.dk/~sandmann/pixman-0.19.1.tar.gz
> > If that doesn't fix the problem, here are some questions:
> > - When the bug happens, what does this:
> >         print mask_image->common.component_alpha
> >   say in the debugger?
> > - Does the problem happen with 0.16.x releases?
> > - Does the problem happen when pixman is compiled with
> > --disable-sse2?
> > Thanks,
> > Soren
> > Sven Goericke <sgoericke at vandalay.org> writes:
> >
> >> Helo all,
> >>
> >> just build all libraries needed for cairomm to use with X-Plane running
> >> on Win32. With the latest pixman i get an error related to sse2 i think.
> >> Not sure if i missed some option in the configure script.
> >>
> >> I use cairomm with an X-Plane plugin which is a normal DLL on Windows
> >> OS. I post the gdb output here, maybe someone have a clue what's wrong.
> >>
> >> Regards
> >> Sven
> >>
> >> Program received signal SIGSEGV, Segmentation fault.
> >> [Switching to Thread 1992.0xfa8]
> >> sse2_composite_add_n_8888_8888_ca (imp=0x29556208, op=PIXMAN_OP_OVER,
> >>     src_image=0x29558b30, mask_image=0x3a258500, dst_image=0x2de0cb68,
> >>     src_x=240, src_y=45, mask_x=0, mask_y=0, dest_x=240, dest_y=45,
> >> width=57,
> >>     height=17) at pixman-sse2.c:3212
> >> 	in pixman-sse2.c
> >> (gdb) 3212	pixman-sse2.c: No such file or directory.
> >> (gdb) bt
> >> #0  sse2_composite_add_n_8888_8888_ca (imp=0x29556208, op=PIXMAN_OP_OVER,
> >>     src_image=0x29558b30, mask_image=0x3a258500, dst_image=0x2de0cb68,
> >>     src_x=240, src_y=45, mask_x=0, mask_y=0, dest_x=240, dest_y=45,
> >> width=57,
> >>     height=17) at pixman-sse2.c:3212
> >> #1  0x65336f8a in walk_region_internal (op=PIXMAN_OP_OVER, src=0x29558b30,
> >>     mask=0x3a258500, dest=0x2de0cb68, src_x=240, src_y=45, mask_x=0,
> >>     mask_y=0, dest_x=240, dest_y=45, width=57, height=17) at pixman.c:397
> >> #2  do_composite (op=PIXMAN_OP_OVER, src=0x29558b30, mask=0x3a258500,
> >>     dest=0x2de0cb68, src_x=240, src_y=45, mask_x=0, mask_y=0, dest_x=240,
> >>     dest_y=45, width=57, height=17) at pixman.c:720
> >> #3  pixman_image_composite32 (op=PIXMAN_OP_OVER, src=0x29558b30,
> >>     mask=0x3a258500, dest=0x2de0cb68, src_x=240, src_y=45, mask_x=0,
> >>     mask_y=0, dest_x=240, dest_y=45, width=57, height=17) at pixman.c:819
> >> #4  0x68dce0f6 in _cairo_image_surface_composite_trapezoids (
> >>     op=CAIRO_OPERATOR_OVER, pattern=0x3a25ac28, abstract_dst=0x2de0d0a0,
> >>     antialias=CAIRO_ANTIALIAS_DEFAULT, src_x=240, src_y=45,
> >>     dst_x=<value optimized out>, dst_y=<value optimized out>,
> >>     width=<value optimized out>, height=<value optimized out>,
> >>     traps=0x3a25dcf8, num_traps=103) at cairo-image-surface.c:1189
> >> #5  0x68de03ec in _cairo_surface_composite_trapezoids (
> >>     op=CAIRO_OPERATOR_OVER, pattern=0x3a25ac28, dst=0x2de0d0a0,
> >>     antialias=CAIRO_ANTIALIAS_DEFAULT, src_x=240, src_y=45, dst_x=240,
> >>     dst_y=45, width=57, height=17, traps=0x3a25dcf8, num_traps=103)
> >>     at cairo-surface.c:1732
> >> #6  0x68de36f2 in _composite_traps_draw_func (closure=0x34cbe5b8,
> >>     op=CAIRO_OPERATOR_OVER, src=0x3a25ac28, dst=0x2de0d0a0, dst_x=0,
> >> dst_y=0,
> >>     extents=0x34cbe5a8) at cairo-surface-fallback.c:501
> >> #7  0x68de2883 in _clip_and_composite (clip=0x0, op=CAIRO_OPERATOR_OVER,
> >>     src=<value optimized out>,
> >>     draw_func=0x68de362c <_composite_traps_draw_func>,
> >>     draw_closure=0x34cbe5b8, dst=0x2de0d0a0, extents=0x34cbe5a8)
> >>     at cairo-surface-fallback.c:395
> >> #8  0x68de3072 in _clip_and_composite_trapezoids (src=<value optimized
> >> out>,
> >>     op=CAIRO_OPERATOR_OVER, dst=0x2de0d0a0, traps=0x34cbe614, clip=0x0,
> >>     antialias=CAIRO_ANTIALIAS_DEFAULT) at cairo-surface-fallback.c:660
> >> #9  0x68de3871 in _cairo_surface_fallback_stroke (surface=0x2de0d0a0,
> >>     op=CAIRO_OPERATOR_OVER, source=0x3a25ac28, path=0x2de0d4ec,
> >>     stroke_style=0x2de0d390, ctm=0x34cbe948, ctm_inverse=0x34cbe918,
> >>     tolerance=0.10000000000000001, antialias=CAIRO_ANTIALIAS_DEFAULT)
> >>     at cairo-surface-fallback.c:839
> >> #10 0x68de06eb in _cairo_surface_stroke (surface=0x2de0d0a0,
> >>     op=CAIRO_OPERATOR_OVER, source=0x34cbe9d0, path=0x2de0d4ec,
> >>     stroke_style=0x2de0d390, ctm=<value optimized out>,
> >>     ctm_inverse=0x2de0d4b0, tolerance=0.10000000000000001,
> >>     antialias=CAIRO_ANTIALIAS_DEFAULT) at cairo-surface.c:1649
> >> #11 0x68dcbb21 in _cairo_gstate_stroke (gstate=0x2de0d378, path=0x2de0d4ec)
> >>     at cairo-gstate.c:945
> >> #12 0x68dc61f1 in cairo_stroke_preserve (cr=0x2de0d358) at cairo.c:2136
> >> #13 0x68dc6216 in cairo_stroke (cr=0x2de0d358) at cairo.c:2109
> >> #14 0x621423a1 in Cairo::Context::stroke (this=0x26d823d0) at
> >> context.cc:356
> >> #15 0x6d48a55b in MfdDisplay::DrawAirSystemsPage (this=0x2de0c9f0)
> >>     at air_systems_page.cpp:445
> >> #16 0x6d4bfa11 in MfdDisplay::DoDraw (this=0x2de0c9f0) at
> >> mfd_display.cpp:256
> >> #17 0x6d4e15d2 in XPJDisplay::DrawingThread::Run (this=0x2de09e70)
> >>     at xpjdisplay.cpp:29
> >> #18 0x6d4d65fa in Thread::thread_func (args=0x2de09e70) at
> >> sg_threads.cpp:100
> >> #19 0x0ef45121 in ptw32_threadStart at 4 () from d:\X-Plane\libpthread-2.dll
> >> #20 0x76832599 in wcstombs () from C:\Windows\syswow64\msvcrt.dll
> >> #21 0x768326b3 in msvcrt!_beginthreadex () from
> >> C:\Windows\syswow64\msvcrt.dll
> >> #22 0x76caeccb in UnhandledExceptionFilter ()
> >>    from C:\Windows\syswow64\kernel32.dll
> >> #23 0x2de0e868 in ?? ()
> >> #24 0x772cd24d in ntdll!RtlWow64CallFunction64 ()
> >>    from C:\Windows\system32\ntdll.dll
> >> #25 0x2de0e868 in ?? ()
> >> #26 0x772cd45f in ntdll!RtlCloneMemoryStream ()
> >>    from C:\Windows\system32\ntdll.dll
> >> #27 0x76832670 in msvcrt!_beginthreadex () from
> >> C:\Windows\syswow64\msvcrt.dll
> >> #28 0x00000000 in ?? ()
> >> (gdb) k
> >> Kill the program being debugged? (y or n)
> >> (gdb)
> >> -- 
> >> ==============================================================================
> >> CONFIDENTIALITY NOTICE: This e-mail message, and any attachments
> >> thereto, is for the sole use of the intended recipient(s) and may
> >> contain legally privileged and/or confidential information. Any
> >> unauthorized review, use, disclosure or distribution is strictly
> >> prohibited. If you are not the intended recipient, please contact the
> >> sender by reply email and permanently delete all copies of the original
> >> message.
> >> ==============================================================================
> >> --
> >> cairo mailing list
> >> cairo at cairographics.org
> >> http://lists.cairographics.org/mailman/listinfo/cairo


More information about the Pixman mailing list