Alsa-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Arthur Marsh <arthur.marsh@internode.on.net>
To: Takashi Iwai <tiwai@suse.de>
Cc: alsa-devel@alsa-project.org
Subject: Re: lock-up when loading desktop
Date: Tue, 14 Oct 2014 04:38:58 +1030	[thread overview]
Message-ID: <543C153A.4060607@internode.on.net> (raw)
In-Reply-To: <s5h38asyrld.wl-tiwai@suse.de>

[-- Attachment #1: Type: text/plain, Size: 5245 bytes --]



Takashi Iwai wrote, on 14/10/14 00:55:
> At Mon, 13 Oct 2014 23:34:41 +1030,
> Arthur Marsh wrote:
>>
>>
>>
>> Takashi Iwai wrote, on 13/10/14 23:10:
>>
>>> OK, then could you check whether reverting only the last one (of two)
>>> does *NOT* fix the issue?  I think it shouldn't, but let us confirm.
>>
>> Thanks for the feedback. Sorry, I'm not good on git commands. Having
>> applied the two reversions previously, how do I get my git tree back to
>> the same state as Linus' git head (ie undo the reversions)?
>
> Suppose your tree is now with two reverts, just run "git reset --hard
> HEAD~".  Then it goes back in a single commit.
>
>> I could then apply the second reversion only and test that.
>>
>>>
>>> The alsa-info.sh shows the lockdep messages.  I assume that it's seen
>>> even before 3.17+?
>>
>> I didn't see ALSA-related lockdep messages in 3.17.0 or earlier, and
>> have had the lockdep validator option enabled on kernels for several
>> months now.
>
> OK, so it's a new message.  But this appears after you reverted two
> commits, right?  Then the lock code base in sound core should be
> identical with 3.17.  Strange.  Do you see anything when you run
>
>     git diff v3.17.. sound/core/pcm_native.c
>
> on the tree with two reverts?
>
>
>>> Last but not least, please check whether nonatomic flag is set wrongly
>>> by some reason like the patch below.  (Check the kernel message after
>>> boot or try to playback some PCM).
>>>
>>>
>>> Takashi
>>>
>>> ---
>>> diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c
>>> index 85fe1a216225..9c7cbd1b839e 100644
>>> --- a/sound/core/pcm_native.c
>>> +++ b/sound/core/pcm_native.c
>>> @@ -2275,6 +2275,9 @@ static int snd_pcm_open(struct file *file, struct snd_pcm *pcm, int stream)
>>>    	int err;
>>>    	wait_queue_t wait;
>>>
>>> +	if (WARN_ON(pcm->nonatomic))
>>> +		return -EINVAL;
>>> +
>>>    	if (pcm == NULL) {
>>>    		err = -ENODEV;
>>>    		goto __error1;
>>>
>>>
>>
>> I can apply this patch, but I'm not entirely sure how to check for the
>> state of the nonatomic flag.
>
> If it were wrongly set, the PCM open would show the kernel warning and
> abort immediately, so you'll notice soon.
>
> One more test would be to check the direct merge to 3.17 as I've
> tested.
>
> - Go to git tree, check out some branch
>     % git checkout -b sound-test
>
> - Reset to vanilla 3.17
>     % git reset --hard v3.17
>
> - Merge only the sound changes onto it
>     % git merge fd1a2a90d08b0052fa52bd36cebd0592c9e537c2
>
>    Give any merge messages as you like.
>
> - Compile and retest whether the same problem happens with this one.
>
>
> thanks!
>
> Takashi

OK

# git reset --hard HEAD~
HEAD is now at 77c688a Merge branch 'for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
am64:/usr/src/linux# git revert 7af142f752116e86adbe2073f2922d8265a77709
[master 927ab0d] Revert "ALSA: pcm: Uninline snd_pcm_stream_lock() and 
_unlock()"
  Committer: root <root@am64.localdomain>
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly:

     git config --global user.name "Your Name"
     git config --global user.email you@example.com

After doing this, you may fix the identity used for this commit with:

     git commit --amend --reset-author

  2 files changed, 73 insertions(+), 72 deletions(-)
am64:/usr/src/linux# git revert 257f8cce5d40b811d229ed71602882baa0012808
[master e59721c] Revert "ALSA: pcm: Allow nonatomic trigger operations"
  Committer: root <root@am64.localdomain>
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly:

     git config --global user.name "Your Name"
     git config --global user.email you@example.com

After doing this, you may fix the identity used for this commit with:

     git commit --amend --reset-author

  3 files changed, 19 insertions(+), 116 deletions(-)
am64:/usr/src/linux# git diff v3.17.. sound/core/pcm_native.c
am64:/usr/src/linux# git reset --hard HEAD~
HEAD is now at 927ab0d Revert "ALSA: pcm: Uninline snd_pcm_stream_lock() 
and _unlock()"
am64:/usr/src/linux# git reset --hard v3.17
Checking out files: 100% (6352/6352), done.
HEAD is now at bfe01a5 Linux 3.17
am64:/usr/src/linux# git checkout -b sound-test
Switched to a new branch 'sound-test'
am64:/usr/src/linux# git merge fd1a2a90d08b0052fa52bd36cebd0592c9e537c2
Updating bfe01a5..fd1a2a9
Fast-forward
[big list of files]

/usr/src/linux# patch -p1 <../sound.patch
patching file sound/core/pcm_native.c

I then rebuilt that kernel, and installed it.

It booted and played its start-up sound of a MIDI file fine, but when I 
attempted to run alsa-info.sh it locked up (see first photo), and after 
rebooting again and trying to run:

aplay some-file.wav

had a similar lock-up (see second photo)

I can supply a dmesg output of the machine with the test kernel before 
attempting anything that might cause a lock-up if it's of use to you.

PS, how do I get my git repositary out of "sound-test" branch and return 
to Linus' git head?

Regards,

Arthur.

[-- Attachment #2: 20141014301.jpg --]
[-- Type: image/jpeg, Size: 1661948 bytes --]

[-- Attachment #3: 20141014302.jpg --]
[-- Type: image/jpeg, Size: 1687776 bytes --]

[-- Attachment #4: Type: text/plain, Size: 0 bytes --]



  reply	other threads:[~2014-10-13 18:09 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-13  1:00 lock-up when loading desktop Arthur Marsh
2014-10-13  6:00 ` Takashi Iwai
2014-10-13 11:36   ` Arthur Marsh
2014-10-13 12:40     ` Takashi Iwai
2014-10-13 13:04       ` Arthur Marsh
2014-10-13 14:25         ` Takashi Iwai
2014-10-13 18:08           ` Arthur Marsh [this message]
2014-10-13 20:57             ` Takashi Iwai
2014-10-13 21:14               ` Takashi Iwai
2014-10-14  6:24                 ` Arthur Marsh
2014-10-14  3:26               ` Arthur Marsh
2014-10-14  7:01                 ` Arthur Marsh
2014-10-14  7:12                   ` Takashi Iwai

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=543C153A.4060607@internode.on.net \
    --to=arthur.marsh@internode.on.net \
    --cc=alsa-devel@alsa-project.org \
    --cc=tiwai@suse.de \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox