[Pixman] [cairo] pixman 0.18 MinGW SSE2 error

Sven Goericke sgoericke at vandalay.org
Sat Apr 10 04:37:17 PDT 2010


Ok, i tried with optimization disabled, still no luck. You'll find logs 
from configure, make and gdb attached to this mail.

I also tried to remove the block from "configure.ac" After running 
autoreconf i need to modify the configure script because i got an error 
related to PKG_PROG_PKG_CONF. I simply removed that part (it did the 
check for GTK). As i don't need GTK i simply let

HAVE_GTK_TRUE='#'
HAVE_GTK_FALSE=

in the configure script. However, it doesn't compile:

make  all-recursive
make[1]: Entering directory `/home/Sven/pixman-0.19.1'
Making all in pixman
make[2]: Entering directory `/home/Sven/pixman-0.19.1/pixman'
make  all-am
make[3]: Entering directory `/home/Sven/pixman-0.19.1/pixman'
   CC     pixman-access.lo
In file included from pixman-private.h:17,
                  from pixman-access.c:35:
pixman-compiler.h:129:6: error: #error "Unknown thread local support for 
this system"
make[3]: *** [pixman-access.lo] Error 1
make[3]: Leaving directory `/home/Sven/pixman-0.19.1/pixman'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/Sven/pixman-0.19.1/pixman'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/Sven/pixman-0.19.1'
make: *** [all] Error 2

Sven

Soeren Sandmann wrote:
> 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
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: config.log
URL: <http://lists.freedesktop.org/archives/pixman/attachments/20100410/ccd4578f/attachment-0001.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: gdb.log
URL: <http://lists.freedesktop.org/archives/pixman/attachments/20100410/ccd4578f/attachment-0001.asc>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: make.log
URL: <http://lists.freedesktop.org/archives/pixman/attachments/20100410/ccd4578f/attachment-0001.txt>


More information about the Pixman mailing list