mobile CCTV,mobile surveillance,police body worn cameras

标题: 不退出APP,初始化-退出,再初始化授权出现crash [打印本页]

author: Aiwinn    time: 2019-2-13 15:19
标题: 不退出APP,初始化-退出,再初始化授权出现crash
目前需求是再不杀掉APP的情况下,能进行初始化-退出循环。
现在程序做法是按照MPU的初始化流程,完成初始化,然后同样按照MPU的退出流程,完成程序退出。
但是没有杀掉APP,然后再次走初始化的流程,发现授权出现崩溃,log如下,帮忙看下问题在什么地方。


02-13 15:04:56.137 25287-25287/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
02-13 15:04:56.137 25287-25287/? A/DEBUG: Build fingerprint: 'Android/msm8953_64_c350/msm8953_64_c350:7.1.2/N2G47H/server01141416:user/release-keys'
02-13 15:04:56.137 25287-25287/? A/DEBUG: Revision: '0'
02-13 15:04:56.137 25287-25287/? A/DEBUG: ABI: 'arm'
02-13 15:04:56.137 25287-25287/? A/DEBUG: pid: 24797, tid: 25286, name: Thread-59  >>> com.aiwinn.jarvis.app.mix <<<
02-13 15:04:56.137 25287-25287/? A/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x10024
02-13 15:04:56.137 25287-25287/? A/DEBUG:     r0 00000000  r1 00000268  r2 090a2231  r3 00010024
02-13 15:04:56.137 25287-25287/? A/DEBUG:     r4 00000000  r5 d8e18a80  r6 c23e4d80  r7 00000002
02-13 15:04:56.137 25287-25287/? A/DEBUG:     r8 b66d4f30  r9 d8c85300  sl 00000000  fp b66d4ebc
02-13 15:04:56.137 25287-25287/? A/DEBUG:     ip c55f4e90  sp b66d4a88  lr c55ee0bd  pc c55fa9e8  cpsr 400b0030
02-13 15:04:56.138 25287-25287/? A/DEBUG: backtrace:
02-13 15:04:56.139 25287-25287/? A/DEBUG:     #00 pc 000049e8  /data/app/com.aiwinn.jarvis.app.mix-1/lib/arm/libframework.so (_ZN5IOBuf12produceBeginEi+7)
02-13 15:04:56.139 25287-25287/? A/DEBUG:     #01 pc 000050b9  /data/app/com.aiwinn.jarvis.app.mix-1/lib/arm/libbill.so (_ZN10BillThread9setActionEiPc+20)
02-13 15:04:56.139 25287-25287/? A/DEBUG:     #02 pc 00005dad  /data/app/com.aiwinn.jarvis.app.mix-1/lib/arm/libbill.so (_ZN10BillThread11packRequestEi+524)
02-13 15:04:56.139 25287-25287/? A/DEBUG:     #03 pc 0000640d  /data/app/com.aiwinn.jarvis.app.mix-1/lib/arm/libbill.so (_ZN10BillThread11checkActionEP8_jobjecti+1532)
02-13 15:04:56.139 25287-25287/? A/DEBUG:     #04 pc 00006707  /data/app/com.aiwinn.jarvis.app.mix-1/lib/arm/libbill.so (Java_com_smarteye_coresdk_BVPU_Auth+78)
02-13 15:04:56.139 25287-25287/? A/DEBUG:     #05 pc 0117cd8d  /data/app/com.aiwinn.jarvis.app.mix-1/oat/arm/base.odex (offset 0x10bb000)


author: Arthur    time: 2019-2-13 15:48
log我在看。你试下第二次及其以后的初始化不要调用auth()试试。
author: Aiwinn    time: 2019-2-13 15:52
Arthur post on2019-2-13 15:48
log我在看。你试下第二次及其以后的初始化不要调用auth()试试。

我把网络关掉就不会走授权的流程,是没有发生crash的,但是相机调用不起来。
author: Arthur    time: 2019-2-13 16:02
Aiwinn post on2019-2-13 15:52
我把网络关掉就不会走授权的流程,是没有发生crash的,但是相机调用不起来。

auth外层有个网络判断,所以不会认证。相机调用我们没加网络限制的。 你先试下调过一次认证之后就不要再调了。
author: Aiwinn    time: 2019-2-13 16:33
Arthur post on2019-2-13 16:02
auth外层有个网络判断,所以不会认证。相机调用我们没加网络限制的。 你先试下调过一次认证之后就不要再 ...

第一次auth之后,二次不在走auth,没有发生crash,但是相机预览黑屏,然后再退出,走退出流程,过一段时间就崩溃了
author: Arthur    time: 2019-2-13 16:43
Aiwinn post on2019-2-13 16:33
第一次auth之后,二次不在走auth,没有发生crash,但是相机预览黑屏,然后再退出,走退出流程,过一段时 ...

过一段时间就崩溃了。日志跟上面一样么? 还是新的?
author: Arthur    time: 2019-2-13 16:50
Aiwinn post on2019-2-13 16:33
第一次auth之后,二次不在走auth,没有发生crash,但是相机预览黑屏,然后再退出,走退出流程,过一段时 ...

cameraHolder里的onPreviewFrame看下有没有数据,先确定是没打开摄像头还是没渲染上。
author: Aiwinn    time: 2019-2-13 16:59
Arthur post on2019-2-13 16:43
过一段时间就崩溃了。日志跟上面一样么? 还是新的?

ANR了

ANR in com.aiwinn.jarvis.app.mix (com.aiwinn.jarvis.app.mix/com.aiwinn.jarvis.app.host.activity.WelcomeActivity)
                                                  PID: 9608
                                                  Reason: Input dispatching timed out (Waiting because no window has focus but there is a focused application that may eventually add a window when it finishes starting up.)
                                                  Load: 5.99 / 6.4 / 6.28
                                                  CPU usage from 128004ms to 0ms ago (2019-02-13 16:56:41.952 to 2019-02-13 16:58:49.957):
                                                    71% 1848/sdcard: 64% user + 7.7% kernel
                                                    26% 8611/com.cyanogenmod.filemanager: 10% user + 15% kernel / faults: 5349 minor
                                                    6.5% 9608/com.aiwinn.jarvis.app.mix: 3.7% user + 2.8% kernel / faults: 3332 minor 1 major
                                                    2.9% 1554/system_server: 1.5% user + 1.4% kernel / faults: 1506 minor
                                                    0.9% 6102/kworker/u16:10: 0% user + 0.9% kernel
                                                    0.7% 3444/adbd: 0% user + 0.6% kernel / faults: 1187 minor
                                                    0.7% 5845/kworker/u16:7: 0% user + 0.7% kernel
                                                    0.6% 532/kworker/u16:4: 0% user + 0.6% kernel
                                                    0.6% 19506/VosTXThread: 0% user + 0.6% kernel
                                                    0.6% 19507/VosRXThread: 0% user + 0.6% kernel
                                                    0.3% 7/rcu_preempt: 0% user + 0.3% kernel
                                                    0.3% 563/surfaceflinger: 0.2% user + 0% kernel / faults: 15 minor
                                                    0.2% 25992/perfd: 0.1% user + 0% kernel / faults: 2 minor
                                                    0.2% 836/msm_irqbalance: 0% user + 0.1% kernel
                                                    0.1% 711/cameraserver: 0% user + 0.1% kernel / faults: 1 minor
                                                    0.1% 10/rcuop/0: 0% user + 0.1% kernel
                                                    0.1% 435/logd: 0.1% user + 0% kernel
                                                    0.1% 29/rcuop/2: 0% user + 0.1% kernel
                                                    0.1% 1838/com.android.systemui: 0% user + 0% kernel / faults: 104 minor
                                                    0% 45/rcuop/4: 0% user + 0% kernel
                                                    0% 61/rcuop/6: 0% user + 0% kernel
                                                    0% 19505/VosMCThread: 0% user + 0% kernel
                                                    0% 343/mmc-cmdqd/0: 0% user + 0% kernel
                                                    0% 10353/logcat: 0% user + 0% kernel
                                                    0% 21/rcuop/1: 0% user + 0% kernel
                                                    0% 19515/wpa_supplicant: 0% user + 0% kernel
                                                    0% 3/ksoftirqd/0: 0% user + 0% kernel
                                                    0% 18/ksoftirqd/1: 0% user + 0% kernel
                                                    0% 26/ksoftirqd/2: 0% user + 0% kernel
                                                    0% 34/ksoftirqd/3: 0% user + 0% kernel
                                                    0% 37/rcuop/3: 0% user + 0% kernel
                                                    0% 9285/kworker/1:0: 0% user + 0% kernel
                                                    0% 19509/wlan_logging_th: 0% user + 0% kernel
                                                    0% 337/cfinteractive: 0% user + 0% kernel
                                                    0% 697/cnss_diag: 0% user + 0% kernel
                                                    0% 7283/kworker/0:2: 0% user + 0% kernel
                                                    0% 25597/mdss_fb0: 0% user + 0% kernel
                                                    0% 83/msm_watchdog: 0% user + 0% kernel
                                                    0% 696/ptt_socket_app: 0% user + 0% kernel
                                                    0% 2303/irq/179-408000.: 0% user + 0% kernel
                                                    0% 53/rcuop/5: 0% user + 0% kernel
                                                    0% 69/rcuop/7: 0% user + 0% kernel
                                                    0% 82/kworker/u16:1: 0% user + 0% kernel
                                                    0% 699/thermal-engine: 0% user + 0% kernel
                                                    0% 722/rild: 0% user + 0% kernel
                                                    0% 727/cnss-daemon: 0% user + 0% kernel
                                                    0% 735/mm-qcamera-daemon: 0% user + 0% kernel / faults: 27 minor
                                                    0% 803/dpmd: 0% user + 0% kernel
                                                    0% 5991/kworker/2:2: 0% user + 0% kernel
                                                    0% 30/rcuos/2: 0% user + 0% kernel
                                                    0% 42/ksoftirqd/4: 0% user + 0% kernel
                                                    0% 108/system: 0% user + 0% kernel
                                                    0% 293/irq/72-fts: 0% user + 0% kernel
                                                    0% 348/irq/162-spdm_bw: 0% user + 0% kernel
                                                    0% 456/perfd: 0% user + 0% kernel / faults: 7 minor
                                                    0% 600/sensors.qcom: 0% user + 0% kernel / faults: 26 minor
                                                    0% 673/jbd2/dm-1-8: 0% user + 0% kernel
                                                    0% 1170/lowi-server: 0% user + 0% kernel
                                                    0% 2029/.dataservices: 0% user + 0% kernel / faults: 1 minor
                                                    0% 2044/com.android.phone: 0% user + 0% kernel / faults: 1 minor
                                                    0% 3072/com.iflytek.speechcloud:xpush: 0% user + 0% kernel / faults: 1 minor
                                                    0% 6081/kworker/u17:7: 0% user + 0% kernel
                                                    0% 7929/kworker/3:1: 0% user + 0% kernel
                                                    0% 9289/org.codeaurora.snapcam: 0% user + 0% kernel / faults: 1 minor 1 major
                                                    0% 10293/kworker/4:0: 0% user + 0% kernel
                                                   +0% 10580/kworker/3:0: 0% user + 0% kernel
                                                  9.9% TOTAL: 7% user + 2.1% kernel + 0% iowait + 0.5% irq + 0.1% softirq
                                                  CPU usage from 1906ms to 2438ms later (2019-02-13 16:58:51.862 to 2019-02-13 16:58:52.395):
                                                    97% 1848/sdcard: 91% user + 5.5% kernel
                                                      97% 1858/sdcard: 91% user + 5.5% kernel
                                                    7.4% 1554/system_server: 1.8% user + 5.6% kernel
                                                      5.6% 1605/ActivityManager: 0% user + 5.6% kernel
                                                      3.7% 1606/android.ui: 0% user + 3.7% kernel
                                                    3.4% 8611/com.cyanogenmod.filemanage
author: Arthur    time: 2019-2-13 17:09
Aiwinn post on2019-2-13 16:59
ANR了

ANR in com.aiwinn.jarvis.app.mix (com.aiwinn.jarvis.app.mix/com.aiwinn.jarvis.app.host.ac ...

[attach]1689[/attach] AS这里可以看anr的位置,你可以调试下。

author: Aiwinn    time: 2019-2-13 17:35
Arthur post on2019-2-13 17:09
AS这里可以看anr的位置,你可以调试下。

第二次初始化完成进入videopreviewactivity,相机黑屏,没有渲染,cameraholder也没有数据,但是在这个时候切换一下摄像头,cameraholder有数据,但是没有渲染。

ANR是在二次推出的时候在BVPU.Finish();方法这里停止不走了
author: xuwei    time: 2019-2-13 17:47
Aiwinn post on2019-2-13 17:35
第二次初始化完成进入videopreviewactivity,相机黑屏,没有渲染,cameraholder也没有数据,但是在这个时 ...

库内部的很多资源释放依赖于system.exit(0),如果不退出直接重新初始化会出现很多资源冲突和异常,目前不支持不退出情况下的反复初始化
author: Aiwinn    time: 2019-2-13 17:55
xuwei post on2019-2-13 17:47
库内部的很多资源释放依赖于system.exit(0),如果不退出直接重新初始化会出现很多资源冲突和异常,目前不 ...

好,那我们看下不初始化实现功能吧。
另外问下,videopreviewactivity的surfaceview打开前置摄像头的时候,显示结果有左右镜像的情况,如何才能不再镜像?
author: xuwei    time: 2019-2-13 18:01
Aiwinn post on2019-2-13 17:55
好,那我们看下不初始化实现功能吧。
另外问下,videopreviewactivity的surfaceview打开前置摄像头的时 ...

拍照发上来看下,MPU运行也有同样问题?
author: Aiwinn    time: 2019-2-13 18:10
xuwei post on2019-2-13 18:01
拍照发上来看下,MPU运行也有同样问题?

MPU也是镜像的

author: Aiwinn    time: 2019-2-14 10:50
xuwei post on2019-2-13 18:01
拍照发上来看下,MPU运行也有同样问题?

照片发了,有在看这个问题么?
如图,左右实际上显示是反的,有镜像,设备自带的相机前置是没有镜像效果的。
author: xuwei    time: 2019-2-14 12:09
Aiwinn post on2019-2-14 10:50
照片发了,有在看这个问题么?
如图,左右实际上显示是反的,有镜像,设备自带的相机前置是没有镜像效果 ...

mpu.getmConnection().controlRender方法render.iRotate参数填写360,MPU摄像头设置有一个旋转角度设置,有个镜面旋转
author: Aiwinn    time: 2019-2-14 14:46
xuwei post on2019-2-14 12:09
mpu.getmConnection().controlRender方法render.iRotate参数填写360,MPU摄像头设置有一个旋转角度设置, ...

这个参数设置360,整个屏幕预览都旋转错误了。

02-14 14:43:03.195 17269-18108/com.aiwinn.jarvis.app.mix I/MPUCameraUtil: surfaceRefresh
02-14 14:43:03.195 17269-18108/com.aiwinn.jarvis.app.mix I/MPUCameraUtil: mpu.getPreviewEntity().getRender()---->5
02-14 14:43:03.202 17269-18108/com.aiwinn.jarvis.app.mix D/MPUCameraUtil: tempEffect none
02-14 14:43:03.764 17269-18108/com.aiwinn.jarvis.app.mix D/MPUCameraUtil: getRecordMode()=0
02-14 14:43:03.765 17269-18108/com.aiwinn.jarvis.app.mix D/MPUCameraUtil: getPreviewMode()=0
02-14 14:43:03.767 17269-18108/com.aiwinn.jarvis.app.mix I/com.smarteye.common.MPUCameraUtil:  [CONFIG] [000000] [000000] 当前的分辨率为1280*720
02-14 14:43:03.767 17269-18108/com.aiwinn.jarvis.app.mix I/MPUCameraUtil: param.renderCovertIndex---->5
02-14 14:43:03.767 17269-18108/com.aiwinn.jarvis.app.mix I/MPUCameraUtil: mpu.getCameraIndex()---->1
02-14 14:43:03.767 17269-18108/com.aiwinn.jarvis.app.mix I/MPUCameraUtil: render.iRotate------>360render.dScale=0.0
02-14 14:43:03.837 17269-18108/com.aiwinn.jarvis.app.mix I/MPUCameraUtil: SetFps 20
02-14 14:43:03.882 17269-17269/com.aiwinn.jarvis.app.mix I/MPUCameraUtil: mpu.getPreviewEntity().getRender()---->5
02-14 14:43:03.887 17269-17269/com.aiwinn.jarvis.app.mix I/com.smarteye.common.MPUCameraUtil:  [CONFIG] [000000] [000000] 当前的分辨率为1280*720
02-14 14:43:03.887 17269-17269/com.aiwinn.jarvis.app.mix I/MPUCameraUtil: param.renderCovertIndex---->5
02-14 14:43:03.887 17269-17269/com.aiwinn.jarvis.app.mix I/MPUCameraUtil: mpu.getCameraIndex()---->1
02-14 14:43:03.887 17269-17269/com.aiwinn.jarvis.app.mix I/MPUCameraUtil: render.iRotate------>360render.dScale=0.0
author: Aiwinn    time: 2019-2-14 15:14
xuwei post on2019-2-14 12:09
mpu.getmConnection().controlRender方法render.iRotate参数填写360,MPU摄像头设置有一个旋转角度设置, ...

MPU使用镜像180度看log也是360,是相同的效果
author: Aiwinn    time: 2019-2-15 10:45
xuwei post on2019-2-14 12:09
mpu.getmConnection().controlRender方法render.iRotate参数填写360,MPU摄像头设置有一个旋转角度设置, ...

还有在看这个问题么?
author: Aiwinn    time: 2019-2-19 17:33
xuwei post on2019-2-14 12:09
mpu.getmConnection().controlRender方法render.iRotate参数填写360,MPU摄像头设置有一个旋转角度设置, ...

帮忙再看下吧,需要log就配合抓一下,需要再开发么?
author: xuwei    time: 2019-2-21 10:39
Aiwinn post on2019-2-19 17:33
帮忙再看下吧,需要log就配合抓一下,需要再开发么?

如果把摄像头固定,屏幕旋转180度来看,你会发现画面是对的(原理同后置摄像头),因为自拍的需要,所以拍照软件都会做一个镜面渲染处理,使得画面跟照镜子一样。实际上,未经处理的系统输出的数据码流就是你现在看到的画面,跟网传画面和录像画面都是一致的,如果做了镜面处理,那么出来的OSD效果就像是镜子中看到的字一样,都是镜像反过来的效果,跟网传和录像都不一致。




欢迎光临 mobile CCTV,mobile surveillance,police body worn cameras (http://bbs.besovideo.com:8067/) Powered by Discuz! X3.2