Uploaded image for project: 'vpp'
  1. vpp
  2. VPP-1476

L2fib failures in master

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: High High
    • 19.01
    • 19.01
    • None
    • None
    • Linux fdio-cavium6 4.4.0-59-generic #80-Ubuntu SMP Fri Jan 6 17:37:14 UTC 2017 aarch64 aarch64 aarch64 GNU/Linux
      NAME="Ubuntu"
      VERSION="16.04.5 LTS (Xenial Xerus)"
      gcc (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609

      The debug build of vpp produces a core. Some gdb debugging is attached, but here's the gist of it:
      (gdb) down
      #10 0x0000ffff9b43c644 in pg_stream_fill (pg=0xffff9b7c0908 <pg_main>,
      s=0xffff5c166eac, n_buffers=256)
      at /home/jlinkes/vpp/src/vnet/pg/input.c:1284
      1284 ASSERT (l == e);
      (gdb) info locals
      l = 0
      e = 201
      bi = 0xffff5c02d1d4
      i = 281472212662768
      n_in_fifo = 0
      n_alloc = 256
      n_free = -6210407222506865408
      n_added = 2765958939180
      tail = 0xffff9ad17308 <vlib_global_main+392>
      start = 0xffff5b3ffa40
      end = 0xffff9b43d340 <pg_generate_packets+52>
      last_tail = 0xffff5ba2551c
      last_start = 0xffff5c197c00
      _FUNCTION_ = "pg_stream_fill"
      (gdb) p s->buffer_indices
      $9 = (pg_buffer_index_t *) 0xffff5c02d18c
      (gdb) p *bi
      $10 =

      {edits = 0x0, buffer_fifo = 0xffff5c199e14, free_list_index = 0 '\000'}

      (gdb) p *s->buffer_indices
      $11 =

      {edits = 0x0, buffer_fifo = 0xffff5c19ecb4, free_list_index = 0 '\000'}

      The assert fails because bi and s->buffer_indices each point to a different pg_buffer_index_t, if I understand it correctly.

      The test passes in x86 ubuntu1804 in ci, but fails in a variety of other environments. I observed this failure on x86 VMs - ubuntu 1604 and 1804, Debian 9 and then on ARM ubuntu 1604, 1804 (directly on host)

      ==============================================================================
      L2 FIB Test Case
      ==============================================================================
      L2 FIB - program 100 + 100 MACs OK
      L2 FIB - program 100 + delete 12 MACs ERROR [ temp dir used by test case: /tmp/vpp-unittest-TestL2fib-LEe3wc ]
      L2 FIB - flush all ERROR [ temp dir used by test case: /tmp/vpp-unittest-TestL2fib-LEe3wc ]
      L2 FIB - flush BD ERROR [ temp dir used by test case: /tmp/vpp-unittest-TestL2fib-LEe3wc ]
      L2 FIB - flush interface ERROR [ temp dir used by test case: /tmp/vpp-unittest-TestL2fib-LEe3wc ]
      L2 FIB - mac learning events FAIL [ temp dir used by test case: /tmp/vpp-unittest-TestL2fib-LEe3wc ]
      L2 FIB - mac learning max macs in event FAIL [ temp dir used by test case: /tmp/vpp-unittest-TestL2fib-LEe3wc ]
      L2 FIB - program 100 MACs ERROR [ temp dir used by test case: /tmp/vpp-unittest-TestL2fib-LEe3wc ]
      L2 FIB - Program 10 MACs, learn 10 ERROR [ temp dir used by test case: /tmp/vpp-unittest-TestL2fib-LEe3wc ]

      ==============================================================================
      ERROR: L2 FIB - program 100 + delete 12 MACs
      ------------------------------------------------------------------------------
      Traceback (most recent call last):
      File "/home/jlinkes/vpp/test/test_l2_fib.py", line 402, in test_l2_fib_delete12
      self.run_verify_test(bd_id, hosts, hosts)
      File "/home/jlinkes/vpp/test/test_l2_fib.py", line 354, in run_verify_test
      capture = i.get_capture()
      File "/home/jlinkes/vpp/test/vpp_pg_interface.py", line 240, in get_capture
      (len(capture.res), expected_count, name))
      Exception: Captured packets mismatch, captured 88 packets, expected 264 packets on pg0

      ==============================================================================
      ERROR: L2 FIB - flush all
      ------------------------------------------------------------------------------
      Traceback (most recent call last):
      File "/home/jlinkes/vpp/test/test_l2_fib.py", line 469, in test_l2_fib_flush_all
      self.run_verify_test(bd1, hosts, lhosts)
      File "/home/jlinkes/vpp/test/test_l2_fib.py", line 354, in run_verify_test
      capture = i.get_capture()
      File "/home/jlinkes/vpp/test/vpp_pg_interface.py", line 242, in get_capture
      raise Exception("No packets captured on %s" % name)
      Exception: No packets captured on pg0

      ==============================================================================
      ERROR: L2 FIB - flush BD
      ------------------------------------------------------------------------------
      Traceback (most recent call last):
      File "/home/jlinkes/vpp/test/test_l2_fib.py", line 453, in test_l2_fib_flush_bd
      self.run_verify_test(bd1, lhosts, hosts)
      File "/home/jlinkes/vpp/test/test_l2_fib.py", line 354, in run_verify_test
      capture = i.get_capture()
      File "/home/jlinkes/vpp/test/vpp_pg_interface.py", line 242, in get_capture
      raise Exception("No packets captured on %s" % name)
      Exception: No packets captured on pg0

      ==============================================================================
      ERROR: L2 FIB - flush interface
      ------------------------------------------------------------------------------
      Traceback (most recent call last):
      File "/home/jlinkes/vpp/test/test_l2_fib.py", line 439, in test_l2_fib_flush_int
      self.run_verify_test(bd1, lhosts, hosts)
      File "/home/jlinkes/vpp/test/test_l2_fib.py", line 354, in run_verify_test
      capture = i.get_capture()
      File "/home/jlinkes/vpp/test/vpp_pg_interface.py", line 242, in get_capture
      raise Exception("No packets captured on %s" % name)
      Exception: No packets captured on pg0

      ==============================================================================
      ERROR: L2 FIB - program 100 MACs
      ------------------------------------------------------------------------------
      Traceback (most recent call last):
      File "/home/jlinkes/vpp/test/test_l2_fib.py", line 391, in test_l2_fib_program100
      self.run_verify_test(bd_id, hosts, hosts)
      File "/home/jlinkes/vpp/test/test_l2_fib.py", line 354, in run_verify_test
      capture = i.get_capture()
      File "/home/jlinkes/vpp/test/vpp_pg_interface.py", line 242, in get_capture
      raise Exception("No packets captured on %s" % name)
      Exception: No packets captured on pg0

      ==============================================================================
      ERROR: L2 FIB - Program 10 MACs, learn 10
      ------------------------------------------------------------------------------
      Traceback (most recent call last):
      File "/home/jlinkes/vpp/test/test_l2_fib.py", line 427, in test_l2_fib_program10_learn10
      self.run_verify_test(bd1, lhosts, hosts)
      File "/home/jlinkes/vpp/test/test_l2_fib.py", line 354, in run_verify_test
      capture = i.get_capture()
      File "/home/jlinkes/vpp/test/vpp_pg_interface.py", line 242, in get_capture
      raise Exception("No packets captured on %s" % name)
      Exception: No packets captured on pg0

      ==============================================================================
      FAIL: L2 FIB - mac learning events
      ------------------------------------------------------------------------------
      Traceback (most recent call last):
      File "/home/jlinkes/vpp/test/test_l2_fib.py", line 495, in test_l2_fib_mac_learn_evs
      self.assertEqual(len(learned_macs ^ macs), 0)
      AssertionError: 40 != 0

      ==============================================================================
      FAIL: L2 FIB - mac learning max macs in event
      ------------------------------------------------------------------------------
      Traceback (most recent call last):
      File "/home/jlinkes/vpp/test/test_l2_fib.py", line 512, in test_l2_fib_macs_learn_max
      self.assertGreater(len(evs), 0)
      AssertionError: 0 not greater than 0

      Ran 9 tests in 77.590s

      FAILED (failures=2, errors=6)

        1. TestL2fib.tgz
          464 kB
        2. gdb.txt
          14 kB

            sk1u06b3 Pavel Kotucek
            juraj.linkes Juraj Linkeš
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: