iOS16 CVPixelBufferLockBaseAddress crash

when i use pixelBuffer in decoder callback, will happen crash sometimes

 CVBufferRef pixel_buffer = CVBufferRetain(frame->opaque);
 if (CVPixelBufferLockBaseAddress(pixel_buffer, kCVPixelBufferLock_ReadOnly) != kCVReturnSuccess) {
    return -1;
}
  overlay->pixels[0] = CVPixelBufferGetBaseAddressOfPlane(pixel_buffer, 0);
  overlay->pixels[1] = CVPixelBufferGetBaseAddressOfPlane(pixel_buffer, 1);
  overlay->pitches[0] = CVPixelBufferGetWidthOfPlane(pixel_buffer, 0);
  overlay->pitches[1] = CVPixelBufferGetWidthOfPlane(pixel_buffer, 1);
  overlay->bytesPerRow[0] = CVPixelBufferGetBytesPerRowOfPlane(pixel_buffer, 0);
  overlay->bytesPerRow[1] = CVPixelBufferGetBytesPerRowOfPlane(pixel_buffer, 1);
  CVPixelBufferUnlockBaseAddress(pixel_buffer, kCVPixelBufferLock_ReadOnly);
CoreVideo`CVPixelBufferLockBaseAddress:
  0x1dc4bbc4c <+0>:  pacibsp 
  0x1dc4bbc50 <+4>:  stp  x20, x19, [sp, #-0x20]!
  0x1dc4bbc54 <+8>:  stp  x29, x30, [sp, #0x10]
  0x1dc4bbc58 <+12>: add  x29, sp, #0x10
  0x1dc4bbc5c <+16>: mov  x20, x1
  0x1dc4bbc60 <+20>: mov  x19, x0
  0x1dc4bbc64 <+24>: bl   0x1dc4a706c        ; _getCVPixelBuffer(__CVBuffer*)
  0x1dc4bbc68 <+28>: cbz  x0, 0x1dc4bbcc8      ; <+124>
  0x1dc4bbc6c <+32>: ldr  x0, [x0, #0x80]
-> 0x1dc4bbc70 <+36>: ldr  x16, [x0]		// EXC_BAD_ACCESS (code=1, address=0x0)
  0x1dc4bbc74 <+40>: mov  x17, x0
  0x1dc4bbc78 <+44>: movk  x17, #0x42ce, lsl #48
  0x1dc4bbc7c <+48>: autda x16, x17
  0x1dc4bbc80 <+52>: mov  x17, #0x198
  0x1dc4bbc84 <+56>: add  x16, x16, x17
  0x1dc4bbc88 <+60>: ldr  x8, [x16]
  0x1dc4bbc8c <+64>: mov  x9, x16
  0x1dc4bbc90 <+68>: mov  x1, x20
  0x1dc4bbc94 <+72>: mov  x17, x9
  0x1dc4bbc98 <+76>: movk  x17, #0xe7dc, lsl #48
  0x1dc4bbc9c <+80>: blraa x8, x17
  0x1dc4bbca0 <+84>: cmp  w0, #0x0
  0x1dc4bbca4 <+88>: ccmp  x20, #0x1, #0x4, eq
  0x1dc4bbca8 <+92>: b.eq  0x1dc4bbccc        ; <+128>
  0x1dc4bbcac <+96>: adrp  x8, 212075
  0x1dc4bbcb0 <+100>: add  x8, x8, #0x358      ; kCVPixelBufferExtendedPixelsFilledKey
  0x1dc4bbcb4 <+104>: ldr  x1, [x8]
  0x1dc4bbcb8 <+108>: mov  x0, x19
  0x1dc4bbcbc <+112>: bl   0x1dc4bbbbc        ; CVBufferRemoveAttachment
  0x1dc4bbcc0 <+116>: mov  w0, #0x0
  0x1dc4bbcc4 <+120>: b   0x1dc4bbccc        ; <+128>
  0x1dc4bbcc8 <+124>: mov  w0, #-0x1a05
  0x1dc4bbccc <+128>: ldp  x29, x30, [sp, #0x10]
  0x1dc4bbcd0 <+132>: ldp  x20, x19, [sp], #0x20
  0x1dc4bbcd4 <+136>: retab  
iOS16 CVPixelBufferLockBaseAddress crash
 
 
Q