Channels App Crashing Android TV based Projectors (Amlogic)

I managed to capture the logs. It doesn't look good. A full on kernel panic in their custom video decoder. This explains the reboot, and also confirms that this is not something we can control from our app.

I was watching a h264 TVE channel when it happened. Earlier this week when I tried with mpeg2 they played for hours without any issue.

Can you check on my.hdhomerun.com under Channel Lineup if your channels say AVC next to them? Are those the only ones that cause crashes?

Given how deep this appears to be, I would assume that other apps would also eventually crash if they're playing h264 video. Can you reproduce at all with the official HDHR app?

11-11 10:20:12.221     0     0 F         : [ 4872.058391@2] Unable to handle kernel NULL pointer dereference at virtual address 00000048
11-11 10:20:12.221     0     0 F         : [ 4872.058400@2] pgd = c0204000
11-11 10:20:12.221     0     0 F         : [ 4872.058406@2] [00000048] *pgd=00000000
11-11 10:20:12.221     0     0 F         : [ 4872.058420@2] Internal error: Oops: 5 [#1] PREEMPT SMP ARM
11-11 10:20:12.221     0     0 W         : [ 4872.058425@2] Modules linked in: bcmdhd(O) rtk_btusb(O) btusb(O) encoder(O) amvdec_avs2(O) amvdec_vp9(O) amvdec_vc1(O) amvdec_real(O) amvdec_mmpeg4(O) amvdec_mpeg4(O) amvdec_mmpeg12(O) amvdec_mpeg12(O) amvdec_mmjpeg(O) amvdec_mjpeg(O) amvdec_h265(O) amvdec_h264mvc(O) amvdec_mh264(O) amvdec_h264(O) amvdec_avs(O) stream_input(O) decoder_common(O) firmware(O) media_clock(O) texfat(PO) tntfs(PO) tfat(PO) optee_armtz(O) optee(O) tb_detect(O) mali(O) dnlp_alg
11-11 10:20:12.221     0     0 W [ 4872.058507@2] CPU: 2 PID: 3097 Comm: vdec-core Tainted: P           O    4.9.113 #1
11-11 10:20:12.221     0     0 W         : [ 4872.058510@2] Hardware name: Generic DT based system
11-11 10:20:12.221     0     0 W [ 4872.058514@2] task: eceff000 task.stack: bc100000
11-11 10:20:12.221     0     0 W         : [ 4872.058556@2] PC is at run+0xcc8/0xf84 [amvdec_mh264]
11-11 10:20:12.221     0     0 W         : [ 4872.058583@2] LR is at run+0x940/0xf84 [amvdec_mh264]
11-11 10:20:12.221     0     0 W [ 4872.058589@2] pc: [<bf2bec1c>]    lr : [<bf2be894>]    psr: 600e0113
11-11 10:20:12.221     0     0 W [ 4872.058589@2] sp: bc101c68  ip : bc101c68  fp : bc101ce4
11-11 10:20:12.221     0     0 W [ 4872.058593@2] r10: bf2d4600  r9 : ec003410  r8 : ec003410
11-11 10:20:12.221     0     0 W [ 4872.058597@2] r7: 00000000  r6 : f118b000  r5 : f14bd000  r4 : f1481000
11-11 10:20:12.221     0     0 W [ 4872.058601@2] r3: 00000000  r2 : f1803000  r1 : 00000100  r0 : 00000000
11-11 10:20:12.221     0     0 I [ 4872.058606@2] R2: f1803000, PFN:64a80
11-11 10:20:12.221     0     0 I [ 4872.058611@2] R4: f1481000, PFN:27329
11-11 10:20:12.222     0     0 I [ 4872.058615@2] R5: f14bd000, PFN:208bc
11-11 10:20:12.222     0     0 I [ 4872.058619@2] R6: f118b000, PFN:250d5
11-11 10:20:12.222     0     0 I [ 4872.058624@2] R10: bf2d4600, PFN:2b085
11-11 10:20:12.222     0     0 I [ 4872.058628@2] R11: bc101ce4, PFN:63d07
11-11 10:20:12.222     0     0 I [ 4872.058632@2] R12: bc101c68, PFN:63d07
11-11 10:20:12.222     0     0 I [ 4872.058636@2] R13: bc101c68, PFN:63d07
11-11 10:20:12.222     0     0 I [ 4872.058639@2] R14: bf2be894, PFN:2b261
11-11 10:20:12.222     0     0 I [ 4872.058643@2] R15: bf2bec1c, PFN:2b261

BTW could you also click Support > Submit Diagnostics > Video Player on both devices so I can get the specs.

Most of my channels are h264 but I know it crashed while playing a recording from CBS, which is MPEG-2.

I'll fire them up and send the specs.

Thanks!

edit: I've played recorded content (MPEG-2 and h264) with the Nova Player app and it hasn't crashed. Could be I've just been lucky. I'll let the HDHomerun app run for a few hours and see if it crashes.

I'll spin up CBS here and see if I can reproduce and capture logs on that one.

I emailed Wemax support earlier via https://appowemax.com/pages/contact with my findings.

If you're running tests then it would be very useful for you to capture logs as well. Are you on PC or Mac?

For logging, basically you need to install adb (https://www.xda-developers.com/install-adb-windows-macos-linux/) then lookup the IP of your device and use it with these commands:

adb connect x.x.x.x # (ip of your android device)
adb -s x.x.x.x logcat -b all > device-test1.log

I had the projector stream an h264 channel with the HDHomerun app and it eventually rebooted as well so it's not limited to the Channels app.

Wonder if it has anything to do with the container. I've played h264 .mkv and .mp4 files in Nova Player without any problems.

The container does not matter, by the time it reaches the Android MediaCodec APIs there is no concept of a container anymore.

The nova player might be based on vendor-specific amlogic APIs instead of the android APIs. Or they have some sort of workaround that handles the crashing case differently somehow.

I would suggest trying the VLC app next to see if that also reproduces the issue.

VLC played an h264 HDHomerun stream for about 5 hours last night without crashing. I'll test again today and see what happens.

1 Like

I got an email back from WeMax, they forwarded my debug info to their engineering team to look into.

VLC streamed for hours again without crashing. Shame we can pick the VLC decoder as playback for Channels.