Here is the http-livestream setup: The server is running ffmpeg with the DASH protocol and h264 encoding. The client is using Dash.js. Resolution is fixed to 1920x1080, with 24 bit depth, and 60hz.
The artefacting (image below) is only present when the last row of the video is within chrome viewport (so it disapears if the page is scrolled up). It manifests itself as stretching of the center row of pixels downwards, and appears to only affect some color channels.
I have attempted changing the bitrate, and cutting the last row from the source, thinking the issue could be on the server side, without any impact. The fact that the issue depends on the position in the viewport makes me suspect a glitch in chrome itself.
I have also attempted to force hardware decoding off in chrome:\flags and it does not solve the issue.
Please submit your hypothesis on what could be the cause of this issue. Thanks.
Update #1
Here is the ffmpeg command line and logs:
export DISPLAY=:0 && ffmpeg -f x11grab -framerate 60 -video_size 1920x1080 -i :0.0+0,0 -draw_mouse 0 -f dash -utc_timing_url https://time.akamai.com/?iso -streaming 1 -seg_duration 2 -frag_duration 0.033 -fflags nobuffer -fflags flush_packets -c:v h264 -preset ultrafast data/stream.mpd
And the logs:
ffmpeg version 4.2.4-1ubuntu0.1 Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 9 (Ubuntu 9.3.0-10ubuntu2)
configuration: --prefix=/usr --extra-version=1ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
libavutil 56. 31.100 / 56. 31.100
libavcodec 58. 54.100 / 58. 54.100
libavformat 58. 29.100 / 58. 29.100
libavdevice 58. 8.100 / 58. 8.100
libavfilter 7. 57.100 / 7. 57.100
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 5.100 / 5. 5.100
libswresample 3. 5.100 / 3. 5.100
libpostproc 55. 5.100 / 55. 5.100
[x11grab # 0x561ca34b9980] Stream #0: not enough frames to estimate rate; consider increasing probesize
Input #0, x11grab, from ':0.0+0,0':
Duration: N/A, start: 1618941693.853256, bitrate: N/A
Stream #0:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 1920x1080, 60 fps, 1000k tbr, 1000k tbn, 1000k tbc
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[libx264 # 0x561ca34c5300] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 AVX512
[libx264 # 0x561ca34c5300] profile High 4:4:4 Predictive, level 4.2, 4:4:4 8-bit
[libx264 # 0x561ca34c5300] 264 - core 155 r2917 0a84d98 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=1 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=6 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=0 intra_refresh=0 rc=crf mbtree=0 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=0
[dash # 0x561ca34c3740] No bit rate set for stream 0
[dash # 0x561ca34c3740] Opening 'data/init-stream0.m4s' for writing
Output #0, dash, to 'data/stream.mpd':
Metadata:
encoder : Lavf58.29.100
Stream #0:0: Video: h264 (libx264), yuv444p, 1920x1080, q=-1--1, 60 fps, 15360 tbn, 60 tbc
Metadata:
encoder : Lavc58.54.100 libx264
Side data:
cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
[dash # 0x561ca34c3740] Opening 'data/chunk-stream0-00001.m4s.tmp' for writing
frame= 34 fps=0.0 q=15.0 size=N/A time=00:00:00.43 bitrate=N/A dup=5 drop=0 speed=0.836x
frame= 65 fps= 64 q=15.0 size=N/A time=00:00:00.95 bitrate=N/A dup=5 drop=0 speed=0.929x
frame= 96 fps= 62 q=15.0 size=N/A time=00:00:01.46 bitrate=N/A dup=5 drop=2 speed=0.955x
frame= 126 fps= 62 q=15.0 size=N/A time=00:00:01.96 bitrate=N/A dup=5 drop=3 speed=0.962x
frame= 157 fps= 62 q=15.0 size=N/A time=00:00:02.48 bitrate=N/A dup=5 drop=3 speed=0.973x
frame= 188 fps= 61 q=15.0 size=N/A time=00:00:03.00 bitrate=N/A dup=5 drop=3 speed=0.98x
frame= 217 fps= 61 q=15.0 size=N/A time=00:00:03.48 bitrate=N/A dup=5 drop=3 speed=0.977x
frame= 247 fps= 61 q=15.0 size=N/A time=00:00:03.98 bitrate=N/A dup=6 drop=3 speed=0.976x
[dash # 0x561ca34c3740] Opening 'data/stream.mpd.tmp' for writing
[dash # 0x561ca34c3740] Opening 'data/chunk-stream0-00002.m4s.tmp' for writing
frame= 279 fps= 61 q=15.0 size=N/A t
Add the -vf format=yuv420p output option for YUV 4:2:0 chroma subsampling. This is the only widely supported chroma subsampling scheme for H.264.
Your input pixel format is bgr0. Your output is yuv444p. ffmpeg tries to preserve as much fidelity as it can so it auto converts it to a pixel format supported by the selected encoder that most resembles the source. In this case it is yuv444p (YUV 4:4:4) which is not universally supported.
i'm using ovs with dpdk to improve network performance, but i can't resolve the problem by my self
DPDK dev bind script output
# dpdk-devbind.py -s
Network devices using DPDK-compatible driver
============================================
0000:07:00.0 'I350 Gigabit Network Connection 1521' drv=igb_uio unused=igb,vfio-pci,uio_pci_generic
0000:07:00.1 'I350 Gigabit Network Connection 1521' drv=igb_uio unused=igb,vfio-pci,uio_pci_generic
Network devices using kernel driver
===================================
0000:01:00.0 'Ethernet Controller 10-Gigabit X540-AT2 1528' if=eno1 drv=ixgbe unused=igb_uio,vfio-pci,uio_pci_generic *Active*
0000:01:00.1 'Ethernet Controller 10-Gigabit X540-AT2 1528' if=eno2 drv=ixgbe unused=igb_uio,vfio-pci,uio_pci_generic
No 'Baseband' devices detected
==============================
No 'Crypto' devices detected
============================
No 'Eventdev' devices detected
==============================
No 'Mempool' devices detected
=============================
No 'Compress' devices detected
==============================
No 'Misc (rawdev)' devices detected
===================================
ovs config
# ovs-vsctl --no-wait get Open_vSwitch . other_config
{dpdk-init="true", dpdk-lcore-mask="0x6", pmd-cpu-mask="0x24"}
cpu info
# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
Address sizes: 46 bits physical, 48 bits virtual
CPU(s): 24
On-line CPU(s) list: 0-23
Thread(s) per core: 2
Core(s) per socket: 6
Socket(s): 2
NUMA node(s): 2
Vendor ID: GenuineIntel
CPU family: 6
Model: 62
Model name: Intel(R) Xeon(R) CPU E5-2630 v2 # 2.60GHz
Stepping: 4
CPU MHz: 2965.447
CPU max MHz: 3100.0000
CPU min MHz: 1200.0000
BogoMIPS: 5199.97
Virtualization: VT-x
L1d cache: 384 KiB
L1i cache: 384 KiB
L2 cache: 3 MiB
L3 cache: 30 MiB
NUMA node0 CPU(s): 0,2,4,6,8,10,12,14,16,18,20,22
NUMA node1 CPU(s): 1,3,5,7,9,11,13,15,17,19,21,23
Vulnerability Itlb multihit: KVM: Mitigation: Split huge pages
Vulnerability L1tf: Mitigation; PTE Inversion; VMX conditional cache flushes, SMT vulnerable
Vulnerability Mds: Mitigation; Clear CPU buffers; SMT vulnerable
Vulnerability Meltdown: Mitigation; PTI
Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl and seccomp
Vulnerability Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2: Mitigation; Full generic retpoline, IBPB conditional, IBRS_FW, STIBP conditional, RSB filling
Vulnerability Srbds: Not affected
Vulnerability Tsx async abort: Not affected
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx es
t tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm cpuid_fault pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt dtherm ida arat pln pts md_clear flush_l1d
hugepage info
# grep Huge /proc/meminfo
AnonHugePages: 1214464 kB
ShmemHugePages: 0 kB
FileHugePages: 0 kB
HugePages_Total: 8192
HugePages_Free: 5846
HugePages_Rsvd: 1488
HugePages_Surp: 0
Hugepagesize: 2048 kB
Hugetlb: 16777216 kB
vm startup script
/usr/bin/qemu-system-x86_64 \
-enable-kvm \
-cpu host,kvm=off \
-smp 4 \
-m 8192M \
-object memory-backend-file,id=mem,size=1G,mem-path=/dev/hugepages,share=on \
-mem-prealloc \
-chardev socket,id=char-vm-2004-tpl,path=/var/run/openvswitch-vhost/vhost-vm-2004-tpl,server \
-netdev type=vhost-user,id=net-vm-2004-tpl,chardev=char-vm-2004-tpl,vhostforce \
-device virtio-net-pci,mac=52:54:14:cb:ab:6c,netdev=net-vm-2004-tpl \
-drive file=/opt/image/ubuntu-2004-tpl.img,if=virtio \
-vga qxl \
-spice port=15937,disable-ticketing \
-qmp tcp:0.0.0.0:25937,server,nowait \
-daemonize
ovs status
# ovs-vsctl show
2a4487e3-124a-4b66-92e1-1e824fd9a138
Bridge br0
datapath_type: netdev
Port vhost-vm-2004-tpl
Interface vhost-vm-2004-tpl
type: dpdkvhostuserclient
options: {vhost-server-path="/var/run/openvswitch-vhost/vhost-vm-2004-tpl"}
Port dpdk-p0
Interface dpdk-p0
type: dpdk
options: {dpdk-devargs="0000:07:00.0"}
Port br0
Interface br0
type: internal
ovs_version: "2.14.90"
ovs OpenFlow status
# ovs-ofctl show br0
OFPT_FEATURES_REPLY (xid=0x2): dpid:0000ecf4bbe2f494
n_tables:254, n_buffers:0
capabilities: FLOW_STATS TABLE_STATS PORT_STATS QUEUE_STATS ARP_MATCH_IP
actions: output enqueue set_vlan_vid set_vlan_pcp strip_vlan mod_dl_src mod_dl_dst mod_nw_src mod_nw_dst mod_nw_tos mod_tp_src mod_tp_dst
1(dpdk-p0): addr:ec:f4:bb:e2:f4:94
config: 0
state: 0
current: 1GB-FD AUTO_NEG
speed: 1000 Mbps now, 0 Mbps max
2(vhost-vm-2004-t): addr:00:00:00:00:00:00
config: 0
state: LINK_DOWN
speed: 0 Mbps now, 0 Mbps max
LOCAL(br0): addr:ec:f4:bb:e2:f4:94
config: 0
state: 0
current: 10MB-FD COPPER
speed: 10 Mbps now, 0 Mbps max
OFPT_GET_CONFIG_REPLY (xid=0x4): frags=normal miss_send_len=0
the vm can't get ip address by dhcp, and when i run command " ip link set ens3 up " on the vm,
it tell me "RTNETLINK answers: Operation not permitted"
the kernel version of host is
5.4.0-52-generic #57-Ubuntu SMP Thu Oct 15 10:57:00 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
the kernel version of vm is
5.4.0-47-generic #51-Ubuntu SMP Fri Sep 4 19:50:52 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
DPDK version:
DPDK 19.11.5
open vSwitch version:
2.14.90 (commit id:93023e80bd13ec1f09831eba484cf4621582d1a5 of https://github.com/openvswitch/ovs branch master)
ovs full log
2020-10-27T17:46:36.950Z|00001|vlog|INFO|opened log file /usr/local/var/log/openvswitch/ovs-vswitchd.log
2020-10-27T17:46:36.982Z|00002|ovs_numa|INFO|Discovered 12 CPU cores on NUMA node 1
2020-10-27T17:46:36.982Z|00003|ovs_numa|INFO|Discovered 12 CPU cores on NUMA node 0
2020-10-27T17:46:36.982Z|00004|ovs_numa|INFO|Discovered 2 NUMA nodes and 24 CPU cores
2020-10-27T17:46:36.983Z|00005|reconnect|INFO|unix:/usr/local/var/run/openvswitch/db.sock: connecting...
2020-10-27T17:46:36.983Z|00006|reconnect|INFO|unix:/usr/local/var/run/openvswitch/db.sock: connected
2020-10-27T17:46:36.985Z|00007|dpdk|INFO|Using DPDK 19.11.5
2020-10-27T17:46:36.985Z|00008|dpdk|INFO|DPDK Enabled - initializing...
2020-10-27T17:46:36.985Z|00009|dpdk|INFO|No vhost-sock-dir provided - defaulting to /usr/local/var/run/openvswitch
2020-10-27T17:46:36.985Z|00010|dpdk|INFO|IOMMU support for vhost-user-client disabled.
2020-10-27T17:46:36.985Z|00011|dpdk|INFO|POSTCOPY support for vhost-user-client disabled.
2020-10-27T17:46:36.985Z|00012|dpdk|INFO|Per port memory for DPDK devices disabled.
2020-10-27T17:46:36.985Z|00013|dpdk|INFO|EAL ARGS: ovs-vswitchd -c 0x6 --socket-mem 1024,1024 --socket-limit 1024,1024.
2020-10-27T17:46:36.988Z|00014|dpdk|INFO|EAL: Detected 24 lcore(s)
2020-10-27T17:46:36.988Z|00015|dpdk|INFO|EAL: Detected 2 NUMA nodes
2020-10-27T17:46:37.026Z|00016|dpdk|INFO|EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
2020-10-27T17:46:37.042Z|00017|dpdk|INFO|EAL: Selected IOVA mode 'PA'
2020-10-27T17:46:37.051Z|00018|dpdk|WARN|EAL: No free hugepages reported in hugepages-1048576kB
2020-10-27T17:46:37.051Z|00019|dpdk|WARN|EAL: No free hugepages reported in hugepages-1048576kB
2020-10-27T17:46:37.051Z|00020|dpdk|WARN|EAL: No available hugepages reported in hugepages-1048576kB
2020-10-27T17:46:37.051Z|00021|dpdk|INFO|EAL: Probing VFIO support...
2020-10-27T17:46:37.051Z|00022|dpdk|INFO|EAL: VFIO support initialized
2020-10-27T17:46:37.930Z|00023|dpdk|INFO|EAL: PCI device 0000:01:00.0 on NUMA socket 0
2020-10-27T17:46:37.930Z|00024|dpdk|INFO|EAL: probe driver: 8086:1528 net_ixgbe
2020-10-27T17:46:37.930Z|00025|dpdk|INFO|EAL: PCI device 0000:01:00.1 on NUMA socket 0
2020-10-27T17:46:37.930Z|00026|dpdk|INFO|EAL: probe driver: 8086:1528 net_ixgbe
2020-10-27T17:46:37.930Z|00027|dpdk|INFO|EAL: PCI device 0000:07:00.0 on NUMA socket 0
2020-10-27T17:46:37.930Z|00028|dpdk|INFO|EAL: probe driver: 8086:1521 net_e1000_igb
2020-10-27T17:46:37.995Z|00029|dpdk|INFO|EAL: PCI device 0000:07:00.1 on NUMA socket 0
2020-10-27T17:46:37.996Z|00030|dpdk|INFO|EAL: probe driver: 8086:1521 net_e1000_igb
2020-10-27T17:46:38.067Z|00031|dpdk|INFO|DPDK Enabled - initialized
2020-10-27T17:46:38.071Z|00032|pmd_perf|INFO|DPDK provided TSC frequency: 2600000 KHz
2020-10-27T17:46:38.083Z|00033|ofproto_dpif|INFO|netdev#ovs-netdev: Datapath supports recirculation
2020-10-27T17:46:38.083Z|00034|ofproto_dpif|INFO|netdev#ovs-netdev: VLAN header stack length probed as 1
2020-10-27T17:46:38.083Z|00035|ofproto_dpif|INFO|netdev#ovs-netdev: MPLS label stack length probed as 3
2020-10-27T17:46:38.083Z|00036|ofproto_dpif|INFO|netdev#ovs-netdev: Datapath supports truncate action
2020-10-27T17:46:38.083Z|00037|ofproto_dpif|INFO|netdev#ovs-netdev: Datapath supports unique flow ids
2020-10-27T17:46:38.083Z|00038|ofproto_dpif|INFO|netdev#ovs-netdev: Datapath supports clone action
2020-10-27T17:46:38.083Z|00039|ofproto_dpif|INFO|netdev#ovs-netdev: Max sample nesting level probed as 10
2020-10-27T17:46:38.083Z|00040|ofproto_dpif|INFO|netdev#ovs-netdev: Datapath supports eventmask in conntrack action
2020-10-27T17:46:38.083Z|00041|ofproto_dpif|INFO|netdev#ovs-netdev: Datapath supports ct_clear action
2020-10-27T17:46:38.083Z|00042|ofproto_dpif|INFO|netdev#ovs-netdev: Max dp_hash algorithm probed to be 1
2020-10-27T17:46:38.083Z|00043|ofproto_dpif|INFO|netdev#ovs-netdev: Datapath supports check_pkt_len action
2020-10-27T17:46:38.083Z|00044|ofproto_dpif|INFO|netdev#ovs-netdev: Datapath supports timeout policy in conntrack action
2020-10-27T17:46:38.083Z|00045|ofproto_dpif|INFO|netdev#ovs-netdev: Datapath supports ct_state
2020-10-27T17:46:38.083Z|00046|ofproto_dpif|INFO|netdev#ovs-netdev: Datapath supports ct_zone
2020-10-27T17:46:38.083Z|00047|ofproto_dpif|INFO|netdev#ovs-netdev: Datapath supports ct_mark
2020-10-27T17:46:38.083Z|00048|ofproto_dpif|INFO|netdev#ovs-netdev: Datapath supports ct_label
2020-10-27T17:46:38.083Z|00049|ofproto_dpif|INFO|netdev#ovs-netdev: Datapath supports ct_state_nat
2020-10-27T17:46:38.084Z|00050|ofproto_dpif|INFO|netdev#ovs-netdev: Datapath supports ct_orig_tuple
2020-10-27T17:46:38.084Z|00051|ofproto_dpif|INFO|netdev#ovs-netdev: Datapath supports ct_orig_tuple6
2020-10-27T17:46:38.084Z|00052|ofproto_dpif|INFO|netdev#ovs-netdev: Datapath supports IPv6 ND Extensions
2020-10-27T17:46:38.090Z|00053|bridge|INFO|bridge br0: added interface br0 on port 65534
2020-10-27T17:46:38.090Z|00054|netdev_dpdk|WARN|Failed to enable flow control on device 0
2020-10-27T17:46:38.099Z|00055|dpif_netdev|INFO|PMD thread on numa_id: 1, core id: 5 created.
2020-10-27T17:46:38.107Z|00056|dpif_netdev|INFO|PMD thread on numa_id: 0, core id: 2 created.
2020-10-27T17:46:38.107Z|00057|dpif_netdev|INFO|There are 1 pmd threads on numa node 1
2020-10-27T17:46:38.107Z|00058|dpif_netdev|INFO|There are 1 pmd threads on numa node 0
2020-10-27T17:46:38.107Z|00059|dpdk|INFO|Device with port_id=0 already stopped
2020-10-27T17:46:38.382Z|00060|netdev_dpdk|INFO|Port 0: ec:f4:bb:e2:f4:94
2020-10-27T17:46:38.382Z|00061|dpif_netdev|INFO|Core 2 on numa node 0 assigned port 'dpdk-p0' rx queue 0 (measured processing cycles 0).
2020-10-27T17:46:38.383Z|00062|bridge|INFO|bridge br0: added interface dpdk-p0 on port 1
2020-10-27T17:46:38.385Z|00063|dpdk|INFO|VHOST_CONFIG: Linear buffers requested without external buffers, disabling host segmentation offloading support
2020-10-27T17:46:38.390Z|00064|dpdk|INFO|VHOST_CONFIG: vhost-user client: socket created, fd: 1091
2020-10-27T17:46:38.390Z|00065|netdev_dpdk|INFO|vHost User device 'vhost-vm-2004-tpl' created in 'client' mode, using client socket '/var/run/openvswitch-vhost/vhost-vm-2004-tpl'
2020-10-27T17:46:38.394Z|00066|dpdk|WARN|VHOST_CONFIG: failed to connect to /var/run/openvswitch-vhost/vhost-vm-2004-tpl: No such file or directory
2020-10-27T17:46:38.394Z|00067|dpdk|INFO|VHOST_CONFIG: /var/run/openvswitch-vhost/vhost-vm-2004-tpl: reconnecting...
2020-10-27T17:46:38.538Z|00068|dpif_netdev|INFO|Core 2 on numa node 0 assigned port 'dpdk-p0' rx queue 0 (measured processing cycles 0).
2020-10-27T17:46:38.538Z|00069|dpif_netdev|INFO|Core 5 on numa node 1 assigned port 'vhost-vm-2004-tpl' rx queue 0 (measured processing cycles 0).
2020-10-27T17:46:38.538Z|00070|bridge|INFO|bridge br0: added interface vhost-vm-2004-tpl on port 2
2020-10-27T17:46:38.538Z|00071|bridge|INFO|bridge br0: using datapath ID 0000ecf4bbe2f494
2020-10-27T17:46:38.539Z|00072|connmgr|INFO|br0: added service controller "punix:/usr/local/var/run/openvswitch/br0.mgmt"
2020-10-27T17:46:38.539Z|00073|timeval|WARN|Unreasonably long 1554ms poll interval (361ms user, 789ms system)
2020-10-27T17:46:38.539Z|00074|timeval|WARN|faults: 36263 minor, 0 major
2020-10-27T17:46:38.539Z|00075|timeval|WARN|disk: 0 reads, 24 writes
2020-10-27T17:46:38.539Z|00076|timeval|WARN|context switches: 857 voluntary, 1425 involuntary
2020-10-27T17:46:38.539Z|00077|coverage|INFO|Event coverage, avg rate over last: 5 seconds, last minute, last hour, hash=072f9aca:
2020-10-27T17:46:38.539Z|00078|coverage|INFO|bridge_reconfigure 0.0/sec 0.000/sec 0.0000/sec total: 1
2020-10-27T17:46:38.540Z|00079|coverage|INFO|ofproto_flush 0.0/sec 0.000/sec 0.0000/sec total: 1
2020-10-27T17:46:38.540Z|00080|coverage|INFO|ofproto_update_port 0.0/sec 0.000/sec 0.0000/sec total: 3
2020-10-27T17:46:38.540Z|00081|coverage|INFO|rev_flow_table 0.0/sec 0.000/sec 0.0000/sec total: 1
2020-10-27T17:46:38.540Z|00082|coverage|INFO|cmap_expand 0.0/sec 0.000/sec 0.0000/sec total: 44
2020-10-27T17:46:38.540Z|00083|coverage|INFO|cmap_shrink 0.0/sec 0.000/sec 0.0000/sec total: 25
2020-10-27T17:46:38.540Z|00084|coverage|INFO|datapath_drop_upcall_error 0.0/sec 0.000/sec 0.0000/sec total: 2
2020-10-27T17:46:38.540Z|00085|coverage|INFO|dpif_port_add 0.0/sec 0.000/sec 0.0000/sec total: 3
2020-10-27T17:46:38.540Z|00086|coverage|INFO|dpif_flow_flush 0.0/sec 0.000/sec 0.0000/sec total: 1
2020-10-27T17:46:38.540Z|00087|coverage|INFO|dpif_flow_get 0.0/sec 0.000/sec 0.0000/sec total: 23
2020-10-27T17:46:38.540Z|00088|coverage|INFO|dpif_flow_put 0.0/sec 0.000/sec 0.0000/sec total: 24
2020-10-27T17:46:38.540Z|00089|coverage|INFO|dpif_flow_del 0.0/sec 0.000/sec 0.0000/sec total: 23
2020-10-27T17:46:38.540Z|00090|coverage|INFO|dpif_execute 0.0/sec 0.000/sec 0.0000/sec total: 6
2020-10-27T17:46:38.540Z|00091|coverage|INFO|flow_extract 0.0/sec 0.000/sec 0.0000/sec total: 4
2020-10-27T17:46:38.540Z|00092|coverage|INFO|miniflow_malloc 0.0/sec 0.000/sec 0.0000/sec total: 35
2020-10-27T17:46:38.540Z|00093|coverage|INFO|hmap_pathological 0.0/sec 0.000/sec 0.0000/sec total: 4
2020-10-27T17:46:38.540Z|00094|coverage|INFO|hmap_expand 0.0/sec 0.000/sec 0.0000/sec total: 492
2020-10-27T17:46:38.540Z|00095|coverage|INFO|hmap_shrink 0.0/sec 0.000/sec 0.0000/sec total: 2
2020-10-27T17:46:38.540Z|00096|coverage|INFO|netdev_received 0.0/sec 0.000/sec 0.0000/sec total: 1
2020-10-27T17:46:38.540Z|00097|coverage|INFO|netdev_get_stats 0.0/sec 0.000/sec 0.0000/sec total: 3
2020-10-27T17:46:38.540Z|00098|coverage|INFO|poll_create_node 0.0/sec 0.000/sec 0.0000/sec total: 30
2020-10-27T17:46:38.540Z|00099|coverage|INFO|poll_zero_timeout 0.0/sec 0.000/sec 0.0000/sec total: 1
2020-10-27T17:46:38.540Z|00100|coverage|INFO|seq_change 0.0/sec 0.000/sec 0.0000/sec total: 137
2020-10-27T17:46:38.540Z|00101|coverage|INFO|pstream_open 0.0/sec 0.000/sec 0.0000/sec total: 3
2020-10-27T17:46:38.540Z|00102|coverage|INFO|stream_open 0.0/sec 0.000/sec 0.0000/sec total: 1
2020-10-27T17:46:38.540Z|00103|coverage|INFO|util_xalloc 0.0/sec 0.000/sec 0.0000/sec total: 9631
2020-10-27T17:46:38.540Z|00104|coverage|INFO|netdev_set_policing 0.0/sec 0.000/sec 0.0000/sec total: 1
2020-10-27T17:46:38.540Z|00105|coverage|INFO|netdev_get_ethtool 0.0/sec 0.000/sec 0.0000/sec total: 2
2020-10-27T17:46:38.540Z|00106|coverage|INFO|netlink_received 0.0/sec 0.000/sec 0.0000/sec total: 87
2020-10-27T17:46:38.540Z|00107|coverage|INFO|netlink_recv_jumbo 0.0/sec 0.000/sec 0.0000/sec total: 19
2020-10-27T17:46:38.540Z|00108|coverage|INFO|netlink_sent 0.0/sec 0.000/sec 0.0000/sec total: 85
2020-10-27T17:46:38.540Z|00109|coverage|INFO|111 events never hit
2020-10-27T17:46:38.546Z|00110|netdev_dpdk|WARN|Failed to enable flow control on device 0
2020-10-27T17:46:38.547Z|00111|bridge|INFO|ovs-vswitchd (Open vSwitch) 2.14.90
2020-10-27T17:46:47.093Z|00112|memory|INFO|196052 kB peak resident set size after 10.1 seconds
2020-10-27T17:46:47.093Z|00113|memory|INFO|handlers:1 ports:3 revalidators:1 rules:5 udpif keys:2
2020-10-27T17:46:58.392Z|00001|dpdk|INFO|VHOST_CONFIG: /var/run/openvswitch-vhost/vhost-vm-2004-tpl: connected
2020-10-27T17:46:58.392Z|00002|dpdk|INFO|VHOST_CONFIG: new device, handle is 0
2020-10-27T17:46:58.396Z|00001|dpdk|INFO|VHOST_CONFIG: read message VHOST_USER_GET_FEATURES
2020-10-27T17:46:58.396Z|00002|dpdk|INFO|VHOST_CONFIG: read message VHOST_USER_GET_PROTOCOL_FEATURES
2020-10-27T17:46:58.396Z|00003|dpdk|INFO|VHOST_CONFIG: read message VHOST_USER_SET_PROTOCOL_FEATURES
2020-10-27T17:46:58.396Z|00004|dpdk|INFO|VHOST_CONFIG: negotiated Vhost-user protocol features: 0xcb7
2020-10-27T17:46:58.396Z|00005|dpdk|INFO|VHOST_CONFIG: read message VHOST_USER_GET_QUEUE_NUM
2020-10-27T17:46:58.396Z|00006|dpdk|INFO|VHOST_CONFIG: read message VHOST_USER_SET_SLAVE_REQ_FD
2020-10-27T17:46:58.396Z|00007|dpdk|INFO|VHOST_CONFIG: read message VHOST_USER_SET_OWNER
2020-10-27T17:46:58.396Z|00008|dpdk|INFO|VHOST_CONFIG: read message VHOST_USER_GET_FEATURES
2020-10-27T17:46:58.396Z|00009|dpdk|INFO|VHOST_CONFIG: read message VHOST_USER_SET_VRING_CALL
2020-10-27T17:46:58.396Z|00010|dpdk|INFO|VHOST_CONFIG: vring call idx:0 file:1100
2020-10-27T17:46:58.396Z|00011|dpdk|INFO|VHOST_CONFIG: read message VHOST_USER_SET_VRING_CALL
2020-10-27T17:46:58.396Z|00012|dpdk|INFO|VHOST_CONFIG: vring call idx:1 file:1101
2020-10-27T17:47:01.905Z|00013|dpdk|INFO|VHOST_CONFIG: read message VHOST_USER_SET_VRING_ENABLE
2020-10-27T17:47:01.905Z|00014|dpdk|INFO|VHOST_CONFIG: set queue enable: 1 to qp idx: 0
2020-10-27T17:47:01.905Z|00015|netdev_dpdk|INFO|State of queue 0 ( tx_qid 0 ) of vhost device '/var/run/openvswitch-vhost/vhost-vm-2004-tpl' changed to 'enabled'
2020-10-27T17:47:01.905Z|00016|dpdk|INFO|VHOST_CONFIG: read message VHOST_USER_SET_VRING_ENABLE
2020-10-27T17:47:01.905Z|00017|dpdk|INFO|VHOST_CONFIG: set queue enable: 1 to qp idx: 1
2020-10-27T17:47:01.905Z|00018|netdev_dpdk|INFO|State of queue 1 ( rx_qid 0 ) of vhost device '/var/run/openvswitch-vhost/vhost-vm-2004-tpl' changed to 'enabled'
2020-10-27T17:47:01.905Z|00019|dpdk|INFO|VHOST_CONFIG: read message VHOST_USER_SET_VRING_ENABLE
2020-10-27T17:47:01.905Z|00020|dpdk|INFO|VHOST_CONFIG: set queue enable: 1 to qp idx: 0
2020-10-27T17:47:01.905Z|00021|netdev_dpdk|INFO|State of queue 0 ( tx_qid 0 ) of vhost device '/var/run/openvswitch-vhost/vhost-vm-2004-tpl' changed to 'enabled'
2020-10-27T17:47:01.905Z|00022|dpdk|INFO|VHOST_CONFIG: read message VHOST_USER_SET_VRING_ENABLE
2020-10-27T17:47:01.905Z|00023|dpdk|INFO|VHOST_CONFIG: set queue enable: 1 to qp idx: 1
2020-10-27T17:47:01.905Z|00024|netdev_dpdk|INFO|State of queue 1 ( rx_qid 0 ) of vhost device '/var/run/openvswitch-vhost/vhost-vm-2004-tpl' changed to 'enabled'
2020-10-27T17:47:01.908Z|00025|dpdk|INFO|VHOST_CONFIG: read message VHOST_USER_SET_FEATURES
2020-10-27T17:47:01.908Z|00026|dpdk|INFO|VHOST_CONFIG: negotiated Virtio features: 0x17020a782
2020-10-27T17:47:50.172Z|00001|dpif_netdev(revalidator6)|ERR|internal error parsing flow key skb_priority(0),skb_mark(0),ct_state(0),ct_zone(0),ct_mark(0),ct_label(0),recirc_id(0),dp_hash(0),in_port(2),packet_type(ns=0,id=0),eth(src=54:b2:03:14:d0:39,dst=01:00:5e:00:00:01),eth_type(0x0800),ipv4(src=0.0.0.0,dst=224.0.0.1,proto=2,tos=0xc0,ttl=1,frag=no)
2020-10-27T17:47:50.172Z|00002|dpif(revalidator6)|WARN|netdev#ovs-netdev: failed to put[modify] (Invalid argument) ufid:94f25b77-62c5-4859-aec3-e9a41c72dc3d skb_priority(0/0),skb_mark(0/0),ct_state(0/0),ct_zone(0/0),ct_mark(0/0),ct_label(0/0),recirc_id(0),dp_hash(0/0),in_port(2),packet_type(ns=0,id=0),eth(src=54:b2:03:14:d0:39,dst=01:00:5e:00:00:01),eth_type(0x0800),ipv4(src=0.0.0.0/0.0.0.0,dst=224.0.0.1/0.0.0.0,proto=2/0,tos=0xc0/0,ttl=1/0,frag=no), actions:userspace(pid=0,slow_path(match))
2020-10-27T17:47:52.680Z|00003|dpif_netdev(revalidator6)|ERR|internal error parsing flow key skb_priority(0),skb_mark(0),ct_state(0),ct_zone(0),ct_mark(0),ct_label(0),recirc_id(0),dp_hash(0),in_port(2),packet_type(ns=0,id=0),eth(src=44:2c:05:ce:8d:03,dst=01:00:5e:7f:ff:fa),eth_type(0x0800),ipv4(src=192.168.27.150,dst=239.255.255.250,proto=2,tos=0xc0,ttl=1,frag=no)
2020-10-27T17:47:52.680Z|00004|dpif(revalidator6)|WARN|netdev#ovs-netdev: failed to put[modify] (Invalid argument) ufid:aff312f9-4416-49e4-a314-9f895aa96de1 skb_priority(0/0),skb_mark(0/0),ct_state(0/0),ct_zone(0/0),ct_mark(0/0),ct_label(0/0),recirc_id(0),dp_hash(0/0),in_port(2),packet_type(ns=0,id=0),eth(src=44:2c:05:ce:8d:03,dst=01:00:5e:7f:ff:fa),eth_type(0x0800),ipv4(src=192.168.27.150/0.0.0.0,dst=239.255.255.250/0.0.0.0,proto=2/0,tos=0xc0/0,ttl=1/0,frag=no), actions:userspace(pid=0,slow_path(match))
2020-10-27T17:47:55.009Z|00005|dpif_netdev(revalidator6)|ERR|internal error parsing flow key skb_priority(0),skb_mark(0),ct_state(0),ct_zone(0),ct_mark(0),ct_label(0),recirc_id(0),dp_hash(0),in_port(2),packet_type(ns=0,id=0),eth(src=00:02:c9:50:8a:f0,dst=01:00:5e:00:00:fb),eth_type(0x0800),ipv4(src=192.168.27.232,dst=224.0.0.251,proto=2,tos=0,ttl=1,frag=no)
2020-10-27T17:47:55.009Z|00006|dpif_netdev(revalidator6)|ERR|internal error parsing flow key skb_priority(0),skb_mark(0),ct_state(0),ct_zone(0),ct_mark(0),ct_label(0),recirc_id(0),dp_hash(0),in_port(2),packet_type(ns=0,id=0),eth(src=56:ed:b8:d2:f1:e3,dst=01:00:5e:00:00:6a),eth_type(0x0800),ipv4(src=192.168.27.101,dst=224.0.0.106,proto=2,tos=0xc0,ttl=1,frag=no)
2020-10-27T17:47:55.009Z|00007|dpif(revalidator6)|WARN|netdev#ovs-netdev: failed to put[modify] (Invalid argument) ufid:b108050d-511e-447d-8837-35af4af81c4e skb_priority(0/0),skb_mark(0/0),ct_state(0/0),ct_zone(0/0),ct_mark(0/0),ct_label(0/0),recirc_id(0),dp_hash(0/0),in_port(2),packet_type(ns=0,id=0),eth(src=00:02:c9:50:8a:f0,dst=01:00:5e:00:00:fb),eth_type(0x0800),ipv4(src=192.168.27.232/0.0.0.0,dst=224.0.0.251/0.0.0.0,proto=2/0,tos=0/0,ttl=1/0,frag=no), actions:userspace(pid=0,slow_path(match))
2020-10-27T17:47:55.009Z|00008|dpif(revalidator6)|WARN|netdev#ovs-netdev: failed to put[modify] (Invalid argument) ufid:02feab90-66a5-484c-bbc5-8e97985d1f73 skb_priority(0/0),skb_mark(0/0),ct_state(0/0),ct_zone(0/0),ct_mark(0/0),ct_label(0/0),recirc_id(0),dp_hash(0/0),in_port(2),packet_type(ns=0,id=0),eth(src=56:ed:b8:d2:f1:e3,dst=01:00:5e:00:00:6a),eth_type(0x0800),ipv4(src=192.168.27.101/0.0.0.0,dst=224.0.0.106/0.0.0.0,proto=2/0,tos=0xc0/0,ttl=1/0,frag=no), actions:userspace(pid=0,slow_path(match))
2020-10-27T17:47:56.014Z|00009|dpif_netdev(revalidator6)|ERR|internal error parsing flow key skb_priority(0),skb_mark(0),ct_state(0),ct_zone(0),ct_mark(0),ct_label(0),recirc_id(0),dp_hash(0),in_port(2),packet_type(ns=0,id=0),eth(src=00:02:c9:50:8a:f0,dst=01:00:5e:00:00:fc),eth_type(0x0800),ipv4(src=192.168.27.232,dst=224.0.0.252,proto=2,tos=0,ttl=1,frag=no)
2020-10-27T17:47:56.014Z|00010|dpif(revalidator6)|WARN|netdev#ovs-netdev: failed to put[modify] (Invalid argument) ufid:22a5115c-c730-42b2-a590-87b999192781 skb_priority(0/0),skb_mark(0/0),ct_state(0/0),ct_zone(0/0),ct_mark(0/0),ct_label(0/0),recirc_id(0),dp_hash(0/0),in_port(2),packet_type(ns=0,id=0),eth(src=00:02:c9:50:8a:f0,dst=01:00:5e:00:00:fc),eth_type(0x0800),ipv4(src=192.168.27.232/0.0.0.0,dst=224.0.0.252/0.0.0.0,proto=2/0,tos=0/0,ttl=1/0,frag=no), actions:userspace(pid=0,slow_path(match))
I can reproduce the crash by streaming H.265 video on an Android device. All the relevant code is try-catch blocks. Is it possible to catch an exception and prevent the app crash. The trace does not point to any app's code. I suspect it is not caused by any specific statement.
10-03 00:26:46.891 31480-31888/net.mydomain.appid I/OMXClient: Using client-side OMX mux.
10-03 00:26:46.894 31480-31882/net.mydomain.appid D/SoftHEVC: Number of CPU cores: 8
10-03 00:26:46.897 31480-31882/net.mydomain.appid D/SoftHEVC: Initializing decoder
10-03 00:26:46.900 31480-31882/net.mydomain.appid D/SoftHEVC: Set number of cores to 4
10-03 00:26:46.900 31480-31882/net.mydomain.appid D/SoftHEVC: Ittiam decoder version number: #(#)Id:HEVCDEC_production Ver:04.01 Released by ITTIAM Build: Feb 18 2019 # 12:15:02
10-03 00:26:46.905 31480-31882/net.mydomain.appid W/OMXNodeInstance: [1:google.hevc.decoder] component does not support metadata mode; using fallback
10-03 00:26:46.905 31480-31882/net.mydomain.appid E/ACodec: [OMX.google.hevc.decoder] storeMetaDataInBuffers failed w/ err -1010
10-03 00:26:46.905 31480-31882/net.mydomain.appid D/SoftHEVC: Freeing codec memory
10-03 00:26:46.908 31480-31888/net.mydomain.appid D/SoftHEVC: Number of CPU cores: 8
10-03 00:26:46.908 31480-31888/net.mydomain.appid D/SoftHEVC: Initializing decoder
10-03 00:26:46.909 31480-31888/net.mydomain.appid D/SoftHEVC: Set number of cores to 4
10-03 00:26:46.909 31480-31888/net.mydomain.appid D/SoftHEVC: Ittiam decoder version number: #(#)Id:HEVCDEC_production Ver:04.01 Released by ITTIAM Build: Feb 18 2019 # 12:15:02
10-03 00:26:46.909 31480-31882/net.mydomain.appid D/SoftHEVC: Number of CPU cores: 8
10-03 00:26:46.912 31480-31882/net.mydomain.appid D/SoftHEVC: Initializing decoder
10-03 00:26:46.914 31480-31888/net.mydomain.appid W/OMXNodeInstance: [1:google.hevc.decoder] component does not support metadata mode; using fallback
10-03 00:26:46.914 31480-31888/net.mydomain.appid E/ACodec: [OMX.google.hevc.decoder] storeMetaDataInBuffers failed w/ err -1010
10-03 00:26:46.915 31480-31888/net.mydomain.appid D/SoftHEVC: Freeing codec memory
10-03 00:26:46.916 31480-31882/net.mydomain.appid D/SoftHEVC: Set number of cores to 4
10-03 00:26:46.916 31480-31882/net.mydomain.appid D/SoftHEVC: Ittiam decoder version number: #(#)Id:HEVCDEC_production Ver:04.01 Released by ITTIAM Build: Feb 18 2019 # 12:15:02
10-03 00:26:46.925 31480-31888/net.mydomain.appid D/SoftHEVC: Number of CPU cores: 8
10-03 00:26:46.926 31480-31888/net.mydomain.appid E/SoftHEVC: Allocation failure for memory record #30 of size 402427776
10-03 00:26:46.926 31480-31888/net.mydomain.appid E/SoftHEVC: Create failure
10-03 00:26:46.926 31480-31888/net.mydomain.appid D/SoftHEVC: Freeing codec memory
10-03 00:26:46.935 31480-31891/net.mydomain.appid D/SoftHEVC: Number of CPU cores: 8
10-03 00:26:46.935 31480-31891/net.mydomain.appid D/SoftHEVC: Initializing decoder
10-03 00:26:46.937 31480-31891/net.mydomain.appid D/SoftHEVC: Set number of cores to 4
10-03 00:26:46.937 31480-31891/net.mydomain.appid D/SoftHEVC: Ittiam decoder version number: #(#)Id:HEVCDEC_production Ver:04.01 Released by ITTIAM Build: Feb 18 2019 # 12:15:02
10-03 00:26:46.943 31480-31891/net.mydomain.appid D/SoftHEVC: Freeing codec memory
10-03 00:26:46.946 31480-31891/net.mydomain.appid D/SoftHEVC: Number of CPU cores: 8
10-03 00:26:46.947 31480-31891/net.mydomain.appid E/SoftHEVC: Allocation failure for memory record #30 of size 402427776
10-03 00:26:46.947 31480-31891/net.mydomain.appid E/SoftHEVC: Create failure
10-03 00:26:46.947 31480-31891/net.mydomain.appid D/SoftHEVC: Freeing codec memory
10-03 00:26:46.949 31480-31891/net.mydomain.appid A/SoftHEVC: frameworks/av/media/libstagefright/codecs/hevcdec/SoftHEVC.cpp:678 CHECK_EQ( reInitDecoder(),(status_t)OK) failed: -12 vs. 0
--------- beginning of crash
10-03 00:26:46.950 31480-31891/net.mydomain.appid A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 31891 (le.hevc.decoder)
10-03 00:26:47.067 322-322/? I/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
10-03 00:26:47.067 322-322/? I/DEBUG: Build fingerprint: 'foo/tm_a83t/tm-a83t:5.1.1/LMY48B/20190312:eng/test-keys'
10-03 00:26:47.067 322-322/? I/DEBUG: Revision: '0'
10-03 00:26:47.067 322-322/? I/DEBUG: ABI: 'arm'
10-03 00:26:47.068 322-322/? I/DEBUG: pid: 31480, tid: 31891, name: le.hevc.decoder >>> net.mydomain.appid <<<
10-03 00:26:47.068 322-322/? I/DEBUG: signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
10-03 00:26:47.164 322-322/? I/DEBUG: Abort message: 'frameworks/av/media/libstagefright/codecs/hevcdec/SoftHEVC.cpp:678 CHECK_EQ( reInitDecoder(),(status_t)OK) failed: -12 vs. 0'
10-03 00:26:47.164 322-322/? I/DEBUG: r0 00000000 r1 00007c93 r2 00000006 r3 00000000
10-03 00:26:47.164 322-322/? I/DEBUG: r4 98e39db8 r5 00000006 r6 0000000c r7 0000010c
10-03 00:26:47.164 322-322/? I/DEBUG: r8 00000000 r9 98e39a58 sl 98e399dc fp 98e399d0
10-03 00:26:47.164 322-322/? I/DEBUG: ip 00007c93 sp 98e39538 lr b6df2855 pc b6e15a68 cpsr 60030010
10-03 00:26:47.165 322-322/? I/DEBUG: backtrace:
10-03 00:26:47.165 322-322/? I/DEBUG: #00 pc 0003aa68 /system/lib/libc.so (tgkill+12)
10-03 00:26:47.166 322-322/? I/DEBUG: #01 pc 00017851 /system/lib/libc.so (pthread_kill+52)
10-03 00:26:47.166 322-322/? I/DEBUG: #02 pc 00018467 /system/lib/libc.so (raise+10)
10-03 00:26:47.166 322-322/? I/DEBUG: #03 pc 00014c25 /system/lib/libc.so (__libc_android_abort+36)
10-03 00:26:47.166 322-322/? I/DEBUG: #04 pc 00012f70 /system/lib/libc.so (abort+4)
10-03 00:26:47.166 322-322/? I/DEBUG: #05 pc 00002215 /system/lib/liblog.so (__android_log_assert+88)
10-03 00:26:47.166 322-322/? I/DEBUG: #06 pc 00009d87 /system/lib/libstagefright_soft_hevcdec.so
10-03 00:26:47.166 322-322/? I/DEBUG: #07 pc 00016ca5 /system/lib/libstagefright_omx.so (android::SimpleSoftOMXComponent::onMessageReceived(android::sp<android::AMessage> const&)+220)
10-03 00:26:47.166 322-322/? I/DEBUG: #08 pc 00016deb /system/lib/libstagefright_omx.so
10-03 00:26:47.167 322-322/? I/DEBUG: #09 pc 0000c55f /system/lib/libstagefright_foundation.so (android::ALooperRoster::deliverMessage(android::sp<android::AMessage> const&)+166)
10-03 00:26:47.167 322-322/? I/DEBUG: #10 pc 0000bedd /system/lib/libstagefright_foundation.so (android::ALooper::loop()+220)
10-03 00:26:47.167 322-322/? I/DEBUG: #11 pc 000104e1 /system/lib/libutils.so (android::Thread::_threadLoop(void*)+112)
10-03 00:26:47.167 322-322/? I/DEBUG: #12 pc 00010051 /system/lib/libutils.so
10-03 00:26:47.167 322-322/? I/DEBUG: #13 pc 0001703f /system/lib/libc.so (__pthread_start(void*)+30)
10-03 00:26:47.167 322-322/? I/DEBUG: #14 pc 00014f87 /system/lib/libc.so (__start_thread+6)
10-03 00:26:47.168 322-322/? I/debuggerd: type=1400 audit(0.0:8): avc: denied { read } for name="pvrsrvkm" dev="tmpfs" ino=2176 scontext=u:r:debuggerd:s0 tcontext=u:object_r:gpu_device:s0 tclass=chr_file permissive=1
10-03 00:26:47.168 322-322/? I/debuggerd: type=1400 audit(0.0:9): avc: denied { open } for name="pvrsrvkm" dev="tmpfs" ino=2176 scontext=u:r:debuggerd:s0 tcontext=u:object_r:gpu_device:s0 tclass=chr_file permissive=1
10-03 00:26:47.168 322-322/? I/debuggerd: type=1400 audit(0.0:10): avc: denied { getattr } for path="/dev/pvrsrvkm" dev="tmpfs" ino=2176 scontext=u:r:debuggerd:s0 tcontext=u:object_r:gpu_device:s0 tclass=chr_file permissive=1
10-03 00:26:49.165 433-581/system_process E/NativeCrashListener: Exception dealing with report
android.system.ErrnoException: read failed: EAGAIN (Try again)
at libcore.io.Posix.readBytes(Native Method)
at libcore.io.Posix.read(Posix.java:165)
at libcore.io.BlockGuardOs.read(BlockGuardOs.java:230)
at android.system.Os.read(Os.java:350)
at com.android.server.am.NativeCrashListener.consumeNativeCrashData(NativeCrashListener.java:240)
at com.android.server.am.NativeCrashListener.run(NativeCrashListener.java:138)
It seems to be caused by "CHECK_EQ(reInitDecoder(), (status_t)OK);" in the following code:
// This is needed to handle CTS DecoderTest testCodecResetsHEVCWithoutSurface,
// which is not sending SPS/PPS after port reconfiguration and flush to the codec.
if (unsupportedDimensions && !mFlushNeeded) {
bool portWillReset = false;
handlePortSettingsChange(&portWillReset, s_dec_op.u4_pic_wd, s_dec_op.u4_pic_ht);
CHECK_EQ(reInitDecoder(), (status_t)OK);
setDecodeArgs(&s_dec_ip, &s_dec_op, inHeader, outHeader, timeStampIx);
ivdec_api_function(mCodecCtx, (void *)&s_dec_ip, (void *)&s_dec_op);
return;
}
Is there a way to find out the unsupportedDimensions of the HEVC decoder of an Android device?
If you are asking for a way to get Supported ranges of different params for a codec, you can use MediaCodecInfo.VideoCapabilities
Especially, you can get supported heights and widths by calling
Range<Integer> getSupportedWidths()
Range<Integer> getSupportedHeights()
Also, you can get supported heights for a given width value and vice versa by calling getSupportedHeightsFor(int width) and getSupportedWidthsFor(int height). You can do the same for framerate...
Finally, in your case, you can call directly boolean isSizeSupported(int width, int height)
Please take a look at this gist to get formatted capabilities values for a given MedaCodec :
https://gist.github.com/aelqsimi/f773d63fd5f234df7892276e3b05e5f8