[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