2

I use the CyanogenMod firmware on my phone (CM7.2 on a HTC Wildfire) and when I take photos it sometimes reboots. I found out that a kernel oops happens due to a null pointer dereference in the kernel.

I already filed a bug report on the tracker for the CyanogenMod project.

Can someone help me to understand the Kernel Oops in last_ksmg ?
If you need it there is a logcat too.

1
  • I made your question more generic, as your problem was too localized and can only really be addressed by the maintainers for your firmware (for which you already correctly filed a bug report). It's up to the developers to fix it. I gave some generic hints here what can be done in such a case.
    – ce4
    Commented Jan 13, 2013 at 16:58

2 Answers 2

1

Have had a look at the kmsg, and logcat,

The logcat was showing this:

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

Am wondering is there an issue with the Camera, as matter of interest, when taking a snapshot with the camera, it usually plays back an audio clip of sound of "snapshot" when the button is pressed?

This is coinciding with the 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

So my guess is that the media player, somewhere, between Qualcomm hardware that controls the camera, and the playback crashed. Am hedging bets on the kernel's camera itself...

Best to post this on CM's forum to see if this is known issue.

7
  • The OP already correctly filed a bug report for this... As for the audmgr stuff: maybe the libs also initialize that when you open the camera app. Anyway: Not much we can do here, I hinted to some howto's and generic information and suggested how to react...
    – ce4
    Commented Jan 13, 2013 at 17:04
  • @ce4 the errr... key thing is [KEY] gpiomatrix: key 272... is related to a key input taking a snapshot, either zooming, or pressing 'take snapshot button'.. just prior to the oops.. :)
    – t0mm13b
    Commented Jan 13, 2013 at 17:06
  • As for that, nowt mucho we can do... :) /me shrugs
    – t0mm13b
    Commented Jan 13, 2013 at 17:07
  • Correct. That's up to CM guys... Initially I'd say, close because 'too localized', but I then made it more generic to be useful for others too (the OP states that he just wanted to know what's going on, and such, not to make us fix it). here's the bug report, btw.
    – ce4
    Commented Jan 13, 2013 at 17:08
  • Thanks! I thought also that the problem is linked with the sound but I was in silent mode so it's already not normal that audio service is called. The key 272 is effectively the key used to take a snapshot. Yes I just wanted to understand but if you can do more you can but thanks a lot @ce4 and @t0mm13b
    – Gadcam
    Commented Jan 13, 2013 at 19:05
0

I had a look at the klog, all you can do is:

  • search for a different kernel (is your firmware up to date?)
  • ask the (correct!) maintainer/developer to fix it
    especially if it's an inofficial CyanogenMod build, you cannot ask the CM team, but have to ask in the forum where you got the firmware image from.
  • track it down and fix the kernel yourself (unlikely, that you have asked this here)

Some background:
That's definitely a kernel problem, have a look at the line

[ 4264.601013] Unable to handle kernel NULL pointer dereference at virtual address 00000000
...
[ 4264.603424] PC is at audmgr_enable+0x168/0x1c8

If you want to know more you can read up on Stackoverflow on How to diagnose a kernel oops and what is a Linux kernel null pointer dereference.
There's also a HowTo available here.

2

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .