«Ошибка активации пула буферов», как решить эту проблему? - PullRequest
0 голосов
/ 04 ноября 2019

Я запускаю приложение фляги, которое открывает камеру и делает снимок экрана и сохраняет его, используя функцию gstreamer, иногда камера работает правильно, но иногда я получаю ошибку «Ошибка активации пула буферов».

Я установил отображение и формат, используя следующие команды:

export DISPLAY=:0
media-ctl -v  --set-format '"OV9650":0 [YUYV 320x240]'

для запуска камеры. Я использую эту команду -

gst-launch-1.0 v4l2src device=/dev/video1  ! videoconvert ! ximagesink

вот подробная ошибка -

[  884.252722] __fimc_pipeline_open(): No sensor subdev
[  884.256364] __fimc_pipeline_close(): No sensor subdev
[  884.500330] v4l2src0:src: page allocation failure: order:6, 
    mode:0x6000c0(GFP_KERNEL), nodemask=(null)
[  884.508217] CPU: 0 PID: 1225 Comm: v4l2src0:src Not tainted 4.19.0 
      #330
[  884.514814] Hardware name: Samsung S5PC110/S5PV210-based board
[  884.520607] [<8010e5f0>] (unwind_backtrace) from [<8010bc70>] 
      (show_stack+0x10/0x14)
[  884.528298] [<8010bc70>] (show_stack) from [<801bf168>] 
        (warn_alloc+0xc4/0x15c)
[  884.535602] [<801bf168>] (warn_alloc) from [<801bfba0>] 
     (__alloc_pages_nodemask+0x904/0xc88)
[  884.544000] [<801bfba0>] (__alloc_pages_nodemask) from [<80114b7c>] 
        (__dma_alloc_buffer.constprop.10+0x30/0x88)
[  884.554060] [<80114b7c>] (__dma_alloc_buffer.constprop.10) from 
[<80114bf8>] (__alloc_remap_buffer+0x24/0xa0)
[  884.563925] [<80114bf8>] (__alloc_remap_buffer) from [<80114ca0>] 
       (remap_allocator_alloc+0x2c/0x34)
[  884.572945] [<80114ca0>] (remap_allocator_alloc) from [<80112ac4>] 
       (__dma_alloc+0x1d0/0x298)
[  884.581336] [<80112ac4>] (__dma_alloc) from [<80112c08>] 
     (arm_dma_alloc+0x40/0x48)
[  884.588884] [<80112c08>] (arm_dma_alloc) from [<8058beec>] 
       (vb2_dc_alloc+0xe0/0x1bc)
[  884.596559] [<8058beec>] (vb2_dc_alloc) from [<80586778>] 
       (__vb2_queue_alloc+0x160/0x40c)
[  884.604754] [<80586778>] (__vb2_queue_alloc) from [<80587d10>] 
      (vb2_core_reqbufs+0x170/0x3a8)
[  884.613235] [<80587d10>] (vb2_core_reqbufs) from [<8058a400>] 
    (vb2_ioctl_reqbufs+0x5c/0x80)
[  884.621546] [<8058a400>] (vb2_ioctl_reqbufs) from [<80591350>] 
   (fimc_cap_reqbufs+0x28/0x38)
[  884.629881] [<80591350>] (fimc_cap_reqbufs) from [<80573b24>] 
       (__video_do_ioctl+0x390/0x4c8)
[  884.638236] [<80573b24>] (__video_do_ioctl) from [<805770e8>] 
   (video_usercopy+0x254/0x548)
[  884.646514] [<805770e8>] (video_usercopy) from [<8022a9b0>] 
   (do_vfs_ioctl+0xac/0x880)
[  884.654317] [<8022a9b0>] (do_vfs_ioctl) from [<8022b1e8>] 
    (ksys_ioctl+0x64/0x74)
[  884.661672] [<8022b1e8>] (ksys_ioctl) from [<80101000>] 
     (ret_fast_syscall+0x0/0x28)
[  884.669280] Exception stack(0x86c2bfa8 to 0x86c2bff0)
      [  884.674279] bfa0:                   76fa6ce8 00012c08 00000007 
       c0145608 759fec00 c0445611
[  884.682461] bfc0: 76fa6ce8 00012c08 7480e3f8 00000036 76fa6ce8 
    00000007 c0145608 7683b000
[  884.690594] bfe0: 759fe6e8 759fe6d8 76f6da49 76ce91c2
[  884.695594] Mem-Info:
[  884.697856] active_anon:29103 inactive_anon:647 isolated_anon:0
[  884.697856]  active_file:17776 inactive_file:7172 isolated_file:0
[  884.697856]  unevictable:8 dirty:3 writeback:0 unstable:0
[  884.697856]  slab_reclaimable:1044 slab_unreclaimable:2641
[  884.697856]  mapped:16893 shmem:735 pagetables:688 bounce:0
[  884.697856]  free:1530 free_pcp:0 free_cma:0
[  884.730480] Node 0 active_anon:116412kB inactive_anon:2588kB 
   active_file:71104kB inactive_file:28688kB unevictable:32kB 
   isolated(anon):0kB isolated(file):0kB mapped:67572kB dirty:12kB 
   writeback:0kB shmem:2940kB writeback_tmp:0kB unstable:0kB 
   all_unreclaimable? no
[  884.753698] Normal free:6120kB min:1988kB low:2484kB high:2980kB 
   active_anon:116412kB inactive_anon:2588kB active_file:71104kB 
   inactive_file:28688kB unevictable:32kB writepending:12kB 
   present:262144kB managed:248540kB mlocked:32kB kernel_stack:1336kB 
   pagetables:2752kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB
[  884.781769] lowmem_reserve[]: 0 0
[  884.785019] Normal: 288*4kB (UME) 175*8kB (UME) 63*16kB (UME) 34*32kB 
   (UME) 13*64kB (UME) 5*128kB (M) 0*256kB 0*512kB 0*1024kB 0*2048kB 
   0*4096kB = 6120kB
[  884.798748] 25683 total pagecache pages
[  884.802523] 0 pages in swap cache
[  884.805816] Swap cache stats: add 0, delete 0, find 0/0
[  884.811048] Free swap  = 0kB
[  884.813874] Total swap = 0kB
[  884.816735] 65536 pages RAM
[  884.819548] 0 pages HighMem/MovableOnly
[  884.823339] 3401 pages reserved
[  884.826439] 0 pages cma reserved
[  884.829693] exynos4-fimc fb200000.fimc: dma_alloc_coherent of size 

  258048 failed
  ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Failed 
  to allocate required memory.
  Additional debug info:
  gstv4l2src.c(531): gst_v4l2src_decide_allocation (): 
  /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
  Buffer pool activation failed
...