Kernel crashing

OSS specific BSD discussion (FreeBSD/NetBSD/OpenBSD)

Moderators: cesium, dev, kodachi, hannu

Kernel crashing

Postby adamk » Fri Jan 02, 2009 1:44 pm

I've had two kernel panics this morning that appear to be OSS related:

Code: Select all
[ root@memory - /var/crash ]: kgdb /boot/kernel/kernel vmcore.2                                               
GNU gdb 6.1.1 [FreeBSD]                                                                                       
Copyright 2004 Free Software Foundation, Inc.                                                                 
GDB is free software, covered by the GNU General Public License, and you are                                   
welcome to change it and/or distribute copies of it under certain conditions.                                 
Type "show copying" to see the conditions.                                                                     
There is absolutely no warranty for GDB.  Type "show warranty" for details.                                   
This GDB was configured as "i386-marcel-freebsd"...                                                           

Unread portion of the kernel message buffer:
kernel trap 12 with interrupts disabled     


Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00                       
fault virtual address   = 0xe6ef6000         
fault code              = supervisor write, page not present
instruction pointer     = 0x20:0xc4b81774                   
stack pointer           = 0x28:0xe6931bac                   
frame pointer           = 0x28:0xe6931bb0                   
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, def32 1, gran 1   
processor eflags        = resume, IOPL = 0                 
current process         = 1112 (irq20: oss_sblive+)         
trap number             = 12                               
panic: page fault                                           
cpuid = 0                                                   
Uptime: 51m28s                                             
Physical memory: 1010 MB                                   
Dumping 209 MB: 194 (CTRL-C to abort)  (CTRL-C to abort)  (CTRL-C to abort)  178 (CTRL-C to abort)  (CTRL-C to abort)  162 (CTRL-C to abort)  146 (CTRL-C to abort)  130 (CTRL-C to abort)  (CTRL-C to abort)  114 98 82 66 50 34 18 2                     

Reading symbols from /boot/kernel/linux.ko...Reading symbols from /boot/kernel/linux.ko.symbols...done.
done.                                                                                                 
Loaded symbols for /boot/kernel/linux.ko                                                               
Reading symbols from /boot/kernel/aio.ko...Reading symbols from /boot/kernel/aio.ko.symbols...done.   
done.                                                                                                 
Loaded symbols for /boot/kernel/aio.ko
Reading symbols from /boot/modules/kqemu.ko...done.
Loaded symbols for /boot/modules/kqemu.ko
Reading symbols from /boot/kernel/acpi.ko...Reading symbols from /boot/kernel/acpi.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/acpi.ko
Reading symbols from /boot/kernel/linprocfs.ko...Reading symbols from /boot/kernel/linprocfs.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/linprocfs.ko
Reading symbols from /boot/kernel/smbfs.ko...Reading symbols from /boot/kernel/smbfs.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/smbfs.ko
Reading symbols from /boot/kernel/libiconv.ko...Reading symbols from /boot/kernel/libiconv.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/libiconv.ko
Reading symbols from /boot/kernel/libmchain.ko...Reading symbols from /boot/kernel/libmchain.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/libmchain.ko
Reading symbols from /usr/local/modules/fuse.ko...done.
Loaded symbols for /usr/local/modules/fuse.ko
Reading symbols from /usr/lib/oss/modules/osscore.ko...done.
Loaded symbols for /usr/lib/oss/modules/osscore.ko
Reading symbols from /usr/lib/oss/modules/oss_sblive.ko...done.
Loaded symbols for /usr/lib/oss/modules/oss_sblive.ko
Reading symbols from /boot/kernel/radeon.ko...done.
Loaded symbols for /boot/kernel/radeon.ko
Reading symbols from /boot/kernel/drm.ko...done.
Loaded symbols for /boot/kernel/drm.ko
#0  doadump () at pcpu.h:196
196     pcpu.h: No such file or directory.
        in pcpu.h
(kgdb) bt
#0  doadump () at pcpu.h:196
#1  0xc078fbb7 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:418
#2  0xc078fe89 in panic (fmt=Variable "fmt" is not available.
) at /usr/src/sys/kern/kern_shutdown.c:574
#3  0xc0aa1b6c in trap_fatal (frame=0xe6931b6c, eva=3874447360) at /usr/src/sys/i386/i386/trap.c:939
#4  0xc0aa24ff in trap (frame=0xe6931b6c) at /usr/src/sys/i386/i386/trap.c:320
#5  0xc0a8862b in calltrap () at /usr/src/sys/i386/i386/exception.s:159
#6  0xc4b81774 in oss_memset () from /usr/lib/oss/modules/osscore.ko
#7  0xc4b5d4e0 in do_outputintr () from /usr/lib/oss/modules/osscore.ko
#8  0xc4b5d789 in audio_outputintr () from /usr/lib/oss/modules/osscore.ko
#9  0xc4bd56d8 in sbliveintr () from /usr/lib/oss/modules/oss_sblive.ko
#10 0xc4b81b00 in ossintr () from /usr/lib/oss/modules/osscore.ko
#11 0xc076f88b in ithread_loop (arg=0xc41aca50) at /usr/src/sys/kern/kern_intr.c:1088
#12 0xc076c3f9 in fork_exit (callout=0xc076f6d0 <ithread_loop>, arg=0xc41aca50, frame=0xe6931d38)
    at /usr/src/sys/kern/kern_fork.c:804
#13 0xc0a886a0 in fork_trampoline () at /usr/src/sys/i386/i386/exception.s:264
(kgdb)


And

Code: Select all
[ root@memory - /var/crash ]: kgdb /boot/kernel/kernel vmcore.1                                               
GNU gdb 6.1.1 [FreeBSD]                                                                                       
Copyright 2004 Free Software Foundation, Inc.                                                                 
GDB is free software, covered by the GNU General Public License, and you are                                   
welcome to change it and/or distribute copies of it under certain conditions.                                 
Type "show copying" to see the conditions.                                                                     
There is absolutely no warranty for GDB.  Type "show warranty" for details.                                   
This GDB was configured as "i386-marcel-freebsd"...                                                           

Unread portion of the kernel message buffer:
kernel trap 12 with interrupts disabled     


Fatal trap 12: page fault while in kernel mode
cpuid = 2; apic id = 06                       
fault virtual address   = 0xe6eea000         
fault code              = supervisor write, page not present
instruction pointer     = 0x20:0xc4a59c82                   
stack pointer           = 0x28:0xe687eb0c                   
frame pointer           = 0x28:0xe687eb30                   
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, def32 1, gran 1   
processor eflags        = resume, IOPL = 0                 
current process         = 1104 (irq20: oss_sblive+)         
trap number             = 12                               
panic: page fault                                           
cpuid = 2                                                   
Uptime: 1h52m34s                                           
Physical memory: 1010 MB                                   
Dumping 194 MB: (CTRL-C to abort)  179 163 147 131 115 99 (CTRL-C to abort)  83 67 51 35 19 3

Reading symbols from /boot/kernel/linux.ko...Reading symbols from /boot/kernel/linux.ko.symbols...done.
done.                                                                                                 
Loaded symbols for /boot/kernel/linux.ko                                                               
Reading symbols from /boot/kernel/aio.ko...Reading symbols from /boot/kernel/aio.ko.symbols...done.   
done.                                                                                                 
Loaded symbols for /boot/kernel/aio.ko
Reading symbols from /boot/modules/kqemu.ko...done.
Loaded symbols for /boot/modules/kqemu.ko
Reading symbols from /boot/kernel/acpi.ko...Reading symbols from /boot/kernel/acpi.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/acpi.ko
Reading symbols from /boot/kernel/linprocfs.ko...Reading symbols from /boot/kernel/linprocfs.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/linprocfs.ko
Reading symbols from /boot/kernel/smbfs.ko...Reading symbols from /boot/kernel/smbfs.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/smbfs.ko
Reading symbols from /boot/kernel/libiconv.ko...Reading symbols from /boot/kernel/libiconv.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/libiconv.ko
Reading symbols from /boot/kernel/libmchain.ko...Reading symbols from /boot/kernel/libmchain.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/libmchain.ko
Reading symbols from /usr/local/modules/fuse.ko...done.
Loaded symbols for /usr/local/modules/fuse.ko
Reading symbols from /usr/lib/oss/modules/osscore.ko...done.
Loaded symbols for /usr/lib/oss/modules/osscore.ko
Reading symbols from /usr/lib/oss/modules/oss_sblive.ko...done.
Loaded symbols for /usr/lib/oss/modules/oss_sblive.ko
Reading symbols from /boot/kernel/radeon.ko...done.
Loaded symbols for /boot/kernel/radeon.ko
Reading symbols from /boot/kernel/drm.ko...done.
Loaded symbols for /boot/kernel/drm.ko
#0  doadump () at pcpu.h:196
196     pcpu.h: No such file or directory.
        in pcpu.h
(kgdb) bt
#0  doadump () at pcpu.h:196
#1  0xc078fbb7 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:418
#2  0xc078fe89 in panic (fmt=Variable "fmt" is not available.
) at /usr/src/sys/kern/kern_shutdown.c:574
#3  0xc0aa1b6c in trap_fatal (frame=0xe687eacc, eva=3874398208) at /usr/src/sys/i386/i386/trap.c:939
#4  0xc0aa24ff in trap (frame=0xe687eacc) at /usr/src/sys/i386/i386/trap.c:320
#5  0xc0a8862b in calltrap () at /usr/src/sys/i386/i386/exception.s:159
#6  0xc4a59c82 in export16ne () from /usr/lib/oss/modules/osscore.ko
#7  0xc4a5ae73 in vmix_play_callback () from /usr/lib/oss/modules/osscore.ko
#8  0xc4a3733b in finish_output_interrupt () from /usr/lib/oss/modules/osscore.ko
#9  0xc4a375c7 in do_outputintr () from /usr/lib/oss/modules/osscore.ko
#10 0xc4a37789 in audio_outputintr () from /usr/lib/oss/modules/osscore.ko
#11 0xc4aaf6d8 in sbliveintr () from /usr/lib/oss/modules/oss_sblive.ko
#12 0xc4a5bb00 in ossintr () from /usr/lib/oss/modules/osscore.ko
#13 0xc076f88b in ithread_loop (arg=0xc4392000) at /usr/src/sys/kern/kern_intr.c:1088
#14 0xc076c3f9 in fork_exit (callout=0xc076f6d0 <ithread_loop>, arg=0xc4392000, frame=0xe687ed38)
    at /usr/src/sys/kern/kern_fork.c:804
#15 0xc0a886a0 in fork_trampoline () at /usr/src/sys/i386/i386/exception.s:264


Code: Select all
[ root@memory - /var/crash ]: ossinfo
Version info: OSS 4.2 (b 081213/200901020105) (0x00040100) OSS_HG
Hg revision: changeset: 594:f054e739c2bb, tag: tip, date: Wed Dec 31 00:07:02 2008 +0200, summary: Fixed a typo in oss_ich.c
Platform: FreeBSD/i386 7.1-PRERELEASE FreeBSD 7.1-PRERELEASE #7: Mon Nov  3 18:50:07 EST 2008     root@memory.visualtech.com:/usr/obj/usr/src/sys/GENERIC (memory.visualtech.com)

Number of audio devices:        5
Number of audio engines:        9
Number of MIDI devices:         1
Number of mixer devices:        1


Device objects
0: oss_sblive0 SB Live interrupts=57300 (57300)

MIDI devices (/dev/midi*)
0: SB Live external MIDI (MIDI port 1 of device object 0)

Mixer devices
0: SB Live (EM28028) (Mixer 0 of device object 0)

Audio devices
SB Live main                      /dev/oss/oss_sblive0/pcm0  (device index 0)
SB Live front out                 /dev/oss/oss_sblive0/pcm1  (device index 1)
SB Live side out                  /dev/oss/oss_sblive0/pcm2  (device index 2)
SB Live center/lfe out            /dev/oss/oss_sblive0/pcm3  (device index 3)
SB Live 5.1 output device         /dev/oss/oss_sblive0/pcm4  (device index 4)


Adam
adamk
Member
 
Posts: 78
Joined: Fri Jun 11, 2004 1:50 pm

Postby cesium » Fri Jan 02, 2009 4:11 pm

Can you post these to the oss-devel mailing list? Also, are these reproducible? What programs were running at the time?

As for the first fault, I suspect oss_audio_core.c line 5682. though I can't see why it would crash...
cesium
Developer
 
Posts: 902
Joined: Sun Aug 12, 2007 12:51 am

Postby adamk » Fri Jan 02, 2009 6:46 pm

I'll go ahead and post them there as soon as my subscription goes through :-)

I haven't tried to reproduce the problem, but I was using mplayer both times that it happened. I don't recall doing anything specific at the time of the crash. I'll see if I can reproduce it later today or tomorrow morning.

Adam
adamk
Member
 
Posts: 78
Joined: Fri Jun 11, 2004 1:50 pm

Postby asmodai » Sun Jan 11, 2009 4:11 pm

I can confirm this with an X-Fi setup on 7.1-STABLE using mpg123.

Exact same kernel crash. I sent details to the devel list, but it is hanging in moderation now. I can reproduce this 100%.
asmodai
New Member
 
Posts: 2
Joined: Sun Jan 11, 2009 2:20 pm

Postby adamk » Sun Jan 11, 2009 4:52 pm

Yay! At least I have confirmation :-)

That's three separate machines, with four different sound cards.

Adam
adamk
Member
 
Posts: 78
Joined: Fri Jun 11, 2004 1:50 pm

Postby asmodai » Tue Jan 13, 2009 6:29 am

Just for completeness sake, this is what I emailed:

Code: Select all
Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address   = 0xe8166000
fault code              = supervisor write, page not present
instruction pointer     = 0x20:0xc5d9ac24
stack pointer           = 0x28:0xe811cbcc
frame pointer           = 0x28:0xe811cbd0
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, def32 1, gran 1
processor eflags        = resume, IOPL = 0
current process         = 705 (irq18: oss_sbxfi0)
trap number             = 12
panic: page fault
cpuid = 0

(kgdb) bt
#0  doadump () at pcpu.h:196
#1  0xc05ad507 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:418
#2  0xc05ad7d9 in panic (fmt=Variable "fmt" is not available.
) at /usr/src/sys/kern/kern_shutdown.c:574
#3  0xc07ab5cc in trap_fatal (frame=0xe811cb8c, eva=3893780480)
    at /usr/src/sys/i386/i386/trap.c:939
#4  0xc07abf3f in trap (frame=0xe811cb8c) at /usr/src/sys/i386/i386/trap.c:320
#5  0xc0792a5b in calltrap () at /usr/src/sys/i386/i386/exception.s:159
#6  0xc5d9ac24 in oss_memset () from /usr/local/lib/oss/modules/osscore.ko
#7  0xc5d80e40 in do_outputintr () from /usr/local/lib/oss/modules/osscore.ko
#8  0xc5d810e9 in audio_outputintr ()
   from /usr/local/lib/oss/modules/osscore.ko
#9  0xc5deb729 in sbxfi_intr () from /usr/local/lib/oss/modules/oss_sbxfi.ko
#10 0xc5d9afb0 in ossintr () from /usr/local/lib/oss/modules/osscore.ko
#11 0xc058c50b in ithread_loop (arg=0xc56637c0)
    at /usr/src/sys/kern/kern_intr.c:1088
#12 0xc0589079 in fork_exit (callout=0xc058c350 <ithread_loop>,
    arg=0xc56637c0, frame=0xe811cd38) at /usr/src/sys/kern/kern_fork.c:804
#13 0xc0792ad0 in fork_trampoline () at /usr/src/sys/i386/i386/exception.s:264
asmodai
New Member
 
Posts: 2
Joined: Sun Jan 11, 2009 2:20 pm

Postby Tarick » Sun Feb 15, 2009 10:28 am

I can reproduce a very similar crash, though the kernel backtrace slightly differs, perhaps due to the different oss and FreeBSD version.

I use oss-4.1.b1051 (oss_hda) on FreeBSD 7.1-STABLE amd64.

Crashes occur at some moment when rhythmbox is paused or changes track, or when I jump ahead/back in movie with mplayer.

I will add this into oss-devel thread if you believe that this is the same issue.

All backtraces that I took are identical, below is one of them:

Code: Select all
Unread portion of the kernel message buffer:
kernel trap 12 with interrupts disabled

Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address   = 0xfffffffef7e1f000
fault code      = supervisor write data, page not present
instruction pointer   = 0x8:0xffffffff80c4fa92
stack pointer           = 0x10:0xfffffffef382bb00
frame pointer           = 0x10:0xfffffffef382bb10
code segment      = base 0x0, limit 0xfffff, type 0x1b
         = DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags   = resume, IOPL = 0
current process      = 32 (irq16: ohci0+)
trap number      = 12
panic: page fault
cpuid = 0
Uptime: 8m45s

Physical memory: 4021 MB
Dumping 723 MB: 708 692 676 660 644 628 612 596 580 564 548 532 516 500 484 468 452 436 420 404 388 372 356 340 324 308 292 276 260 244 228 212 196 180 164 148 132 116 100 84 68 52 36 20 4

Reading symbols from /boot/kernel/bwi_v3.ko...done.
Loaded symbols for /boot/kernel/bwi_v3.ko
Reading symbols from /boot/kernel/if_bwi.ko...done.
Loaded symbols for /boot/kernel/if_bwi.ko
Reading symbols from /boot/kernel/radeon.ko...Reading symbols from /boot/kernel/radeon.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/radeon.ko
Reading symbols from /usr/local/lib/oss/modules/osscore.ko...done.
Loaded symbols for /usr/local/lib/oss/modules/osscore.ko
Reading symbols from /usr/local/lib/oss/modules/oss_hdaudio.ko...done.
Loaded symbols for /usr/local/lib/oss/modules/oss_hdaudio.ko
Reading symbols from /usr/local/modules/rtc.ko...done.
Loaded symbols for /usr/local/modules/rtc.ko
Reading symbols from /boot/kernel/ng_pppoe.ko...Reading symbols from /boot/kernel/ng_pppoe.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/ng_pppoe.ko
#0  doadump () at pcpu.h:195
195   pcpu.h: No such file or directory.
   in pcpu.h

(kgdb) bt
#0  doadump () at pcpu.h:195
#1  0xffffffff8033d3ae in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:418
#2  0xffffffff8033d7fc in panic (fmt=0xffffffff805fc5da "%s") at /usr/src/sys/kern/kern_shutdown.c:574
#3  0xffffffff8058cc8c in trap_fatal (frame=0xffffff000152c370, eva=Variable "eva" is not available.
) at /usr/src/sys/amd64/amd64/trap.c:764
#4  0xffffffff8058d990 in trap (frame=0xfffffffef382ba50) at /usr/src/sys/amd64/amd64/trap.c:290
#5  0xffffffff805718b3 in calltrap () at /usr/src/sys/amd64/amd64/exception.S:209
#6  0xffffffff80c4fa92 in oss_memset () from /usr/local/lib/oss/modules/osscore.ko
#7  0xffffffff80c32410 in do_outputintr () from /usr/local/lib/oss/modules/osscore.ko
#8  0xffffffff80802f00 in tdg_maxid ()
#9  0x0000000080814430 in ?? ()
#10 0xffffff00413ecb70 in ?? ()
#11 0xffffff00049d5010 in ?? ()
#12 0x0000000000000000 in ?? ()
#13 0x0000000000000001 in ?? ()
#14 0x0000000000000004 in ?? ()
#15 0xffffffff80c325ca in audio_outputintr () from /usr/local/lib/oss/modules/osscore.ko
#16 0xffffff0004c4a010 in ?? ()
#17 0x0000000000000000 in ?? ()
#18 0x0000000080000010 in ?? ()
#19 0xffffff0001946a80 in ?? ()
#20 0xffffff000194f000 in ?? ()
#21 0xffffffff80cad705 in hdaintr () from /usr/local/lib/oss/modules/oss_hdaudio.ko
#22 0xffffffff80c9cfc0 in ?? ()
#23 0xfffffffef382bbc0 in ?? ()
#24 0x0000000000000000 in ?? ()
#25 0xffffffff80c4fde6 in ossintr () from /usr/local/lib/oss/modules/osscore.ko
Previous frame inner to this frame (corrupt stack?)


ossinfo:
Code: Select all
~# ossinfo -v9
Version info: OSS 4.1 (b 1051/200902011644) (0x00040100) BSD
Platform: FreeBSD/amd64 7.1-STABLE FreeBSD 7.1-STABLE #31: Sat Jan 31 14:52:43 EET 2009

Number of audio devices:   4
Number of audio engines:   8
Number of mixer devices:   1


Device objects
0: oss_hdaudio0 ATI HD Audio interrupts=17 (16547)
    HD Audio controller ATI HD Audio
    Vendor ID    0x10024383
    Subvendor ID 0x102801f5
     Codec  0: Conexant2bfa (0x14f12bfa)
     Codec  1: STAC9200 (0x83847690/0x102801f5)


Mixer devices
0: High Definition Audio STAC9200 (Mixer 0 of device object 0)
    Device file /dev/oss/oss_hdaudio0/mix0, Legacy device /dev/mixer0
    Priority: 10
    Caps:
    Device handle: OSS-PCI-mx01
    Device priority: 10


Audio devices
HD Audio play pcm                 /dev/oss/oss_hdaudio0/pcm0  (device index 0)
    Legacy device /dev/dsp0
    Caps: DUPLEX TRIGGER MMAP
    Modes: IN/OUT
      Out engine  1: 0/HD Audio play pcm
                     Available for use
      Engine      2: 4/HD Audio play pcm (vmix)
                     Available for use
      Engine      3: 5/HD Audio play pcm (vmix)
                     Available for use
      Engine      4: 6/HD Audio play pcm (vmix)
                     Available for use
      Engine      5: 7/HD Audio play pcm (vmix)
                     Available for use
    Input formats (0x00001010):
      AFMT_S16_LE   - 16 bit signed little endian
      AFMT_S32_LE   - 32 bit signed little endian
    Output formats (0x00001010):
      AFMT_S16_LE   - 16 bit signed little endian
      AFMT_S32_LE   - 32 bit signed little endian
    Device handle: OSS-PCI-au01
    Related mixer dev: 0
    Sample rate source: 0
    Preferred channel configuration: Not indicated
    Supported number of channels (min - max): 2 - 8
    Native sample rates (min - max): 44100 - 192000 (44100,48000,88200,96000,176400,192000)
    HW Type: Not indicated.
    Minimum latency: Not indicated

HD Audio play modem-out           /dev/oss/oss_hdaudio0/pcm1  (device index 1)
    Legacy device /dev/dsp1
    Caps: TRIGGER MMAP
    Modes: OUTPUT
      Out engine  1: 1/HD Audio play modem-out
                     Available for use
    Input formats (0x00000010):
      AFMT_S16_LE   - 16 bit signed little endian
    Output formats (0x00000010):
      AFMT_S16_LE   - 16 bit signed little endian
    Device handle: OSS-PCI-au02
    Related mixer dev: 0
    Sample rate source: 0
    Preferred channel configuration: Not indicated
    Supported number of channels (min - max): 2 - 2
    Native sample rates (min - max): 16000 - 48000 (16000,48000)
    HW Type: Not indicated.
    Minimum latency: Not indicated

HD Audio rec select               /dev/oss/oss_hdaudio0/pcmin0  (device index 2)
    Legacy device /dev/dsp2
    Caps: DUPLEX TRIGGER MMAP
    Modes: IN/OUT
      In engine   1: 2/HD Audio rec select
                     Available for use
      Engine      2: 4/HD Audio play pcm (vmix)
                     Available for use
      Engine      3: 5/HD Audio play pcm (vmix)
                     Available for use
      Engine      4: 6/HD Audio play pcm (vmix)
                     Available for use
      Engine      5: 7/HD Audio play pcm (vmix)
                     Available for use
    Input formats (0x00001010):
      AFMT_S16_LE   - 16 bit signed little endian
      AFMT_S32_LE   - 32 bit signed little endian
    Output formats (0x00001010):
      AFMT_S16_LE   - 16 bit signed little endian
      AFMT_S32_LE   - 32 bit signed little endian
    Device handle: OSS-PCI-au03
    Related mixer dev: 0
    Sample rate source: 0
    Preferred channel configuration: Not indicated
    Supported number of channels (min - max): 2 - 2
    Native sample rates (min - max): 44100 - 192000 (44100,48000,88200,96000,176400,192000)
    HW Type: Not indicated.
    Minimum latency: Not indicated

HD Audio rec modem-out            /dev/oss/oss_hdaudio0/pcmin1  (device index 3)
    Legacy device /dev/dsp3
    Caps: TRIGGER MMAP
    Modes: INPUT 
      In engine   1: 3/HD Audio rec modem-out
                     Available for use
    Input formats (0x00000010):
      AFMT_S16_LE   - 16 bit signed little endian
    Output formats (0x00000010):
      AFMT_S16_LE   - 16 bit signed little endian
    Device handle: OSS-PCI-au04
    Related mixer dev: 0
    Sample rate source: 0
    Preferred channel configuration: Not indicated
    Supported number of channels (min - max): 2 - 2
    Native sample rates (min - max): 16000 - 48000 (16000,48000)
    HW Type: Not indicated.
    Minimum latency: Not indicated
Tarick
Member
 
Posts: 11
Joined: Sat Jun 30, 2007 6:01 pm

Postby cesium » Mon Feb 16, 2009 1:58 pm

If anyone who can reproduce this, could build OSS via the mercurial repository, and see which build introduced the crash, I'll be most grateful.
cesium
Developer
 
Posts: 902
Joined: Sun Aug 12, 2007 12:51 am

Postby Tarick » Wed Feb 18, 2009 9:24 pm

I narrowed my problem to r448: r446 works and r448 fails. I also build the HEAD few days ago and the crash was still reproducible.

I can easily reproduce the crash as have a thousand of 1-5 seconds long wav files, usually system crashes when rhythmbox passes 400-500 tracks.
Tarick
Member
 
Posts: 11
Joined: Sat Jun 30, 2007 6:01 pm

Postby cesium » Wed Feb 18, 2009 9:42 pm

Hmm... r446 was a big FreeBSD change, while r447 and r448 seem unrelated. So it's something in r446. From tracing [edit: on Linux], I see mplayer closes and reopens the device everytime it skips. So maybe oss_close needs a small change (I don't think it can harm, anyway)?

Code: Select all
diff -r 9cc8c8fd37d4 kernel/OS/FreeBSD/os_freebsd.c
--- a/kernel/OS/FreeBSD/os_freebsd.c   Mon Feb 16 11:19:49 2009 +0200
+++ b/kernel/OS/FreeBSD/os_freebsd.c   Wed Feb 18 23:46:38 2009 +0200
@@ -756,6 +756,7 @@
   struct fileinfo * fi;
   if (oss_file_get_private ((void **)&fi)) return ENXIO;
   dev = fi->dev;
+  init_fileinfo (fi, flags);
#endif

   if (dev >= oss_num_cdevs)
cesium
Developer
 
Posts: 902
Joined: Sun Aug 12, 2007 12:51 am

Postby Tarick » Thu Feb 19, 2009 1:30 pm

You were right, I've rechecked r446 and it failed also after some time. I've included the proposed change into r446 and reinstalled with it, but it failed even faster.

I'll stay with r445 for now.
Tarick
Member
 
Posts: 11
Joined: Sat Jun 30, 2007 6:01 pm

Postby cesium » Thu Feb 19, 2009 2:10 pm

Can you do this test?

Get latest hg, and edit kernel/OS/FreeBSD/wrapper/bsddefs.h and disable VDEV_SUPPORT (comment out the #define). Then compile latest hg, but instead of configure do "CC=cc -g configure". Then, goto /usr/lib/oss/build, add "DEBUG_FLAGS=-g" to Makefile.osscore and run "sh install.sh". This will display line numbers in the debug trace if it crashes (I think it won't).
cesium
Developer
 
Posts: 902
Joined: Sun Aug 12, 2007 12:51 am

Postby Tarick » Fri Feb 20, 2009 7:42 pm

Nope, the output of kgdb is the same as above.
Tarick
Member
 
Posts: 11
Joined: Sat Jun 30, 2007 6:01 pm

Postby cesium » Fri Feb 20, 2009 7:51 pm

Darn. Did you comment out VDEV_SUPPORT [edit: I mean if it's undefined - you can see it if vmix creates nodes for its engines rather than using a single node]? Because if you did, than the bug is probably not in r446.
cesium
Developer
 
Posts: 902
Joined: Sun Aug 12, 2007 12:51 am

Postby Tarick » Fri Feb 20, 2009 8:08 pm

Deinstalled old, downloaded latest hg, fixed kernel/OS/FreeBSD/wrapper/bsddefs.h ( line 20 /* #define VDEV_SUPPORT */ ), made configure with 'setenv CC "cc -g"', make build, make package, pkg_add oss-freebsd7-v4.2-081213-amd64 (that created /usr/lib/oss), fixed Makefile.osscore, sh install.sh. Restarted oss.

Noticed that no more than one program can make sound now, started rhythmbox with the bunch of that files, successfully played 1600 fragments. Restarted notebook, fired rhythmbox again and when came back in 30 minutes found it crashed.
Tarick
Member
 
Posts: 11
Joined: Sat Jun 30, 2007 6:01 pm

Next

Return to BSD

Who is online

Users browsing this forum: Exabot [Bot] and 1 guest

cron