Bug 62 - Rawdev autotest fails
Summary: Rawdev autotest fails
Status: RESOLVED WONTFIX
Alias: None
Product: DPDK
Classification: Unclassified
Component: other (show other bugs)
Version: 18.05
Hardware: All All
: Normal normal
Target Milestone: ---
Assignee: Shreyansh Jain
URL:
Depends on:
Blocks:
 
Reported: 2018-06-15 13:22 CEST by reshma pattan
Modified: 2018-07-17 13:49 CEST (History)
1 user (show)



Attachments

Description reshma pattan 2018-06-15 13:22:58 CEST
Rawdev autotest fails when run via sanity script "autotest.py"

*DPDK version:

*git repo -> latest dpdk-dpdk , last commit id: 2077a158e22451144d1b023f949f3232cfa62b3
*OS: Fedora27, Centos7, Ubuntu17.10, FreeBSD

*Compiler: GCC

*32 bit compiler for Fedora27, Centos7, Ubuntu17.10
*64 bit compiler for Fedora27, Centos7, Ubuntu17.10 and FreeBSD

Test Setup: Bare metal with Ubuntu 17.10, Guest VM with centos 7 OS and Fedora27,FreeBSD

Steps to reproduce

Run Sanity script as below, found " Rawdev autotest: Fail "
./autotest.py ./build/app/test all

screen dump for the sanity:
Rawdev autotest: Fail [00m 00s]

Expected Result
Test should succeed with no errors
Comment 1 Shreyansh Jain 2018-06-21 15:43:00 CEST
@Reshma,
Can you please confirm this once again.
As per my understanding, until the test is added as part of groups in autotest_data.py, it won't be part of all. Rawdev tests are not added to autotest_data.
Further, if I run the test standalone, it works fine:

---
# ./build/test/test/test
EAL: Detected 4 lcore(s)
EAL: Detected 1 NUMA nodes
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Probing VFIO support...
EAL: PCI device 0000:00:19.0 on NUMA socket -1
EAL:   Invalid NUMA socket, default to 0
EAL:   probe driver: 8086:1502 net_e1000_em
APP: HPET is not enabled, using TSC as default timer
RTE>>rawdev_autotest
skeleton_rawdev_probe(): Init rawdev_skeleton on NUMA node 0
rte_rawdev_socket_id(): Invalid dev_id=10
skeleton_rawdev_remove(): Closing rawdev_skeleton on NUMA node 0
Total tests   : 11
Passed        : 11
Failed        : 0
Not supported : 0
Test OK
RTE>>
---

If I run " ./test/test/autotest.py ./x86_64-native-linuxapp-gcc/build/test/test/test all", rawdev_autotest is not executed. Am I missing something?

I am working on ce819b84 SHA of master.
Comment 2 reshma pattan 2018-06-21 16:03:42 CEST
Hi Shreyansh,

As part of autotest enhancement rawdev_autotest also added to list.
These auto test enhancements patches are not applied to DPDK yet. 

http://patches.dpdk.org/project/dpdk/list/?\aseries=&submitter=1024&state=*&q=&archive=both&delegate=

'v4 app/test:' patches can you apply and run auto test and cross check the behaviour. 

Thanks,
Reshma
Comment 3 Shreyansh Jain 2018-06-22 08:56:08 CEST
So, it seems that rawdev tests are not returning appropriate value back to autotest scripts which results in it to Fail:



--->8---
$ make test-fast
...
...
$ cat x86_64-native-linuxapp-gcc.log
...
...
-------------------- Rawdev autotest

rawdev_autotest

-------------------- Kvargs autotest

kvargs_autotest
rawdev_autotest
skeleton_rawdev_probe(): Init rawdev_skeleton on NUMA node 0
rte_rawdev_socket_id(): Invalid dev_id=10
skeleton_rawdev_remove(): Closing rawdev_skeleton on NUMA node 0
Total tests   : 11
Passed        : 11
Failed        : 0
Not supported : 0
Test OK
RTE>>kvargs_autotest
--->8---

And I also don't know why the logs for rawdev are interleaved with kvargs - probably that is parallel execution of test cases belonging to a particular group "group_4".

I will investigate the return values of the test.
Comment 4 Shreyansh Jain 2018-06-22 12:57:46 CEST
This seems to be a problem with ordering or grouping of tests.
If I reorder the tests in the autotest_data.py, the results are like:

--->8---
Event eth rx adapter autotest:Fail [Test returns Skipped]  [00m 00s]
Kvargs autotest:              Fail                         [00m 00s]
Rawdev autotest:              Success                      [00m 00s]
Dump physmem:                 Skipped [Not Available]      [00m 00s]
--->8---

In this case, the only change done was:

--->8---
diff --git a/test/test/autotest_data.py b/test/test/autotest_data.py
index 2c6828d9e..5cba68101 100755
--- a/test/test/autotest_data.py
+++ b/test/test/autotest_data.py
@@ -301,14 +301,14 @@ def per_sockets(num):
                 "Report":  None,
             },
             {
-                "Name":    "Rawdev autotest",
-                "Command": "rawdev_autotest",
+                "Name":    "Kvargs autotest",
+                "Command": "kvargs_autotest",
                 "Func":    default_autotest,
                 "Report":  None,
             },
             {
-                "Name":    "Kvargs autotest",
-                "Command": "kvargs_autotest",
+                "Name":    "Rawdev autotest",
+                "Command": "rawdev_autotest",
                 "Func":    default_autotest,
                 "Report":  None,
             },
--->8---

That is, swap kvargs with rawdev.
This indicates that issue might be with the 'event_eth_rx_adapter_autotest'. If the kvargs and rawdev are moved above this test in group, both succeed:

--->8---
Kvargs autotest:              Success                      [00m 00s]
Rawdev autotest:              Success                      [00m 00s]
Event eth rx adapter autotest:Fail [Test returns Skipped]  [00m 00s]
--->8---
Comment 5 Shreyansh Jain 2018-07-05 11:20:07 CEST
On Friday 15 June 2018 04:52 PM, bugzilla@dpdk.org wrote:
> https://dpdk.org/tracker/show_bug.cgi?id=62
> 
>              Bug ID: 62
>             Summary: Rawdev autotest fails
>             Product: DPDK
>             Version: 18.05
>            Hardware: All
>                  OS: All
>              Status: CONFIRMED
>            Severity: normal
>            Priority: Normal
>           Component: other
>            Assignee: dev@dpdk.org
>            Reporter: reshma.pattan@intel.com
>    Target Milestone: ---
> 
> Rawdev autotest fails when run via sanity script "autotest.py"
> 
> *DPDK version:
> 
> *git repo -> latest dpdk-dpdk , last commit id:
> 2077a158e22451144d1b023f949f3232cfa62b3
> *OS: Fedora27, Centos7, Ubuntu17.10, FreeBSD
> 
> *Compiler: GCC
> 
> *32 bit compiler for Fedora27, Centos7, Ubuntu17.10
> *64 bit compiler for Fedora27, Centos7, Ubuntu17.10 and FreeBSD
> 
> Test Setup: Bare metal with Ubuntu 17.10, Guest VM with centos 7 OS and
> Fedora27,FreeBSD
> 
> Steps to reproduce
> 
> Run Sanity script as below, found " Rawdev autotest: Fail "
> ./autotest.py ./build/app/test all
> 
> screen dump for the sanity:
> Rawdev autotest: Fail [00m 00s]
> 
> Expected Result
> Test should succeed with no errors
> 

This issue occurs only when the patches from Jananee [1] are applied - 
which are essentially adding many missing tests to autotest list.

Though the bug states that rawdev_autotest is failing, it is actually 
some other issue in the autotest_data.py. In case the order of tests 
just after 'event_eth_rx_adapter_autotest' is changed, the failure state 
shifts to that test which comes just after 'event_eth_rx_adapter_autotest'.

On Master + patches from Jananee

--->8---
Event eth rx adapter autotest:Fail [Test returns Skipped]  [00m 00s]
Rawdev autotest:              Fail                         [00m 00s]
Kvargs autotest:              Success                      [00m 00s]
Dump physmem:                 Skipped [Not Available]      [00m 00s]
--->8---

With shuffling of tests case after 'event_eth_rx_adapter_autotest':

--->8---
Event eth rx adapter autotest:Fail [Test returns Skipped]  [00m 00s]
Kvargs autotest:              Fail                         [00m 00s]
Rawdev autotest:              Success                      [00m 00s]
Dump physmem:                 Skipped [Not Available]      [00m 00s]
--->8---

If I completely remove 'event_eth_rx_adapter_autotest', both kvargs and 
devargs succeed.

--->8---
Kvargs autotest:              Success                      [00m 00s]
Rawdev autotest:              Success                      [00m 00s]
Dump physmem:                 Skipped [Not Available]      [00m 00s]
--->8---

Though the data and its format in autotest_data.py looks fine to me, I 
am not the best person for that - can someone give a hint what else 
should I check?

Details also available in bugzilla [2].

[1] http://patches.dpdk.org/patch/40370/
[2] https://bugs.dpdk.org/show_bug.cgi?id=62

-
Shreyansh
Comment 6 reshma pattan 2018-07-17 13:45:32 CEST
Yes looks like your observations are correct.
Rawdev autotests works now manually and from autotest works fine by below set of patches which have latest improvements to the autotest framework.  Ordering of the test cases is improved now by removing non autotest UT. 

We can close this issue now.


http://patches.dpdk.org/patch/43130/
http://patches.dpdk.org/patch/43131/
http://patches.dpdk.org/patch/43132/
http://patches.dpdk.org/patch/43133/
http://patches.dpdk.org/patch/43134/
http://patches.dpdk.org/patch/43135/
http://patches.dpdk.org/patch/43136/
http://patches.dpdk.org/patch/43138/
http://patches.dpdk.org/patch/43137/

Thanks,
Reshma
Comment 7 reshma pattan 2018-07-17 13:48:29 CEST
There is no issue in the reported Rawdev UT , instead issue in the autotest framework and ordering of the tests.
Comment 8 reshma pattan 2018-07-17 13:48:48 CEST
Yes looks like your observations are correct.
Rawdev autotests works now manually and from autotest works fine by below set of patches which have latest improvements to the autotest framework.  Ordering of the test cases is improved now by removing non autotest UT. 

We can close this issue now.


http://patches.dpdk.org/patch/43130/
http://patches.dpdk.org/patch/43131/
http://patches.dpdk.org/patch/43132/
http://patches.dpdk.org/patch/43133/
http://patches.dpdk.org/patch/43134/
http://patches.dpdk.org/patch/43135/
http://patches.dpdk.org/patch/43136/
http://patches.dpdk.org/patch/43138/
http://patches.dpdk.org/patch/43137/

Thanks,
Reshma
Comment 9 reshma pattan 2018-07-17 13:49:44 CEST
Yes looks like your observations are correct.
Rawdev autotests works now manually and from autotest works fine by below set of patches which have latest improvements to the autotest framework.  Ordering of the test cases is improved now by removing non autotest UT. 

We can close this issue now.


http://patches.dpdk.org/patch/43130/
http://patches.dpdk.org/patch/43131/
http://patches.dpdk.org/patch/43132/
http://patches.dpdk.org/patch/43133/
http://patches.dpdk.org/patch/43134/
http://patches.dpdk.org/patch/43135/
http://patches.dpdk.org/patch/43136/
http://patches.dpdk.org/patch/43138/
http://patches.dpdk.org/patch/43137/

Thanks,
Reshma

Note You need to log in before you can comment on or make changes to this bug.