On Tue, Jan 31, 2012 at 1:20 PM, <[email protected]> wrote: > Program received signal SIGBUS, Bus error.
SIGBUS usually means an unaligned memory access. > 0x4023a130 in pixman_composite_src_0565_0565_asm_neon () > at pixman-arm-neon-asm.h:692 > 692 pixman-arm-neon-asm.h: No such file or directory. > in pixman-arm-neon-asm.h > Current language: auto; currently asm > (gdb) bt > #0 0x4023a130 in pixman_composite_src_0565_0565_asm_neon () > at pixman-arm-neon-asm.h:692 > #1 0x40236048 in arm_neon_blt (imp=<value optimized out>, > src_bits=0x40495000, dst_bits=0xa28ff0, src_stride=120, dst_stride=17, > src_bpp=17, dst_bpp=16, src_x=112, src_y=152, dest_x=0, dest_y=0, > width=17, height=17) at pixman-arm-neon.c:249 The argument values may be reported incorrectly at this place in the backtrace (src_bpp=17 is definitely wrong), so it's hard to make any conclusions. But it's a good idea to check if the buffers are 4 bytes aligned and strides are 4 bytes aligned too. Strides are a bit confusing, because in some places of code they are measured in bytes, in some places of code in pixels and in some places in uint32_t sized units. Violating alignment requirements may result in a SIGBUS. > #2 0x402154ac in delegate_blt (imp=<value optimized out>, src_bits=0x10, > dst_bits=0xa29010, src_stride=18, dst_stride=9, src_bpp=16, dst_bpp=16, > src_x=112, src_y=152, dest_x=0, dest_y=0, width=17, height=17) > at pixman-implementation.c:225 > #3 0x4021564c in _pixman_implementation_blt (imp=0x11, src_bits=0x10, > dst_bits=0xa29010, src_stride=18, dst_stride=9, src_bpp=16, dst_bpp=16, > src_x=112, src_y=152, dest_x=0, dest_y=0, width=17, height=17) > at pixman-implementation.c:225 > #4 0x401c9544 in pixman_blt (src_bits=0x40495000, > dst_bits=<value optimized out>, src_stride=120, > dst_stride=<value optimized out>, src_bpp=16, dst_bpp=16, src_x=112, > src_y=152, dest_x=0, dest_y=0, width=17, height=17) at pixman.c:754 > #5 0x0007baa0 in fbCopyNtoN (pSrcDrawable=<value optimized out>, > pDstDrawable=<value optimized out>, pGC=<value optimized out>, pbox=0x0, > nbox=0, dx=112, dy=152, reverse=0, upsidedown=505812, bitplane=0, > closure=0x0) at fbcopy.c:97 > #6 0x00086354 in miCopyRegion (pSrcDrawable=0xa1e770, pDstDrawable=0x0, > pGC=0xa29258, pDstRegion=<value optimized out>, dx=112, dy=152, > copyProc=0x7b7d4 <fbCopyNtoN>, bitPlane=0, closure=0x0) at micopy.c:138 > #7 0x0008689c in miDoCopy (pSrcDrawable=0xa1e770, pDstDrawable=0xa28fc0, > pGC=0x0, xIn=112, yIn=152, widthSrc=1312032, heightSrc=10654296, > xOut=505812, yOut=10653632, copyProc=0x7b7d4 <fbCopyNtoN>, bitPlane=0, > closure=0x0) at micopy.c:338 > #8 0x0007aff8 in fbCopyArea (pSrcDrawable=<value optimized out>, > pDstDrawable=0xa28fc0, pGC=0xa29010, xIn=112, yIn=152, widthSrc=17, > heightSrc=17, xOut=0, yOut=0) at fbcopy.c:344 > #9 0x000d5ab0 in damageCopyArea (pSrc=0xa1e770, pDst=0xa28fc0, pGC=0xa29258, > srcx=112, srcy=152, width=17, height=17, dstx=0, dsty=0) at damage.c:949 > #10 0x00087560 in miDCSaveUnderCursor (pDev=<value optimized out>, > pScreen=0xa17498, x=112, y=152, w=17, h=17) at midispcur.c:558 > #11 0x000925ac in miSpriteSaveUnderCursor (pDev=0xa30978, pScreen=0xa17498) > at misprite.c:1039 > #12 0x00092888 in miSpriteSetCursor (pDev=0xa30978, pScreen=0xa17498, > pCursor=0xa1d660, x=120, y=160) at misprite.c:902 > #13 0x0008c564 in miPointerUpdateSprite (pDev=0xa30978) at mipointer.c:402 > #14 0x0008cd80 in miPointerDisplayCursor (pDev=0xa30978, pScreen=0xa17498, > pCursor=0xa1d660) at mipointer.c:197 > #15 0x0009e308 in CursorDisplayCursor (pDev=0xa30978, pScreen=0xa17498, > pCursor=0xa38918) at cursor.c:157 > #16 0x000d04ec in AnimCurDisplayCursor (pDev=0xa30978, pScreen=0xa17498, > pCursor=0xa38918) at animcur.c:247 > #17 0x0003ab78 in UpdateSpriteForScreen (pDev=0xa30978, pScreen=0xa17498) > at events.c:3112 > #18 0x0008c8ac in miPointerWarpCursor (pDev=0xa30978, pScreen=0xa17498, x=120, > y=160) at mipointer.c:343 > #19 0x00061760 in KdWarpCursor (pDev=0xa30978, pScreen=0xa17498, x=120, y=160) > at kinput.c:2166 > #20 0x0008c6ac in miPointerSetCursorPosition (pDev=0xa30978, pScreen=0xa17498, > x=120, y=160, generateEvent=0) at mipointer.c:239 > #21 0x000cfe60 in AnimCurSetCursorPosition (pDev=0xa30978, pScreen=0xa17498, > x=120, y=160, generateEvent=0) at animcur.c:266 > #22 0x0003ad0c in InitializeSprite (pDev=0xa30978, pWin=<value optimized out>) > at events.c:3044 > #23 0x0002b024 in EnableDevice (dev=0xa30978, sendevent=1 '\001') > at devices.c:299 > #24 0x0002b774 in InitCoreDevices () at devices.c:613 > #25 0x0002632c in main (argc=1, argv=0x14c, envp=<value optimized out>) > at main.c:257 > (gdb) It usually also helps to get the output of "info registers" and "disassemble" gdb commands. -- Best regards, Siarhei Siamashka _______________________________________________ Pixman mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/pixman
