diff mbox series

selftests: add sleep between detach and usbip list -l

Message ID 20190502194740.15344-1-skhan@linuxfoundation.org (mailing list archive)
State New, archived
Headers show
Series selftests: add sleep between detach and usbip list -l | expand

Commit Message

Shuah Khan May 2, 2019, 7:47 p.m. UTC
Add a sleep between detach and check for exportable devices to avoid
the following segfault from libc-2.27.so

[ 6268.136108] usbip[5565]: segfault at 0 ip 00007f2a947bddfd sp 00007ffd1a8705e8 error 4 in libc-2.27.so[7f2a94703000+1e7000]

Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
---
 tools/testing/selftests/drivers/usb/usbip/usbip_test.sh | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Greg KH May 5, 2019, 9:13 a.m. UTC | #1
On Thu, May 02, 2019 at 01:47:40PM -0600, Shuah Khan wrote:
> Add a sleep between detach and check for exportable devices to avoid
> the following segfault from libc-2.27.so
> 
> [ 6268.136108] usbip[5565]: segfault at 0 ip 00007f2a947bddfd sp 00007ffd1a8705e8 error 4 in libc-2.27.so[7f2a94703000+1e7000]
> 
> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
> ---
>  tools/testing/selftests/drivers/usb/usbip/usbip_test.sh | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/tools/testing/selftests/drivers/usb/usbip/usbip_test.sh b/tools/testing/selftests/drivers/usb/usbip/usbip_test.sh
> index 128f0ab24307..beacf24a8df7 100755
> --- a/tools/testing/selftests/drivers/usb/usbip/usbip_test.sh
> +++ b/tools/testing/selftests/drivers/usb/usbip/usbip_test.sh
> @@ -171,10 +171,14 @@ echo "Detach invalid port tests - expect invalid port error message";
>  src/usbip detach -p 100;
>  echo "=============================================================="
>  
> +# let detach complete. Avoid segfaults from libc-2.27.so
> +sleep 3;

That feels very "arbitrary", why do we "know" it will take at most 3
seconds?  I guess there's not much else we can do here except maybe
somehow watch sysfs until the device is really gone?

thanks,

greg k-h
Shuah Khan May 6, 2019, 2:47 p.m. UTC | #2
On 5/5/19 3:13 AM, Greg KH wrote:
> On Thu, May 02, 2019 at 01:47:40PM -0600, Shuah Khan wrote:
>> Add a sleep between detach and check for exportable devices to avoid
>> the following segfault from libc-2.27.so
>>
>> [ 6268.136108] usbip[5565]: segfault at 0 ip 00007f2a947bddfd sp 00007ffd1a8705e8 error 4 in libc-2.27.so[7f2a94703000+1e7000]
>>
>> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
>> ---
>>   tools/testing/selftests/drivers/usb/usbip/usbip_test.sh | 4 ++++
>>   1 file changed, 4 insertions(+)
>>
>> diff --git a/tools/testing/selftests/drivers/usb/usbip/usbip_test.sh b/tools/testing/selftests/drivers/usb/usbip/usbip_test.sh
>> index 128f0ab24307..beacf24a8df7 100755
>> --- a/tools/testing/selftests/drivers/usb/usbip/usbip_test.sh
>> +++ b/tools/testing/selftests/drivers/usb/usbip/usbip_test.sh
>> @@ -171,10 +171,14 @@ echo "Detach invalid port tests - expect invalid port error message";
>>   src/usbip detach -p 100;
>>   echo "=============================================================="
>>   
>> +# let detach complete. Avoid segfaults from libc-2.27.so
>> +sleep 3;
> 
> That feels very "arbitrary", why do we "know" it will take at most 3
> seconds?  I guess there's not much else we can do here except maybe
> somehow watch sysfs until the device is really gone?
> 

Yeah. Number 3 is somewhat arbitrary. It helps the host process the
detach request from the client and update the sysfs. Detach returns
as soon as client side is done, and the test is running the next
command on the host side. If I were run these commands manually, it
gives enough settling time. I am looking for a quick way to allow
settling time in this automated test.


thanks,
-- Shuah
Greg KH May 6, 2019, 3:15 p.m. UTC | #3
On Mon, May 06, 2019 at 08:47:15AM -0600, Shuah Khan wrote:
> On 5/5/19 3:13 AM, Greg KH wrote:
> > On Thu, May 02, 2019 at 01:47:40PM -0600, Shuah Khan wrote:
> > > Add a sleep between detach and check for exportable devices to avoid
> > > the following segfault from libc-2.27.so
> > > 
> > > [ 6268.136108] usbip[5565]: segfault at 0 ip 00007f2a947bddfd sp 00007ffd1a8705e8 error 4 in libc-2.27.so[7f2a94703000+1e7000]
> > > 
> > > Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
> > > ---
> > >   tools/testing/selftests/drivers/usb/usbip/usbip_test.sh | 4 ++++
> > >   1 file changed, 4 insertions(+)
> > > 
> > > diff --git a/tools/testing/selftests/drivers/usb/usbip/usbip_test.sh b/tools/testing/selftests/drivers/usb/usbip/usbip_test.sh
> > > index 128f0ab24307..beacf24a8df7 100755
> > > --- a/tools/testing/selftests/drivers/usb/usbip/usbip_test.sh
> > > +++ b/tools/testing/selftests/drivers/usb/usbip/usbip_test.sh
> > > @@ -171,10 +171,14 @@ echo "Detach invalid port tests - expect invalid port error message";
> > >   src/usbip detach -p 100;
> > >   echo "=============================================================="
> > > +# let detach complete. Avoid segfaults from libc-2.27.so
> > > +sleep 3;
> > 
> > That feels very "arbitrary", why do we "know" it will take at most 3
> > seconds?  I guess there's not much else we can do here except maybe
> > somehow watch sysfs until the device is really gone?
> > 
> 
> Yeah. Number 3 is somewhat arbitrary. It helps the host process the
> detach request from the client and update the sysfs. Detach returns
> as soon as client side is done, and the test is running the next
> command on the host side. If I were run these commands manually, it
> gives enough settling time. I am looking for a quick way to allow
> settling time in this automated test.

Ok, you might want to document that you know it's a random number :)

thanks,

greg k-h
Shuah Khan May 6, 2019, 3:18 p.m. UTC | #4
On 5/6/19 9:15 AM, Greg KH wrote:
> On Mon, May 06, 2019 at 08:47:15AM -0600, Shuah Khan wrote:
>> On 5/5/19 3:13 AM, Greg KH wrote:
>>> On Thu, May 02, 2019 at 01:47:40PM -0600, Shuah Khan wrote:
>>>> Add a sleep between detach and check for exportable devices to avoid
>>>> the following segfault from libc-2.27.so
>>>>
>>>> [ 6268.136108] usbip[5565]: segfault at 0 ip 00007f2a947bddfd sp 00007ffd1a8705e8 error 4 in libc-2.27.so[7f2a94703000+1e7000]
>>>>
>>>> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
>>>> ---
>>>>    tools/testing/selftests/drivers/usb/usbip/usbip_test.sh | 4 ++++
>>>>    1 file changed, 4 insertions(+)
>>>>
>>>> diff --git a/tools/testing/selftests/drivers/usb/usbip/usbip_test.sh b/tools/testing/selftests/drivers/usb/usbip/usbip_test.sh
>>>> index 128f0ab24307..beacf24a8df7 100755
>>>> --- a/tools/testing/selftests/drivers/usb/usbip/usbip_test.sh
>>>> +++ b/tools/testing/selftests/drivers/usb/usbip/usbip_test.sh
>>>> @@ -171,10 +171,14 @@ echo "Detach invalid port tests - expect invalid port error message";
>>>>    src/usbip detach -p 100;
>>>>    echo "=============================================================="
>>>> +# let detach complete. Avoid segfaults from libc-2.27.so
>>>> +sleep 3;
>>>
>>> That feels very "arbitrary", why do we "know" it will take at most 3
>>> seconds?  I guess there's not much else we can do here except maybe
>>> somehow watch sysfs until the device is really gone?
>>>
>>
>> Yeah. Number 3 is somewhat arbitrary. It helps the host process the
>> detach request from the client and update the sysfs. Detach returns
>> as soon as client side is done, and the test is running the next
>> command on the host side. If I were run these commands manually, it
>> gives enough settling time. I am looking for a quick way to allow
>> settling time in this automated test.
> 
> Ok, you might want to document that you know it's a random number :)
> 

Okay. Will do. I will send v2. :)

thanks,
-- Shuah
diff mbox series

Patch

diff --git a/tools/testing/selftests/drivers/usb/usbip/usbip_test.sh b/tools/testing/selftests/drivers/usb/usbip/usbip_test.sh
index 128f0ab24307..beacf24a8df7 100755
--- a/tools/testing/selftests/drivers/usb/usbip/usbip_test.sh
+++ b/tools/testing/selftests/drivers/usb/usbip/usbip_test.sh
@@ -171,10 +171,14 @@  echo "Detach invalid port tests - expect invalid port error message";
 src/usbip detach -p 100;
 echo "=============================================================="
 
+# let detach complete. Avoid segfaults from libc-2.27.so
+sleep 3;
+
 echo "Expect to see export-able devices";
 src/usbip list -l;
 echo "=============================================================="
 
+
 echo "Remove usbip_host module";
 rmmod usbip_host;