-
Bug
-
Resolution: Done
-
High
-
19.01
-
None
-
None
-
Linux fdio-cavium4 4.15.0-38-generic #41-Ubuntu SMP Wed Oct 10 10:59:31 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux
NAME="Ubuntu"
VERSION="18.04.1 LTS (Bionic Beaver)"
gcc version 7.3.0 (Ubuntu/Linaro 7.3.0-27ubuntu1~18.04)
Session Unit Tests result in crash:
==============================================================================
Session Unit Tests Case
==============================================================================
02:22:49,744 Child test runner process unresponsive and core-file exists in test temporary directory (last test running was `Session Unit Tests' in `/tmp/vpp-unittest-TestSessionUnitTests-X7zgLf')!
02:22:49,749 Creating a link to the failed test: /tmp/vpp-failed-unittests/vpp-unittest-TestSessionUnitTests-X7zgLf-FAILED -> vpp-unittest-TestSessionUnitTests-X7zgLf
02:22:49,750 Core-file exists in test temporary directory: /tmp/vpp-unittest-TestSessionUnitTests-X7zgLf/core!
02:22:49,786 Copying api_post_mortem.65481 to /tmp/vpp-unittest-TestSessionUnitTests-X7zgLf
VPP core detected in /tmp/vpp-unittest-TestSessionUnitTests-X7zgLf. Last test running was 'Session Unit Tests' (test_session.TestSessionUnitTests.test_session)
The problem is with VPP trying to access inaccessible memory:
(gdb)
#10 0x0000ffff50726cf0 in stream_session_is_valid (si=0,
thread_index=210 '\322')
at /home/jlinkes/vpp/src/vnet/session/session.h:324
324 s = pool_elt_at_index (session_manager_main.wrk[thread_index].sessions, si);
(gdb) p session_manager_main.wrk[thread_index].sessions
$1 = (stream_session_t *) 0x0
(gdb) p session_manager_main.wrk[thread_index].sessions[0]
Cannot access memory at address 0x0
I tried this multiple times and sometimes the address is 0x0 and sometimes it's 0x1313131313131313. It's 100% reproducible.
This patch introduced this failure: https://gerrit.fd.io/r/#/c/15733/