All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Andrews <jon@jonshouse.co.uk>
To: alsa-devel@alsa-project.org
Subject: Re: Random process lockup on ARM board: alsa-lib-1.0.25, FUTEX_WAIT_PRIVATE
Date: Fri, 17 Feb 2012 21:04:41 +0000	[thread overview]
Message-ID: <1329512682.29051.1.camel@jonspc> (raw)
In-Reply-To: <1329393691.6830.20.camel@jonspc>

Reposting this:

# strace -p 443
> Process 443 attached - interrupt to quit
> futex(0x4030e144, FUTEX_WAIT_PRIVATE, 2, NULL
> 
locks up.  Stops, stalls ... fails to continue ....


Now tried several alsa-lib versions.  A clue would be nice?
What do I replace to fix this ?

Anyone ?


Thanks,
Jon



On Thu, 2012-02-16 at 12:01 +0000, Jonathan Andrews wrote:
> Sorry all me again.
> 
> I've written a program that picks up UDP broadcast packets containing
> audio from a number of sources, mixes it together and presents it to
> alsa for playback.
> 
> I'm experiencing random freezes.  I cant reproduce then running the
> process under strace as the process on the ARM board slows down to the
> point it underruns with ALSA all the time and the symptom doesn't show.
> 
> If I attach strace after the process has frozen I get this and nothing
> else:
> 
> # strace -p 443
> Process 443 attached - interrupt to quit
> futex(0x4030e144, FUTEX_WAIT_PRIVATE, 2, NULL
> 
> 
> This stop happens at random at any point typically after minutes but run
> time can be over an hour.
> 
> I need to work around this as I need the board for a demo.
> 
> Im using, alsa-lib-1.0.25
> kernel 2.6.36.4
> BusyBox v1.19.2
> 
> I also compiled strace for arm, but this and a busybox shell is the only
> environment I have on the board.
> 
> The problem showed when I starting using this function to poll alsa:
> 
> The same code on my PC dual core AMD does not seem to suffer the
> problem  : alsa-lib-1.0.23, Linux jonspc 2.6.32.26-175.fc12.i686 #1 SMP
> 
> Before anyone points it out I want to poll as alsa is not the only sound
> output supported by the code.
> 
> int sound_system_needs_data_now()
> {
>         int framesleft;
>         snd_pcm_status_t *status;
>         snd_pcm_status_alloca( &status );
> 
>         // If the alsa playback has stalled then it definately needs data
>         snd_pcm_status(playback_handle,status);
>         if( snd_pcm_status_get_state( status ) != SND_PCM_STATE_RUNNING )
>                 return(TRUE);
> 
>         framesleft=snd_pcm_avail (playback_handle);
> 	//printf("FL=%d\n",framesleft); fflush(stdout);
> 
>         if (framesleft>1000)
>                 return(TRUE);
>         else
>                 return(FALSE);
> }
> 
> 
> Stuck process
> 
> # cat /proc/443/status 
> Name:   udp-many-way-au
> State:  S (sleeping)
> Tgid:   443
> Pid:    443
> PPid:   392
> TracerPid:      0
> Uid:    0       0       0       0
> Gid:    0       0       0       0
> FDSize: 32
> Groups: 
> VmPeak:     4356 kB
> VmSize:     4292 kB
> VmLck:       132 kB
> VmHWM:      1788 kB
> VmRSS:      1788 kB
> VmData:      396 kB
> VmStk:       136 kB
> VmExe:        28 kB
> VmLib:      3348 kB
> VmPTE:        12 kB
> VmSwap:        0 kB
> Threads:        1
> SigQ:   0/471
> SigPnd: 0000000000000000
> ShdPnd: 0000000000000000
> SigBlk: 0000000000002000
> SigIgn: 0000000000000006
> SigCgt: 0000000180002000
> CapInh: 0000000000000000
> CapPrm: ffffffffffffffff
> CapEff: ffffffffffffffff
> CapBnd: ffffffffffffffff
> Cpus_allowed:   1
> Cpus_allowed_list:      0
> Mems_allowed:   1
> Mems_allowed_list:      0
> voluntary_ctxt_switches:        5908
> nonvoluntary_ctxt_switches:     1766
> 
> 
> Any useful suggestions welcome.
> 
> Thanks,
> Jon
> 
> 
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

  reply	other threads:[~2012-02-17 21:04 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-16 12:01 Random process lockup on ARM board: alsa-lib-1.0.25, FUTEX_WAIT_PRIVATE Jonathan Andrews
2012-02-17 21:04 ` Jonathan Andrews [this message]
2012-02-18 13:02   ` Jonathan Andrews
2012-02-18 20:36     ` Clemens Ladisch
     [not found]       ` <1329603022.1089.57.camel@jonspc>
2012-02-20  7:54         ` Clemens Ladisch
     [not found]           ` <1329926198.22918.10.camel@jonspc>
2012-02-22 16:23             ` Clemens Ladisch
2012-02-24  0:29               ` Jonathan Andrews
2012-02-29  9:12                 ` Huang Shijie
2012-03-07 20:07                   ` Darren Hart
2012-03-07 21:22                     ` Jonathan Andrews
2012-03-08  3:42                       ` Darren Hart
2012-03-08  2:28                     ` Huang Shijie
2012-03-08  3:36                       ` Darren Hart
2012-03-08  4:24                         ` Huang Shijie
2012-03-08  7:40                           ` Darren Hart
2012-03-08  8:43                             ` Huang Shijie
     [not found]               ` <1329933773.24266.44.camel@jonspc>
2012-03-08  8:53                 ` Clemens Ladisch
     [not found]                   ` <1331199625.22455.7.camel@jonspc>
     [not found]                     ` <4F588213.2030600@ladisch.de>
     [not found]                       ` <1331203724.22455.44.camel@jonspc>
2012-03-08 11:43                         ` Clemens Ladisch
2012-03-08 13:04                           ` Jonathan Andrews
2012-03-08 13:47                           ` Jonathan Andrews
2012-03-08 14:35                             ` Clemens Ladisch
2012-03-08 15:14                               ` Jonathan Andrews
2012-03-08 15:34                                 ` Takashi Iwai
2012-03-08 16:42                                   ` Jonathan Andrews
2012-03-08 19:05                                   ` Jonathan Andrews
2012-03-08 20:40                                     ` Clemens Ladisch
2012-03-08 21:42                                       ` Jonathan Andrews
2012-03-14 13:18                                       ` Jonathan Andrews

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1329512682.29051.1.camel@jonspc \
    --to=jon@jonshouse.co.uk \
    --cc=alsa-devel@alsa-project.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.