2 votes

Mon téléphone redémarre après une erreur du noyau, que puis-je faire ?

J'utilise le firmware CyanogenMod sur mon téléphone (CM7.2 sur un HTC Wildfire) et lorsque je prends des photos, il arrive qu'il redémarre. J'ai découvert qu'un oops du noyau se produit en raison d'une déréférence de pointeur nul dans le noyau.

J'ai déjà déposé un rapport de bogue sur le tracker du projet CyanogenMod.

Quelqu'un peut-il m'aider à comprendre le Kernel Oops en dernier_ksmg ?
Si vous en avez besoin, il y a un logcat aussi.

1voto

Nick Pierpoint Points 7976

J'ai jeté un coup d'oeil au kmsg, et au logcat,

Le logcat montrait ceci :

[ 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()

Je me demande s'il y a un problème avec l'appareil photo. Par exemple, lorsque vous prenez un instantané avec l'appareil photo, un clip audio du son "snapshot" est généralement diffusé lorsque vous appuyez sur le bouton ?

Cela coïncide avec le oups :

[ 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

Je pense donc que le lecteur multimédia, quelque part entre le matériel Qualcomm qui contrôle la caméra et la lecture, s'est planté. Je fais des paris sur la caméra du noyau elle-même...

Le mieux est de poster cette question sur le forum de CM pour voir si c'est un problème connu.

0voto

ce4 Points 14264

J'ai jeté un coup d'oeil au klog, tout ce que vous pouvez faire est :

  • rechercher un autre noyau (votre firmware est-il à jour ?)
  • demander au mainteneur/développeur (correct !) de le corriger
    surtout s'il s'agit d'une construction CyanogenMod inofficielle, vous ne pouvez pas demander à l'équipe CM, mais devez demander dans le forum d'où vous avez obtenu l'image du firmware.
  • trouver le problème et réparer le noyau vous-même (il est peu probable que vous ayez posé cette question ici).

Un peu de contexte :
C'est certainement un problème de noyau, jetez un coup d'oeil à la ligne

[ 4264.601013] Impossible de gérer le déréférencement du pointeur NULL du noyau à l'adresse virtuelle 00000000
...
[ 4264.603424] Le PC est à audmgr_enable+0x168/0x1c8

Si vous voulez en savoir plus, vous pouvez consulter le site Stackoverflow à l'adresse suivante Comment diagnostiquer un oops du noyau ? et ce qu'est un Déréférencement de pointeur nul dans le noyau Linux .
Il y a aussi un HowTo disponible aquí .

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X