Re: 5.1.0-rc4: Oops in __rpc_execute() when trying to boot from NFS

From: Daniel Mack
Date: Fri Apr 12 2019 - 01:57:28 EST


Hi Trond,

On 11/4/2019 9:50 PM, Trond Myklebust wrote:
> On Tue, 2019-04-09 at 19:54 +0200, Daniel Mack wrote:
>> On 9/4/2019 6:55 PM, Trond Myklebust wrote:
>>> On Tue, 2019-04-09 at 18:25 +0200, Daniel Mack wrote:
>>>> On 8/4/2019 8:51 PM, Trond Myklebust wrote:
>>>>> On Mon, 2019-04-08 at 19:01 +0200, Daniel Mack wrote:
>>>>>> Hi,
>>>>>>
>>>>>> I'm seeing the Oops below when trying to boot 5.1.0-rc4 on an
>>>>>> ARM
>>>>>> PXA3xx
>>>>>> platform. v5.0 did not show this effect with the same
>>>>>> cmdline.
>>>>>>
>>>>> Please do bisect if that is at all practical. I'm having
>>>>> trouble
>>>>> interpreting this Oops.
>>>>
>>>> Here you go:
>>>>
>>>> 009a82f6437490c262584d65a14094a818bcb747 is the first bad commit
>>>> commit 009a82f6437490c262584d65a14094a818bcb747
>>>> Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
>>>> Date: Sat Mar 9 12:07:17 2019 -0500
>>>>
>>>> SUNRPC: Micro-optimise when the task is known not to be
>>>> sleeping
>>>>
>>>> In cases where we know the task is not sleeping, try to
>>>> optimise
>>>> away the indirect call to task->tk_action() by replacing it
>>>> with
>>>> a direct call.
>>>> Only change tail calls, to allow gcc to perform tail call
>>>> elimination.
>>>
>>> Ah... It looks like we explicitly turn off tail call optimisation
>>> in
>>> some ARM configs, so this might be a stack overflow.
>>>
>>> Does your config file have THUMB2_AVOID_R_ARM_THM_JUMP11 set?
>>
>> Nope. I don't even have THUMB2_KERNEL.
>>
>> In the meantime, I tried to trace that with some printks, but the bug
>> appears evasive, and the backtrace changes as soon as I modify the
>> timing. Hmm.
>>
>> Happy to test patches if you have any idea.
>>
>
> Could you please try pulling the 'testing' branch from
> http://git.linux-nfs.org/?p=trondmy/linux-nfs.git;a=shortlog;h=refs/heads/testing
>
> i.e. 'git pull git://git.linux-nfs.org/projects/trondmy/linux-nfs.git
> testing'
>
> to see if that suffices to fix the issue you're reporting?

Yes, that revert in your branch fixes the problem. All fine again!


Thanks,
Daniel