Я использую прошивку CyanogenMod на своем телефоне (CM7.2 на HTC Wildfire) и когда я делаю фотографии, он иногда перезагружается. Я обнаружил, что ошибка ядра происходит из-за разыменования нулевого указателя в ядре.
Я уже подавал отчет об ошибке на трекере для проекта CyanogenMod.
Может ли кто-нибудь помочь мне понять ошибки ядра в last_ksmg ?
Если вам это нужно, есть и logcat .
Взглянули на kmsg и logcat,
Logcat показывал это:
[ 01-13 13:14:11.036 138:0xc46 I/mm-camera ]Open Device node : /dev/msm_camera/frame0
[ 01-13 13:14:11.036 138:0xc46 E/mm-camera ]Got exception but camframe_exit == 0!
[ 01-13 13:14:11.046 138:0xc46 E/QualcommCameraHardware ]ignoring preview callback--camera has been stopped
[ 01-13 13:14:11.196 138:0xc04 E/mm-camera 7x-vfe ]Received VFE start ACK!!! This is a user preview start.
[ 01-13 13:14:11.196 138:0x8a D/QualcommCameraHardware ]startPreview X
[ 01-13 13:14:11.226 2840:0xb18 V/camera ]mJpegCallbackFinishTime = 725ms
[ 01-13 13:14:11.337 2840:0xb18 D/camera ]
.....
[ 01-13 13:14:14.400 138:0x8a D/QualcommCameraHardware ]FLASHLIGHT is ENABLED
[ 01-13 13:14:14.410 138:0x8a D/QualcommCameraHardware ]stopPreviewInternal E: 1
[ 01-13 13:14:14.410 138:0x8a D/QualcommCameraHardware ]cancelAutoFocusInternal E
[ 01-13 13:14:14.410 138:0x8a D/QualcommCameraHardware ]cancelAutoFocusInternal X: 0
[ 01-13 13:14:14.480 138:0xc04 I/mm-camera 7x-vfe ]vfe_process_QDSP_VFETASK_MSG_VFE_STOP_ACK: call mmcamera_vfe_stop_ack_callback()
Интересно, есть ли проблема с камерой, интересно, когда при съемке снимка камерой она обычно воспроизводит аудиоклип со звуком «моментального снимка» при нажатии кнопки?
Это совпадает с oops:
[ 4264.409912] adsp_pmem_del name JPEGTASK vaddr:0x40e68000 paddr:0x27012000 len:4096
[ 4264.420715] adsp: closing module JPEGTASK
[ 4264.421173] adsp: disabling module JPEGTASK
[ 4264.422485] [KEY] gpiomatrix: key 272, 0-0 (35-42) changed to 1
[ 4264.444183] [KEY] gpiomatrix: key 272, 0-0 (35-42) changed to 1
[ 4264.465789] [KEY] gpiomatrix: key 272, 0-0 (35-42) changed to 1
[ 4264.487548] [KEY] gpiomatrix: key 272, 0-0 (35-42) changed to 1
[ 4264.509094] [KEY] gpiomatrix: key 272, 0-0 (35-42) changed to 1
[ 4264.530853] [KEY] gpiomatrix: key 272, 0-0 (35-42) changed to 1
[ 4264.552398] [KEY] gpiomatrix: key 272, 0-0 (35-42) changed to 1
[ 4264.574157] [KEY] gpiomatrix: key 272, 0-0 (35-42) changed to 1
[ 4264.595733] [KEY] gpiomatrix: key 272, 0-0 (35-42) changed to 1
[ 4264.600616] [AUD][audmgr.c:audmgr_enable] audmgr_enable: ARM9 did not reply to RPC am->state = 2
[ 4264.601013] Unable to handle kernel NULL pointer dereference at virtual address 00000000
[ 4264.601226] pgd = e321c000
[ 4264.601593] [00000000] *pgd=26037031, *pte=00000000, *ppte=00000000
[ 4264.602294] Internal error: Oops: 817 [#1] PREEMPT
Итак, я предполагаю, что медиаплеер где-то между оборудованием Qualcomm, управляющим камерой, и воспроизведением разбился. Делаю ставку на саму камеру ядра...
Лучше всего опубликовать это на форуме CM, чтобы узнать, известна ли эта проблема.
[KEY] gpiomatrix: key 272...
связан с вводом ключа, делающим снимок, либо масштабированием, либо нажатием «кнопки сделать снимок» .. непосредственно перед упс .. :)key 272
ключ, используемый для создания моментального снимка. Да, я просто хотел понять, но если вы можете сделать больше, вы можете, но большое спасибо @ce4 и @t0mm13bЯ просмотрел клог, все, что вы можете сделать, это:
Немного предыстории:
это определенно проблема ядра, взгляните на строку
[4264.601013] Невозможно обработать разыменование нулевого указателя ядра по виртуальному адресу 00000000
...
[4264.603424] ПК находится в состоянии audmgr_enable+0x168/0x1c8
Если вы хотите узнать больше, вы можете прочитать в Stackoverflow о том, как диагностировать ошибку ядра и что такое разыменование нулевого указателя ядра Linux . Здесь
также доступно HowTo .
се4