返回时我得到skia本机崩溃~SkSpriteBlitter()

时间:2010-11-23 04:03:40

标签: android crash android-ndk android-2.2-froyo skia

我在返回~SkSpriteBlitter()时遇到了skia本机崩溃,下面是墓碑和堆栈跟踪。有没有人之前得到这个问题?

[tombstone]
signal 11 (SIGSEGV), fault addr 00000000
 r0 bec3a434  r1 ab248078  r2 ab248080  r3 ab2494dc
 r4 bec3a558  r5 bec3a434  r6 002ae6b0  r7 bec3a558
 r8 00000000  r9 bec3a5e8  10 bec3a434  fp 00000000
 ip 000002dc  sp bec3a2d8  lr ab169da4  pc 00000000

Stack Trace:
signal 11 (SIGSEGV), fault addr 00000000
 r0 bec3a434  r1 ab248078  r2 ab248080  r3 ab2494dc
 r4 bec3a558  r5 bec3a434  r6 002ae6b0  r7 bec3a558
 r8 00000000  r9 bec3a5e8  10 bec3a434  fp 00000000
 ip 000002dc  sp bec3a2d8  lr ab169da4  pc 00000000  cpsr 20010010
         #00  pc 00000000  
         #01  pc 00069da0  /system/lib/libskia.so

code around pc:

code around lr:
ab169d84 e793100c e1a04000 e5900008 e2812008 
ab169d94 e5842000 ebffa1ac e1a00004 ebffd501 
ab169da4 e1a00004 e8bd8010 000df754 00000278 
ab169db4 e59f302c e59fc02c e92d4010 e08f3003 
ab169dc4 e1a04000 e793000c e5841008 e2802008 

stack:
    bec3a298  bec3a434  [stack]
    bec3a29c  000000ff  
    bec3a2a0  00145a70  [heap]
    bec3a2a4  ab1978d0  /system/lib/libskia.so
    bec3a2a8  ab249d8c  /system/lib/libskia.so
    bec3a2ac  46d9bc40  /dev/ashmem (deleted)
    bec3a2b0  47367c40  /dev/pmem
    bec3a2b4  00000001  
    bec3a2b8  000003c0  
    bec3a2bc  000003c0  
    bec3a2c0  000000f0  
    bec3a2c4  00145a70  [heap]
    bec3a2c8  bec3a434  [stack]
    bec3a2cc  002ae6b0  [heap]
    bec3a2d0  df002777  
    bec3a2d4  e3a070ad  
#01 bec3a2d8  bec3a5e8  [stack]
    bec3a2dc  bec3a434  [stack]
    bec3a2e0  00000000  
    bec3a2e4  ab174d90  /system/lib/libskia.so
    bec3a2e8  00000140  
    bec3a2ec  bec3a434  [stack]
    bec3a2f0  00000124  
    bec3a2f4  0000003a  
    bec3a2f8  00000003  
    bec3a2fc  00000000  
    bec3a300  bec3a434  [stack]
    bec3a304  00000000  
    bec3a308  8096c560  /system/lib/libdvm.so
    bec3a30c  afa013ad  /system/lib/liblog.so
    bec3a310  bec3a734  [stack]
    bec3a314  465f4347  
    bec3a318  4d5f524f  
    bec3a31c  4f4c4c41

[stack trace]
signal 11 (SIGSEGV), fault addr 00000000
 r0 bec3a434  r1 ab248078  r2 ab248080  r3 ab2494dc
 r4 bec3a558  r5 bec3a434  r6 002ae6b0  r7 bec3a558
 r8 00000000  r9 bec3a5e8  10 bec3a434  fp 00000000
 ip 000002dc  sp bec3a2d8  lr ab169da4  pc 00000000

Stack Trace:
  RELADDR   FUNCTION                             FILE:LINE
  00000000  (unknown)                            (unknown)
  v------>  ~SkSpriteBlitter                     external/skia/src/core/SkBlitter_Sprite.cpp:29
  00069da0  SkSpriteBlitter::~SkSpriteBlitter()  external/skia/src/core/SkBlitter_Sprite.cpp:29

Stack Data:
  ADDR      VALUE     FILE:LINE/FUNCTION
  bec3a298  bec3a434  
  bec3a29c  000000ff  
  bec3a2a0  00145a70  
  bec3a2a4  ab1978d0  external/skia/src/core/SkSpriteBlitter_ARGB32.cpp:313
                      SkSpriteBlitter::ChooseD32(SkBitmap const&, SkPaint const&, void*, unsigned int)
  bec3a2a8  ab249d8c  external/skia/include/core/SkPixelRef.h:36
                      ~SkPixelRef
  bec3a2ac  46d9bc40  (unknown)
                      (unknown)
  bec3a2b0  47367c40  (unknown)
                      (unknown)
  bec3a2b4  00000001  
  bec3a2b8  000003c0  
  bec3a2bc  000003c0  
  bec3a2c0  000000f0  
  bec3a2c4  00145a70  
  bec3a2c8  bec3a434  
  bec3a2cc  002ae6b0  
  bec3a2d0  df002777  
  bec3a2d4  e3a070ad  
  bec3a2d8  bec3a5e8  
  bec3a2dc  bec3a434  
  bec3a2e0  00000000  
  bec3a2e4  ab174d90  external/skia/src/core/SkDraw.cpp:1093
                      SkDraw::drawBitmap(SkBitmap const&, SkMatrix const&, SkPaint const&) const
  bec3a2e8  00000140  
  bec3a2ec  bec3a434  
  bec3a2f0  00000124  
  bec3a2f4  0000003a  
  bec3a2f8  00000003  
  bec3a2fc  00000000  
  bec3a300  bec3a434  
  bec3a304  00000000  
  bec3a308  8096c560  ??:0
                      ??
  bec3a30c  afa013ad  system/core/liblog/logd_write.c:209
                      __android_log_print
  bec3a310  bec3a734  
  bec3a314  465f4347  
  bec3a318  4d5f524f  
  bec3a31c  4f4c4c41

1 个答案:

答案 0 :(得分:1)

它是C库中的空指针。在堆栈的某个地方,你正在调用一些东西,它会调用某些东西,最终会调用库。仔细查看您在该调用链上使用的所有参数。最有可能的是,其中一个是错误的,导致图书馆被禁止。

也检查所有返回值。有点惊讶地发现图书馆没有被剥夺符号。