Мой телефон перезагружается после ошибки ядра, что мне делать?

Я использую прошивку CyanogenMod на своем телефоне (CM7.2 на HTC Wildfire) и когда я делаю фотографии, он иногда перезагружается. Я обнаружил, что ошибка ядра происходит из-за разыменования нулевого указателя в ядре.

Я уже подавал отчет об ошибке на трекере для проекта CyanogenMod.

Может ли кто-нибудь помочь мне понять ошибки ядра в last_ksmg ?
Если вам это нужно, есть и logcat .

Я сделал ваш вопрос более общим, так как ваша проблема была слишком локализована и действительно может быть решена только сопровождающими для вашей прошивки (для которой вы уже правильно подали отчет об ошибке). Разработчики должны это исправить. Я дал несколько общих советов, что можно сделать в таком случае.

Ответы (2)

Взглянули на 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, чтобы узнать, известна ли эта проблема.

ОП уже правильно подал отчет об ошибке для этого ... Что касается материала audmgr: возможно, библиотеки также инициализируют это, когда вы открываете приложение камеры. В любом случае: здесь мы мало что можем сделать, я намекнул на кое-какие инструкции и общую информацию и предложил, как реагировать...
@ ce4 эээ ... ключевой момент [KEY] gpiomatrix: key 272...связан с вводом ключа, делающим снимок, либо масштабированием, либо нажатием «кнопки сделать снимок» .. непосредственно перед упс .. :)
Что касается этого, то мы мало что можем сделать... :) /я пожимаю плечами
Правильный. Это зависит от CM, ребята ... Сначала я бы сказал, близко, потому что «слишком локализовано», но затем я сделал его более общим, чтобы он был полезен и для других (ОП заявляет, что он просто хотел знать, что происходит, и тому подобное , чтобы не заставлять нас это исправлять). вот отчет об ошибке , кстати.
Спасибо! Я тоже думал, что проблема связана со звуком, но я был в беззвучном режиме, так что это уже ненормально, что служба аудио вызывается. Фактически это key 272ключ, используемый для создания моментального снимка. Да, я просто хотел понять, но если вы можете сделать больше, вы можете, но большое спасибо @ce4 и @t0mm13b
@Gadcam, мы больше не можем этого делать, так как это ядро ​​связано с вашим CM ROM. Просто подождите и посмотрите, что произойдет из этого отчета об ошибке, который вы подали. :)
Я так и думал... Но иногда официальная часть проекта тормозит, потому что где-то есть что-то более важное, поэтому я постараюсь исправить это или дать им больше элементов, чем смогу.

Я просмотрел клог, все, что вы можете сделать, это:

  • искать другое ядро ​​(у вас последняя прошивка?)
  • попросите (правильно!) сопровождающего/разработчика исправить это,
    особенно если это неофициальная сборка CyanogenMod, вы не можете спросить команду CM, но должны спросить на форуме, откуда вы взяли образ прошивки.
  • отследить и исправить ядро ​​самостоятельно (вряд ли вы просили об этом здесь)

Немного предыстории:
это определенно проблема ядра, взгляните на строку

[4264.601013] Невозможно обработать разыменование нулевого указателя ядра по виртуальному адресу 00000000
...
[4264.603424] ПК находится в состоянии audmgr_enable+0x168/0x1c8

Если вы хотите узнать больше, вы можете прочитать в Stackoverflow о том, как диагностировать ошибку ядра и что такое разыменование нулевого указателя ядра Linux . Здесь
также доступно HowTo .

вот также хорошее руководство: ptgmedia.pearsoncmg.com/images/013147751X/downloads/…
Как написано в багрепорте прошивка актуальная и она официальная. Спасибо за ссылки на темы.