being very eager to get the sound working on solaris box, I installed OSS from opensound. invoking soundon produces a panic:
----------------------------------------------------------------
Jun 28 00:53:39 unknown pci_pci: [ID 370704 kern.info] PCI-device: pci5053,3357@9, oss0
Jun 28 00:53:39 unknown genunix: [ID 936769 kern.info] oss0 is /pci@0,0/pci8086,244e@1e/pci5053,3357@9
Jun 28 00:53:44 unknown unix: [ID 836849 kern.notice]
Jun 28 00:53:44 unknown ^Mpanic[cpu0]/thread=c8682aa0:
Jun 28 00:53:44 unknown genunix: [ID 403854 kern.notice] assertion failed: ibc < (void *)KERNELBASE, file: ../../common/os/mutex.c, line: 515
Jun 28 00:53:44 unknown unix: [ID 100000 kern.notice]
Jun 28 00:53:44 unknown genunix: [ID 353471 kern.notice] c7d6cce8 genunix:assfail+5c (fe899144, fe89912c,)
Jun 28 00:53:44 unknown genunix: [ID 353471 kern.notice] c7d6cd0c unix:mutex_init+72 (d64d2c9c, d6512528,)
Jun 28 00:53:44 unknown genunix: [ID 353471 kern.notice] c7d6cdb0 oss:probe_cs4280+283 (d64473ac)
Jun 28 00:53:44 unknown genunix: [ID 353471 kern.notice] c7d6cdcc oss:start_cards+c5 (c7d6cdf8, f9d421de,)
Jun 28 00:53:44 unknown genunix: [ID 353471 kern.notice] c7d6cdd4 oss:do_activate+1a (0)
Jun 28 00:53:44 unknown genunix: [ID 353471 kern.notice] c7d6cdf8 oss:sound_private_ioctl+29e (0, d6513e80, 400463)
Jun 28 00:53:44 unknown genunix: [ID 353471 kern.notice] c7d6ce18 oss:oss_ioctl_sw+230 (0, d6513e80, 400463)
Jun 28 00:53:44 unknown genunix: [ID 353471 kern.notice] c7d6ce50 oss:sound_ioctl+145 (0, 40046306, 804798)
Jun 28 00:53:44 unknown genunix: [ID 353471 kern.notice] c7d6ce7c genunix:cdev_ioctl+2e (2f80000, 40046306, )
Jun 28 00:53:44 unknown genunix: [ID 353471 kern.notice] c7d6cea0 specfs:spec_ioctl+65 (d21d1b80, 40046306,)
Jun 28 00:53:44 unknown genunix: [ID 353471 kern.notice] c7d6cec4 genunix:fop_ioctl+21 (d21d1b80, 40046306,)
Jun 28 00:53:44 unknown genunix: [ID 353471 kern.notice] c7d6cf7c genunix:ioctl+151 (3, 40046306, 804798)
Jun 28 00:53:44 unknown unix: [ID 100000 kern.notice]
Jun 28 00:53:44 unknown genunix: [ID 672855 kern.notice] syncing file systems...Jun 28 00:53:44 unknown genunix: [ID 904073 kern.notice] done
-----------------
the sun engineer feels this about the issue:
------------------------------
>Jun 28 00:53:44 unknown genunix: [ID 403854 kern.notice] assertion failed: ibc < (void *)KERNELBAS
E, file: ../../common/os/mutex.c, line: 515
This appaers to be an error in the oss driver; they are passing the
incorrect value as fourth argument to mutex_init().
Try setting "aok = 1" in the kernel (which causes the debug kernel
to ignore assertion failures) and then dtrace the call to mutex_init,
printing the fourth argumnt).
The fourth argument should be a small integer, as a result of code
similar to:
ddi_get_iblock_cookie(dip, 0, &iblock);
mutex_init(&un->un_lock, NULL, MUTEX_DRIVER,
(void *)iblock);
However, sometimes the code is written like this:
ddi_get_iblock_cookie(dip, 0, &iblock);
mutex_init(&un->un_lock, NULL, MUTEX_DRIVER,
(void *)&iblock);
which is incorrect and which is what the assertion tries to catch.
This shows that developing on non-debug kernels doesn't work quite
as well as developing on debug kernels.
-------------------
setting aok=1 helps me get the sound and it works for a while. And then it just panics my machine again with this:
-------------------
Jul 5 03:40:40 unknown ^Mpanic[cpu0]/thread=cb035800:
Jul 5 03:40:40 unknown genunix: [ID 335743 kern.notice] BAD TRAP: type=e (#pf Page fault) rp=cad7eda8 addr=726f70b7 occurred in module "oss" due to an illegal access to a user address
Jul 5 03:40:40 unknown unix: [ID 100000 kern.notice]
Jul 5 03:40:40 unknown unix: [ID 839527 kern.notice] xmms:
Jul 5 03:40:40 unknown unix: [ID 753105 kern.notice] #pf Page fault
Jul 5 03:40:40 unknown unix: [ID 532287 kern.notice] Bad kernel fault at addr=0x726f70b7
Jul 5 03:40:40 unknown unix: [ID 243837 kern.notice] pid=100601, pc=0xf9f6b3b4, sp=0x3, eflags=0x10246
Jul 5 03:40:40 unknown unix: [ID 211416 kern.notice] cr0: 8005003b<pg,wp,ne,et,ts,mp,pe> cr4: 6d8<xmme,fxsr,pge,mce,pse,de>
Jul 5 03:40:40 unknown unix: [ID 936844 kern.notice] cr2: 726f70b7 cr3: 25248000
Jul 5 03:40:40 unknown unix: [ID 537610 kern.notice] gs: cb2601b0 fs: 40000 es: fe910160 ds: ce030160
Jul 5 03:40:40 unknown unix: [ID 537610 kern.notice] edi: 4 esi: 0 ebp: cad7edf8 esp: cad7ede0
Jul 5 03:40:40 unknown unix: [ID 537610 kern.notice] ebx: 0 edx: cc4b7008 ecx: 20044dfe eax: 726f702f
Jul 5 03:40:40 unknown unix: [ID 537610 kern.notice] trp: e err: 0 eip: f9f6b3b4 cs: 158
Jul 5 03:40:40 unknown unix: [ID 717149 kern.notice] efl: 10246 usp: 3 ss: cad7ee18
Jul 5 03:40:40 unknown unix: [ID 100000 kern.notice]
Jul 5 03:40:40 unknown genunix: [ID 353471 kern.notice] cad7ecec unix:die+a6 (e, cad7eda8, 726f70)
Jul 5 03:40:40 unknown genunix: [ID 353471 kern.notice] cad7ed94 unix:trap+12e1 (cad7eda8, 726f70b7,)
Jul 5 03:40:40 unknown genunix: [ID 353471 kern.notice] cad7eda8 unix:_cmntrap+10b (cb2601b0, 40000, fe)
Jul 5 03:40:40 unknown genunix: [ID 353471 kern.notice] cad7edf8 oss:sound_mixer_ioctl+44 (0, ffffffff, 20044d)
Jul 5 03:40:40 unknown genunix: [ID 353471 kern.notice] cad7ee18 oss:oss_ioctl_sw+1c1 (0, cb503e80, 20044d)
Jul 5 03:40:40 unknown genunix: [ID 353471 kern.notice] cad7ee50 oss:sound_ioctl+145 (0, 20044dfe, 804728)
Jul 5 03:40:40 unknown genunix: [ID 353471 kern.notice] cad7ee7c genunix:cdev_ioctl+2e (2f80000, 20044dfe, ) Jul 5 03:40:40 unknown genunix: [ID 353471 kern.notice] cad7eea0 specfs:spec_ioctl+65 (cb26f000, 20044dfe,)
Jul 5 03:40:40 unknown genunix: [ID 353471 kern.notice] cad7eec4 genunix:fop_ioctl+21 (cb26f000, 20044dfe,)
Jul 5 03:40:40 unknown genunix: [ID 353471 kern.notice] cad7ef7c genunix:ioctl+151 (9, 20044dfe, 804728)
--------------------
any ideas?
