[HD2 Android Q&A, Help & Troubleshooting and Genera] Cotulla:
Main problem of developing - it's testing / feedback

Of course developers test stuffs by themselfs, but it's seems not enough.

Commercially companies like HTC, Samsung, Motorolla have special people who perform tests.

While our developing is free, in our free time for hobby, so we need community support.

In most cases kernel logs can really help developers to improve and fix annoying bug.

Without logs developers don't have chance to detect problem and fix it, so if u appear on IRC and say "hey, I got SOD 2 minutes ago" it's compete useless.

But if u say "hey, I got SOD while playing sound, here my kernel log" it can be really useful.

Because developers can open this log and see something like this at the end:

[ 54.323889] kernel BUG at arch/arm/mach-msm/qdsp6_10/pcm_out.c:188!
[ 54.323918] Unable to handle kernel NULL pointer dereference at virtual address 00000000
[ 54.323940] pgd = c7bf4000
[ 54.323951] [00000000] *pgd=27a12031, *pte=00000000, *ppte=00000000
[ 54.323981] Internal error: Oops: 817 [#1] PREEMPT
[ 54.323996] last sysfs file: /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state
[ 54.324013] Modules linked in:
[ 54.324034] CPU: 0 Not tainted (2.6.32.9-38066-g672726a-dirty #168)
[ 54.324078] PC is at __bug+0x20/0x2c
[ 54.324114] LR is at release_console_sem+0x1f4/0x208
[ 54.324132] pc : [<c006d7d0>] lr : [<c009cfd0>] psr: 60000013
[ 54.324141] sp : c6b51ed8 ip : c6b51e10 fp : c6b51ee4
[ 54.324159] r10: 0000b5d0 r9 : c6b50000 r8 : 00000000
[ 54.324174] r7 : 00000000 r6 : c579f440 r5 : c7bf89a0 r4 : c6b51f08
[ 54.324192] r3 : 00000000 r2 : 00000000 r1 : 0000a043 r0 : 0000004d
[ 54.324212] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
[ 54.324231] Control: 10c5787d Table: 27bf4019 DAC: 00000015
[ 54.324246]
[ 54.324250] PC: 0xc006d750:
[ 54.324261] d750 e89da800 c03ca921 e1a0c00d e92dd800 e24cb004 e1a0c001 e1a03002 e1a01000
[ 54.324308] d770 e1a0200c e59f0004 eb0b7aea e89da800 c03ca938 e1a0c00d e92dd800 e24cb004
[ 54.324355] d790 e1a0c001 e1a03002 e1a01000 e1a0200c e59f0004 eb0b7adf e89da800 c03ca94f
[ 54.324401] d7b0 e1a0c00d e92dd800 e24cb004 e1a02001 e1a01000 e59f000c eb0b7ad6 e3a03000
[ 54.324447] d7d0 e5833000 eafffffe c03ca966 e1a0c00d e92dd800 e24cb004 e59f0004 e30012db
[ 54.324493] d7f0 ebffffee c03ca97f e1a0c00d e92dd800 e24cb004 e1a01000 e59f000c eb0b7ac5
[ 54.324539] d810 e59f0008 e30012bf ebffffe4 c03ca997 c03ca97f e1a0c00d e92dd800 e24cb004
[ 54.324585] d830 e59f000c eb0b7abb e59f0008 eb0b7ab9 e89da800 c03ca9b7 c03ca9ee e1a0c00d
[ 54.324632]
[ 54.324636] LR: 0xc009cf50:
[ 54.324647] cf50 ea000006 e1a00005 e59f3080 e1a05002 e8930006 e2422001 e1550006 1affffe4
[ 54.324693] cf70 e59f3068 e1a01006 e5932048 ebfffe5c e121f008 eaffffa3 e3a03000 e59f0044
[ 54.324739] cf90 e5823018 eb0068ad e121f008 e1a0200d e3c23d7f e3c3303f e5932004 e2422001
[ 54.324785] cfb0 e5832004 e5933000 e3130002 0a000000 eb0abec0 e35a0000 089dadf0 ebfffe9a
[ 54.324831] cfd0 e89dadf0 c0450c60 c0425bbc c03d1c11 c0425b80 e1a0c00d e92dd830 e24cb004
[ 54.324877] cff0 e59f4028 e5943000 e3530000 089da830 e3a0c000 e3a01001 e1a0300c e59f0010
[ 54.324923] d010 e1a02001 e584c000 ebffe70e e89da830 c0425be0 c0425b9c e1a0c00d e92dd800
[ 54.324969] d030 e24cb004 e1a0200d e3c23d7f e3c3303f e5933004 e3c3333f e3c330ff e3530000
[ 54.325016]
[ 54.325020] SP: 0xc6b51e58:
[ 54.325031] 1e58 5d393838 205b0020 34352020 3332332e 5d333538 ffffffff c6b51ec4 c579f440
[ 54.325077] 1e78 00000000 00000000 c6b51ee4 c6b51e90 c0069aac c00692d4 0000004d 0000a043
[ 54.325123] 1e98 00000000 00000000 c6b51f08 c7bf89a0 c579f440 00000000 00000000 c6b50000
[ 54.325167] 1eb8 0000b5d0 c6b51ee4 c6b51e10 c6b51ed8 c009cfd0 c006d7d0 60000013 ffffffff
[ 54.325213] 1ed8 c6b51f3c c6b51ee8 c0087c4c c006d7bc 00000001 000012c0 0000b5d0 c579f470
[ 54.325259] 1ef8 0000003d 00000000 c7bf89a0 c00b2728 c6b51f08 c6b51f08 c0420340 c572d920
[ 54.325305] 1f18 0000b5d0 c6b51f70 000012c0 000012c0 c6b50000 40207000 c6b51f6c c6b51f40
[ 54.325351] 1f38 c0107c2c c0087b40 297f5aac b46c40c0 40c61004 00000000 00000000 c572d920
[ 54.325398]
[ 54.325402] IP: 0xc6b51d90:
[ 54.325413] 1d90 c6b51e90 c7a09370 c6b51ddc c6b51da8 c006fc60 c006f9ec c6b51dd4 c6b51db8
[ 54.325459] 1db0 c027e8f4 c041fe1c c041fe8c 00000817 c6b51e90 00000000 20000113 0000b5d0
[ 54.325504] 1dd0 c6b51e8c c6b51de0 c0069304 c006fa68 0000a043 c6b50000 c6b51e0c c6b51df8
[ 54.325550] 1df0 c009c978 c009c88c c0425b80 0000a043 c6b51e34 c6b51e10 c009cfd0 c009ca48
[ 54.325596] 1e10 00000000 0000000c 00000036 c6b51e4e c0450d1b c6b51e5d c6b51eac c6b51e38
[ 54.325642] 1e30 c009d618 c009cde8 c6b51ebc 00000002 60000013 0000004d 00000000 205b0003
[ 54.325687] 1e50 34352020 3332332e 5d393838 205b0020 34352020 3332332e 5d333538 ffffffff
[ 54.325733] 1e70 c6b51ec4 c579f440 00000000 00000000 c6b51ee4 c6b51e90 c0069aac c00692d4
[ 54.325780]
[ 54.325784] FP: 0xc6b51e64:
[ 54.325795] 1e64 3332332e 5d333538 ffffffff c6b51ec4 c579f440 00000000 00000000 c6b51ee4
[ 54.325841] 1e84 c6b51e90 c0069aac c00692d4 0000004d 0000a043 00000000 00000000 c6b51f08
[ 54.325886] 1ea4 c7bf89a0 c579f440 00000000 00000000 c6b50000 0000b5d0 c6b51ee4 c6b51e10
[ 54.325932] 1ec4 c6b51ed8 c009cfd0 c006d7d0 60000013 ffffffff c6b51f3c c6b51ee8 c0087c4c
[ 54.325978] 1ee4 c006d7bc 00000001 000012c0 0000b5d0 c579f470 0000003d 00000000 c7bf89a0
[ 54.326023] 1f04 c00b2728 c6b51f08 c6b51f08 c0420340 c572d920 0000b5d0 c6b51f70 000012c0
[ 54.326069] 1f24 000012c0 c6b50000 40207000 c6b51f6c c6b51f40 c0107c2c c0087b40 297f5aac
[ 54.326115] 1f44 b46c40c0 40c61004 00000000 00000000 c572d920 000012c0 0000b5d0 c6b51fa4
[ 54.326162]
[ 54.326166] R4: 0xc6b51e88:
[ 54.326178] 1e88 c0069aac c00692d4 0000004d 0000a043 00000000 00000000 c6b51f08 c7bf89a0
[ 54.326223] 1ea8 c579f440 00000000 00000000 c6b50000 0000b5d0 c6b51ee4 c6b51e10 c6b51ed8
[ 54.326268] 1ec8 c009cfd0 c006d7d0 60000013 ffffffff c6b51f3c c6b51ee8 c0087c4c c006d7bc
[ 54.326314] 1ee8 00000001 000012c0 0000b5d0 c579f470 0000003d 00000000 c7bf89a0 c00b2728
[ 54.326360] 1f08 c6b51f08 c6b51f08 c0420340 c572d920 0000b5d0 c6b51f70 000012c0 000012c0
[ 54.326406] 1f28 c6b50000 40207000 c6b51f6c c6b51f40 c0107c2c c0087b40 297f5aac b46c40c0
[ 54.326452] 1f48 40c61004 00000000 00000000 c572d920 000012c0 0000b5d0 c6b51fa4 c6b51f70
[ 54.326497] 1f68 c0107d9c c0107b80 00000000 00000000 00000008 00000001 00000000 0000b450
[ 54.326543]
[ 54.326547] R5: 0xc7bf8920:
[ 54.326558] 8920 c7bf891c 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 54.326603] 8940 00000000 00000000 00000000 c0480380 c7bf8950 c7bf8950 00000000 c7bf895c
[ 54.326648] 8960 c7bf895c 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 54.326692] 8980 00000000 0000c350 0000c350 00000000 40406f00 00000000 00000000 00000000
[ 54.326737] 89a0 00000000 c6b50000 00000002 00400040 00000000 ffffffff 00000065 00000065
[ 54.326782] 89c0 00000065 00000000 c0350da8 00000000 0001184b 0000e9d0 00000001 00000000
[ 54.326827] 89e0 00000000 c0425628 c0425628 00000001 a5f3e77f 0000000c 011eaf1b 00000000
[ 54.326873] 8a00 06aabe75 00000005 011eaf1b 00000000 00000000 00000000 00001ad8 00000000
[ 54.326918]
[ 54.326922] R6: 0xc579f3c0:
[ 54.326933] f3c0 c579f3bc 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 54.326978] f3e0 000010c3 c579f3e4 c579f3e4 00000003 c7da4cd0 00000000 00000000 c7f1dc00
[ 54.327023] f400 c79ee5fc 00000001 00000000 00000000 00343f00 00349d70 00001fe5 c579f41c
[ 54.327069] f420 c579f41c 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 54.327113] f440 250a4000 ffa06000 00001000 00001000 250a5000 ffa07000 00001000 000002c0
[ 54.327159] f460 00000000 00000000 00000000 00000001 c579f470 c579f470 c50d1000 00000000
[ 54.327205] f480 00000001 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 54.327249] f4a0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 54.327294]
[ 54.327298] R9: 0xc6b4ff80:
[ 54.327309] ff80 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 54.327354] ffa0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 54.327398] ffc0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 54.327441] ffe0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 54.327485] 0000 00000000 00000002 00000000 c7bf89a0 c0425ad0 00000000 00000035 c7c739b0
[ 54.327530] 0020 c7a09370 c7bf89a0 c7a2f620 c6b50000 c7bf8a38 c7bf8c50 c6b51e8c c6b51e48
[ 54.327576] 0040 c034c880 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 54.327620] 0060 40306f00 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 54.327669] Process Playback Thread (pid: 1216, stack limit = 0xc6b502f0)
[ 54.327687] Stack: (0xc6b51ed8 to 0xc6b52000)
[ 54.327704] 1ec0: c6b51f3c c6b51ee8
[ 54.327730] 1ee0: c0087c4c c006d7bc 00000001 000012c0 0000b5d0 c579f470 0000003d 00000000
[ 54.327755] 1f00: c7bf89a0 c00b2728 c6b51f08 c6b51f08 c0420340 c572d920 0000b5d0 c6b51f70
[ 54.327779] 1f20: 000012c0 000012c0 c6b50000 40207000 c6b51f6c c6b51f40 c0107c2c c0087b40
[ 54.327804] 1f40: 297f5aac b46c40c0 40c61004 00000000 00000000 c572d920 000012c0 0000b5d0
[ 54.327829] 1f60: c6b51fa4 c6b51f70 c0107d9c c0107b80 00000000 00000000 00000008 00000001
[ 54.327854] 1f80: 00000000 0000b450 ab70aa89 000012c0 00000004 c006a144 00000000 c6b51fa8
[ 54.327879] 1fa0: c0069fc0 c0107d64 0000b450 ab70aa89 00000013 0000b5d0 000012c0 ab70a697
[ 54.327904] 1fc0: 0000b450 ab70aa89 000012c0 00000004 00100000 a9d1b8e5 40207000 0000d018
[ 54.327929] 1fe0: ab70c6cc 40306d58 ab7073bf afe0c95c 00000010 00000013 581a447b 32081c20
[ 54.327946] Backtrace:
[ 54.327974] [<c006d7b0>] (__bug+0x0/0x2c) from [<c0087c4c>] (pcm_write+0x118/0x1e0)
[ 54.328024] [<c0087b34>] (pcm_write+0x0/0x1e0) from [<c0107c2c>] (vfs_write+0xb8/0x164)
[ 54.328054] [<c0107b74>] (vfs_write+0x0/0x164) from [<c0107d9c>] (sys_write+0x44/0x70)
[ 54.328072] r8:0000b5d0 r7:000012c0 r6:c572d920 r5:00000000 r4:00000000
[ 54.328120] [<c0107d58>] (sys_write+0x0/0x70) from [<c0069fc0>] (ret_fast_syscall+0x0/0x2c)
[ 54.328138] r8:c006a144 r7:00000004 r6:000012c0 r5:ab70aa89 r4:0000b450
[ 54.328179] Code: e1a01000 e59f000c eb0b7ad6 e3a03000 (e5833000)
[ 54.328200] ---[ end trace 7e446c20b8bf60cf ]---
[ 54.328216] Kernel panic - not syncing: Fatal exception
[ 54.328228] Backtrace:
[ 54.328277] [<c006dad4>] (dump_backtrace+0x0/0x110) from [<c034c1e8>] (dump_stack+0x18/0x1c)
[ 54.328296] r7:c006d7d4 r6:c6b51d67 r5:c006d7d2 r4:c0450820
[ 54.328337] [<c034c1d0>] (dump_stack+0x0/0x1c) from [<c034c250>] (panic+0x64/0x13c)
[ 54.328364] [<c034c1ec>] (panic+0x0/0x13c) from [<c006de64>] (die+0x280/0x2c8)
[ 54.328381] r3:00000001 r2:c6b51d38 r1:0000c846 r0:c03cab72
[ 54.328426] [<c006dbe4>] (die+0x0/0x2c8) from [<c006fa4c>] (__do_kernel_fault+0x6c/0x7c)
[ 54.328456] [<c006f9e0>] (__do_kernel_fault+0x0/0x7c) from [<c006fc60>] (do_page_fault+0x204/0x220)
[ 54.328475] r7:c7a09370 r6:c6b51e90 r5:c7bf89a0 r4:00000000
[ 54.328515] [<c006fa5c>] (do_page_fault+0x0/0x220) from [<c0069304>] (do_DataAbort+0x3c/0x9c)
[ 54.328542] [<c00692c8>] (do_DataAbort+0x0/0x9c) from [<c0069aac>] (__dabt_svc+0x4c/0x60)
[ 54.328562] Exception stack(0xc6b51e90 to 0xc6b51ed8)
[ 54.328579] 1e80: 0000004d 0000a043 00000000 00000000
[ 54.328604] 1ea0: c6b51f08 c7bf89a0 c579f440 00000000 00000000 c6b50000 0000b5d0 c6b51ee4
[ 54.328627] 1ec0: c6b51e10 c6b51ed8 c009cfd0 c006d7d0 60000013 ffffffff
[ 54.328643] r8:00000000 r7:00000000 r6:c579f440 r5:c6b51ec4 r4:ffffffff
[ 54.328687] [<c006d7b0>] (__bug+0x0/0x2c) from [<c0087c4c>] (pcm_write+0x118/0x1e0)
[ 54.328713] [<c0087b34>] (pcm_write+0x0/0x1e0) from [<c0107c2c>] (vfs_write+0xb8/0x164)
[ 54.328741] [<c0107b74>] (vfs_write+0x0/0x164) from [<c0107d9c>] (sys_write+0x44/0x70)
[ 54.328759] r8:0000b5d0 r7:000012c0 r6:c572d920 r5:00000000 r4:00000000
[ 54.328803] [<c0107d58>] (sys_write+0x0/0x70) from [<c0069fc0>] (ret_fast_syscall+0x0/0x2c)
[ 54.328822] r8:c006a144 r7:00000004 r6:000012c0 r5:ab70aa89 r4:0000b450

and it's clear that error caused by sound output code, even we know place where it crashed: "pcm_out.c:188". So we can go and look around.

It give much more chances to fix problem and make android stable :)

For example, source of "mysterious" SOD problem can be detected via kernel logs.

It don't appear random, it appear only on some condition. It's nice if testers able to find this condition and provide kernel logs to developers.

I will expand this message later with more information.

TBD