[nas] cc/gcc issues with imake on Solaris 8
Jon Trulson
jon at radscan.com
Mon Apr 26 15:40:38 MDT 2004
On Mon, 26 Apr 2004 rhfreeman at micron.com wrote:
> From: rhfreeman at micron.com
> Date: Mon, 26 Apr 2004 11:38:08 +0100
> Subject: RE: [nas] cc/gcc issues with imake on Solaris 8
> To: nas at canoemarathon.fsnet.co.uk
> Cc: nas at radscan.com
> X-Spam-Status: No, hits=-4.5 required=5.0 tests=AWL,BAYES_00,NO_REAL_NAME
> autolearn=no version=2.60
>
>
> > > Is it worth me building it with -g and finding out where nasd is
> > > hanging?
> >
> > Yes. Wait for it to hang, then fire up ddd and attach to the running
> > process, then try a debugger command like "where".
>
> Here we go:
>
This looks like a kernel issue - the DRAIN ioctl should return
when the audio chips' tx buffer is empty. A question, does the sounds
eventually play to completion, and then hang?
A hack would be to comment out the ioctl, however other problems
could then arise (like another flow changing the sample rate, etc...).
> (gdb) where
> #0 0xff21cd04 in ioctl () from /usr/lib/libc.so.1
> #1 0x0001e25c in disableProcessFlow () at ausuni.c:948
> #2 0x00018844 in AuStartFlow (newFlow=0x0, pOldFlow=0x37000) at
> auprocess.c:402
> #3 0x0001766c in AuProcessClockedFlows () at auutil.c:973
> #4 0x000195cc in AuProcessFlow (fl=0x3c5f0, clocked=1) at
> auprocess.c:1084
> #5 0x000195f4 in AuProcessData () at auprocess.c:1092
> #6 0x0001e7c0 in processAudioSignal (sig=22) at ausuni.c:1255
> #7 <signal handler called>
> #8 0xff21d2f0 in _poll () from /usr/lib/libc.so.1
> #9 0xff1cd278 in select () from /usr/lib/libc.so.1
> #10 0x0001f0cc in WaitForSomething (pClientsReady=0xffbeed30) at
> WaitFor.c:258
> #11 0x0001ba34 in Dispatch () at dispatch.c:154
> #12 0x000115b0 in main (argc=2, argv=0xffbef014) at main.c:184
>
>
> 937 /* callback */
> 938 static void
> 939 disableProcessFlow()
> 940 {
> 941 #ifdef DEBUGLOG
> 942 fprintf(stderr, "disableProcessFlow()\n");
> 943 fflush(stderr);
> 944 #endif
> 945
> 946 signalEnabled = AuFalse;
> 947 ioctl(devAudioCtl, I_SETSIG, 0); /* disable signal
> */
> 948 ioctl(devAudio, AUDIO_DRAIN, 0); /* drain
> everything out */
> 949 if (relinquish_device)
> 950 closeDevice();
> 951 }
>
> This fits in with what truss says, as the last thing it does is the
> AUDIO_DRAIN!
>
> > > We are a bit behind in patch revisions on your machines also (-21
> > > kernel), I might try and run the latest patch cluster and try again!
> >
> > I think is the latest is 10852[89]-29.
> > The recommended cluster will probably bring the X11 version into line
> > too.
>
> It is a multi-user system so I'll need to schedule something for this,
> but if there is nothing obvious it might well be worth a try!
>
> Rich
>
--
Jon Trulson mailto:jon at radscan.com
ID: 1A9A2B09, FP: C23F328A721264E7 B6188192EC733962
PGP keys at http://radscan.com/~jon/PGPKeys.txt
#include <std/disclaimer.h>
"I am Nomad." -Nomad
More information about the Nas
mailing list