Soundon.log
From Open Sound System
[edit] Examining the soundon.log file
If there is a problem occuring with the open sound system, it is possible that diagnostic information has been written to the system log files that may help to troubleshoot the cause.
[edit] Sample log file data
Here is some sample data taken from the /var/log/soundon.log file of a non-working (Kernel486) system:
Kernel vermagic: 2.6.27.10 preempt mod_unload 486 4KSTACKS OSS vermagic: 2.6.27.10 preempt mod_unload 486 4KSTACKS *** Loading OSS kernel modules *** osscore module loaded OK Loading module oss_solo failed - ignored *** Finished loading OSS kernel modules *** opendir: No such file or directory SNDCTL_MIXERINFO: No such device or address 0 audio devices 1 mixer devices +++ ossinfo -v3 +++ Version info: OSS 4.1 (b 1051/200901181208) (0x00040100) GPL Platform: Linux/i486 2.6.27.10 #1 PREEMPT Sun Dec 21 02:26:32 GMT 2008 (despina) Number of audio devices: 0 Number of audio engines: 0 Number of mixer devices: 1 Device objects 0: osscore0 OSS core services 1: oss_solo0 ESS Solo-1 Mixer devices 0: Device not available Audio devices +++ /dev/sndstat +++ +++ dmesg +++ Linux version 2.6.27.10 (root@despina) (gcc version 4.1.2 (Gentoo 4.1.2 p1.1)) / #1 PREEMPT Sun Dec 21 02:26:32 GMT 2008 PAT not supported by CPU. PAT WC disabled due to known CPU erratum. osscore: This processor architecture is not compatible with vmix (info=-1) - Not enabled. PCI: setting IRQ 9 as level-triggered oss_solo 0000:00:0a.0: found PCI INT A -> IRQ 9 BUG: unable to handle kernel NULL pointer dereference at 00000060 IP: [<d8aea7d2>] :osscore:oss_install_mixer+0x262/0x370 *pde = 00000000 Oops: 0000 [#1] PREEMPT Modules linked in: oss_solo(+) osscore af_packet usbcore nfs lockd sunrpc / smc_ultra 8390 bitrev crc32 mousedev rtc_cmos rtc_core rtc_lib psmouse pcspkr / evdev ali_agp agpgart ide_floppy unix Pid: 2746, comm: modprobe Not tainted (2.6.27.10 #1) EIP: 0060:[<d8aea7d2>] EFLAGS: 00010202 CPU: 0 EIP is at oss_install_mixer+0x262/0x370 [osscore]
[edit] Diagnosis
In the above example, we can see PAT not supported by CPU. PAT WC disabled due to known CPU erratum. It turns out in this instance that there is a PAT related bug in the kernel, which is causing the segmentation fault.
We can eliminate this fault by rebuilding the kernel with the following options:
MTRR (Memory Type Range Register) support (MTRR) [Y/n/?] n x86 PAT support (X86_PAT) [N/y/?] n