Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FRR pthread improvements #1672

Merged
merged 4 commits into from
Jan 26, 2018
Merged

Conversation

qlyoung
Copy link
Member

@qlyoung qlyoung commented Jan 24, 2018

Some work on FRR's pthread wrapper.

  • Provide a built-in way to synchronize thread startup
  • Make utility functions take frr_pthread * instead of its integer ID
  • Pass frr_pthread * as pthread start function argument
  • Correct some comment styling
  • Rename some variables to match naming conventions in the file
  • Change parameter ordering in stop function prototype to follow the
    convention in the other functions
  • Default new frr_pthreads to using a vanilla event loop

For the last point, the original goal when designing the implementation of
pthreads into FRR was to be able to use the thread.c event based system inside
pthreads. This code essentially encapuslates all the thread.c functionality
into an easy to use pthread out of the box. Creating a new frr_pthread with a
null attributes field will cause the created frr_pthread to run a thread.c
event loop. The upshot of this is that it is now possible to safely run
existing functions in a pthread in roughly 3 lines of code. It also serves as
an example / starting point for others.

In line with this change I also updated bgpd to make use of the new threading
facilities. In particular, all of the lifecycle code has been removed from the
I/O thread and replaced with the default loop. Did not do the same to the
keepalives thread as it is much smaller (doesn't need the event system).

Some work on FRR's pthread wrapper.

* Provide a built-in way to synchronize thread startup
* Make utility functions take frr_pthread * instead of its integer ID
* Pass frr_pthread * as pthread start function argument
* Correct some comment styling
* Rename some variables to match naming conventions in the file
* Change parameter ordering in stop function prototype to follow the
  convention in the other functions
* Default new frr_pthreads to using a vanilla event loop

For the last point, the original goal when designing the implementation
of pthreads into FRR was to be able to use the thread.c event based
system inside pthreads. This code essentially encapuslates all the
thread.c functionality into an easy to use pthread out of the box.
Creating a new frr_pthread with a null attributes field will cause the
created frr_pthread to run a thread.c event loop. The upshot of this is
that it is now possible to safely run existing functions in a pthread in
roughly 3 lines of code. It also serves as an example / starting point
for others.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Use the new threading facilities provided in lib/ to streamline the
threads used in bgpd. In particular, all of the lifecycle code has been
removed from the I/O thread and replaced with the default loop. Did not
do the same to the keepalives thread as it is much smaller (doesn't need
the event system).

Also cleaned up some comments to match the style guide.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
@qlyoung qlyoung force-pushed the frr-pthread-improvements branch from df9b438 to a715eab Compare January 24, 2018 20:37
@LabN-CI
Copy link
Collaborator

LabN-CI commented Jan 24, 2018

🛑 Basic BGPD CI results: FAILURE

Results table
_ _
Result 01/24/2018
Date 15:30:11
Start 15:37:12
Finish 07:01
Run-Time 61
Total 36
Pass 25
Fail 0
Valgrind-Errors 50
Valgrind-Loss 871
Details vncregress-2018-01-24-15:30:11.txt
Log autoscript-2018-01-24-15:30:47.log.bz2
FAILURE git merge/1672 df9b438 Crash -- 3 cores

For details, please contact louberger

@NetDEF-CI
Copy link
Collaborator

Continuous Integration Result: FAILED

See below for issues.
CI System Testrun URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2399/

This is a comment from an EXPERIMENTAL automated CI system.
For questions and feedback in regards to this CI system, please feel free to email
Martin Winter - mwinter (at) opensourcerouting.org.

Get source and apply patch from patchwork: Successful

Building Stage: Failed

OmniOS amd64 build: Successful

NetBSD6 amd64 build: Failed

DejaGNU Unittests (make check) failed for NetBSD6 amd64 build: (see full PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2399/artifact/CI007BUILD/ErrorLog/log_pytests.txt)

=================================== FAILURES ===================================
_____________________ TestAspath.test_4b_AS_PATH_too_long ______________________
self = <test_aspath.TestAspath object at 0x7f7ff1f67710>
    def testfunction(self):
        self._run_tests()
        result = self.testresults[matchfunction]
        if result is not None:
>           frrsix.reraise(*result)
helpers/python/frrtest.py:101: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
helpers/python/frrtest.py:76: in _run_tests
    test(self)
helpers/python/frrtest.py:94: in matchfunction
    method(self, *args, **kwargs)
bgpd/test_aspath.py:24: in _attrtest
    self._onesimple("aspath_attr test %d" % self.attrno)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
self = <test_aspath.TestAspath object at 0x7f7ff1f13850>
line = 'aspath_attr test 8'
    def _onesimple(self, line):
        if type(line) is str:
            line = line.encode('utf8')
        idx = self.output.find(line)
        if idx != -1:
            self.output = self.output[idx+len(line):]
        else:
>           raise MultiTestFailure("%r could not be found" % line)
E           MultiTestFailure: 'aspath_attr test 8' could not be found
helpers/python/frrtest.py:140: MultiTestFailure
__________________________ TestAspath.test_basic_test __________________________
self = <test_aspath.TestAspath object at 0x7f7ff1f75450>
    def testfunction(self):
        self._run_tests()
        result = self.testresults[matchfunction]
        if result is not None:
>           frrsix.reraise(*result)
helpers/python/frrtest.py:101: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
helpers/python/frrtest.py:76: in _run_tests
    test(self)
helpers/python/frrtest.py:94: in matchfunction
    method(self, *args, **kwargs)
bgpd/test_aspath.py:24: in _attrtest
    self._onesimple("aspath_attr test %d" % self.attrno)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
self = <test_aspath.TestAspath object at 0x7f7ff1f13850>
line = 'aspath_attr test 0'
    def _onesimple(self, line):
        if type(line) is str:
            line = line.encode('utf8')
        idx = self.output.find(line)
        if idx != -1:
            self.output = self.output[idx+len(line):]
        else:
>           raise MultiTestFailure("%r could not be found" % line)
E           MultiTestFailure: 'aspath_attr test 0' could not be found
helpers/python/frrtest.py:140: MultiTestFailure
_____________________ TestAspath.test_4b_AS_PATH_too_short _____________________
self = <test_aspath.TestAspath object at 0x7f7ff1fd0790>
    def testfunction(self):
        self._run_tests()
        result = self.testresults[matchfunction]
        if result is not None:
>           frrsix.reraise(*result)
helpers/python/frrtest.py:101: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
helpers/python/frrtest.py:76: in _run_tests
    test(self)
helpers/python/frrtest.py:94: in matchfunction
    method(self, *args, **kwargs)
bgpd/test_aspath.py:24: in _attrtest
    self._onesimple("aspath_attr test %d" % self.attrno)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
self = <test_aspath.TestAspath object at 0x7f7ff1f13850>
line = 'aspath_attr test 7'
    def _onesimple(self, line):
        if type(line) is str:
            line = line.encode('utf8')
        idx = self.output.find(line)
        if idx != -1:
            self.output = self.output[idx+len(line):]
        else:
>           raise MultiTestFailure("%r could not be found" % line)
E           MultiTestFailure: 'aspath_attr test 7' could not be found
helpers/python/frrtest.py:140: MultiTestFailure
_________________________ TestAspath.test_exit_cleanly _________________________
self = <test_aspath.TestAspath object at 0x7f7ff1b02610>
    def testfunction(self):
        self._run_tests()
        result = self.testresults[matchfunction]
        if result is not None:
>           frrsix.reraise(*result)
helpers/python/frrtest.py:101: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
helpers/python/frrtest.py:76: in _run_tests
    test(self)
helpers/python/frrtest.py:94: in matchfunction
    method(self, *args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
self = <test_aspath.TestAspath object at 0x7f7ff1f13850>
    def _exit_cleanly(self):

NetBSD6 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2399/artifact/CI007BUILD/config.status/config.status

CentOS7 amd64 build: Failed

DejaGNU Unittests (make check) failed for CentOS7 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2399/artifact/CI005BUILD/ErrorLog/log_pytests.txt
CentOS7 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2399/artifact/CI005BUILD/config.status/config.status

Debian8 amd64 build: Failed

DejaGNU Unittests (make check) failed for Debian8 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2399/artifact/CI008BLD/ErrorLog/log_pytests.txt
Debian8 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2399/artifact/CI008BLD/config.status/config.status

FreeBSD10 amd64 build: Failed

DejaGNU Unittests (make check) failed for FreeBSD10 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2399/artifact/CI003BUILD/ErrorLog/log_pytests.txt
FreeBSD10 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2399/artifact/CI003BUILD/config.status/config.status

Ubuntu1404 amd64 build: Failed

DejaGNU Unittests (make check) failed for Ubuntu1404 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2399/artifact/CI001BUILD/ErrorLog/log_pytests.txt
Ubuntu1404 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2399/artifact/CI001BUILD/config.status/config.status

OpenBSD60 amd64 build: Failed

DejaGNU Unittests (make check) failed for OpenBSD60 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2399/artifact/CI011BUILD/ErrorLog/log_pytests.txt
OpenBSD60 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2399/artifact/CI011BUILD/config.status/config.status

NetBSD7 amd64 build: Failed

DejaGNU Unittests (make check) failed for NetBSD7 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2399/artifact/CI012BUILD/ErrorLog/log_pytests.txt
NetBSD7 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2399/artifact/CI012BUILD/config.status/config.status

Ubuntu1604 amd64 build: Failed

DejaGNU Unittests (make check) failed for Ubuntu1604 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2399/artifact/CI014BUILD/ErrorLog/log_pytests.txt
Ubuntu1604 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2399/artifact/CI014BUILD/config.status/config.status

Fedora24 amd64 build: Failed

DejaGNU Unittests (make check) failed for Fedora24 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2399/artifact/CI015BUILD/ErrorLog/log_pytests.txt
Fedora24 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2399/artifact/CI015BUILD/config.status/config.status

FreeBSD11 amd64 build: Failed

DejaGNU Unittests (make check) failed for FreeBSD11 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2399/artifact/CI009BUILD/ErrorLog/log_pytests.txt
FreeBSD11 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2399/artifact/CI009BUILD/config.status/config.status

CentOS6 amd64 build: Failed

DejaGNU Unittests (make check) failed for CentOS6 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2399/artifact/CI006BUILD/ErrorLog/log_pytests.txt
CentOS6 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2399/artifact/CI006BUILD/config.status/config.status

FreeBSD9 amd64 build: Failed

DejaGNU Unittests (make check) failed for FreeBSD9 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2399/artifact/CI004BUILD/ErrorLog/log_pytests.txt
FreeBSD9 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2399/artifact/CI004BUILD/config.status/config.status

Debian9 amd64 build: Failed

Debian9 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2399/artifact/CI021BUILD/config.status/config.status
DejaGNU Unittests (make check) failed for Debian9 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2399/artifact/CI021BUILD/ErrorLog/log_pytests.txt

Ubuntu1204 amd64 build: Failed

DejaGNU Unittests (make check) failed for Ubuntu1204 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2399/artifact/CI002BUILD/ErrorLog/log_pytests.txt
Ubuntu1204 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2399/artifact/CI002BUILD/config.status/config.status

@LabN-CI
Copy link
Collaborator

LabN-CI commented Jan 24, 2018

🛑 Basic BGPD CI results: FAILURE

Results table
_ _
Result 01/24/2018
Date 15:40:09
Start 15:47:13
Finish 07:04
Run-Time 61
Total 36
Pass 25
Fail 0
Valgrind-Errors 50
Valgrind-Loss 871
Details vncregress-2018-01-24-15:40:09.txt
Log autoscript-2018-01-24-15:40:47.log.bz2
FAILURE git merge/1672 a715eab Crash -- 3 cores

For details, please contact louberger

@NetDEF-CI
Copy link
Collaborator

Continuous Integration Result: FAILED

See below for issues.
CI System Testrun URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2400/

This is a comment from an EXPERIMENTAL automated CI system.
For questions and feedback in regards to this CI system, please feel free to email
Martin Winter - mwinter (at) opensourcerouting.org.

Get source and apply patch from patchwork: Successful

Building Stage: Failed

OmniOS amd64 build: Successful

NetBSD6 amd64 build: Failed

DejaGNU Unittests (make check) failed for NetBSD6 amd64 build: (see full PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2400/artifact/CI007BUILD/ErrorLog/log_pytests.txt)

=================================== FAILURES ===================================
_____________________ TestAspath.test_4b_AS_PATH_too_long ______________________
self = <test_aspath.TestAspath object at 0x7f7ff1f67710>
    def testfunction(self):
        self._run_tests()
        result = self.testresults[matchfunction]
        if result is not None:
>           frrsix.reraise(*result)
helpers/python/frrtest.py:101: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
helpers/python/frrtest.py:76: in _run_tests
    test(self)
helpers/python/frrtest.py:94: in matchfunction
    method(self, *args, **kwargs)
bgpd/test_aspath.py:24: in _attrtest
    self._onesimple("aspath_attr test %d" % self.attrno)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
self = <test_aspath.TestAspath object at 0x7f7ff1f13850>
line = 'aspath_attr test 8'
    def _onesimple(self, line):
        if type(line) is str:
            line = line.encode('utf8')
        idx = self.output.find(line)
        if idx != -1:
            self.output = self.output[idx+len(line):]
        else:
>           raise MultiTestFailure("%r could not be found" % line)
E           MultiTestFailure: 'aspath_attr test 8' could not be found
helpers/python/frrtest.py:140: MultiTestFailure
__________________________ TestAspath.test_basic_test __________________________
self = <test_aspath.TestAspath object at 0x7f7ff1f75450>
    def testfunction(self):
        self._run_tests()
        result = self.testresults[matchfunction]
        if result is not None:
>           frrsix.reraise(*result)
helpers/python/frrtest.py:101: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
helpers/python/frrtest.py:76: in _run_tests
    test(self)
helpers/python/frrtest.py:94: in matchfunction
    method(self, *args, **kwargs)
bgpd/test_aspath.py:24: in _attrtest
    self._onesimple("aspath_attr test %d" % self.attrno)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
self = <test_aspath.TestAspath object at 0x7f7ff1f13850>
line = 'aspath_attr test 0'
    def _onesimple(self, line):
        if type(line) is str:
            line = line.encode('utf8')
        idx = self.output.find(line)
        if idx != -1:
            self.output = self.output[idx+len(line):]
        else:
>           raise MultiTestFailure("%r could not be found" % line)
E           MultiTestFailure: 'aspath_attr test 0' could not be found
helpers/python/frrtest.py:140: MultiTestFailure
_____________________ TestAspath.test_4b_AS_PATH_too_short _____________________
self = <test_aspath.TestAspath object at 0x7f7ff1fd0790>
    def testfunction(self):
        self._run_tests()
        result = self.testresults[matchfunction]
        if result is not None:
>           frrsix.reraise(*result)
helpers/python/frrtest.py:101: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
helpers/python/frrtest.py:76: in _run_tests
    test(self)
helpers/python/frrtest.py:94: in matchfunction
    method(self, *args, **kwargs)
bgpd/test_aspath.py:24: in _attrtest
    self._onesimple("aspath_attr test %d" % self.attrno)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
self = <test_aspath.TestAspath object at 0x7f7ff1f13850>
line = 'aspath_attr test 7'
    def _onesimple(self, line):
        if type(line) is str:
            line = line.encode('utf8')
        idx = self.output.find(line)
        if idx != -1:
            self.output = self.output[idx+len(line):]
        else:
>           raise MultiTestFailure("%r could not be found" % line)
E           MultiTestFailure: 'aspath_attr test 7' could not be found
helpers/python/frrtest.py:140: MultiTestFailure
_________________________ TestAspath.test_exit_cleanly _________________________
self = <test_aspath.TestAspath object at 0x7f7ff1b02610>
    def testfunction(self):
        self._run_tests()
        result = self.testresults[matchfunction]
        if result is not None:
>           frrsix.reraise(*result)
helpers/python/frrtest.py:101: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
helpers/python/frrtest.py:76: in _run_tests
    test(self)
helpers/python/frrtest.py:94: in matchfunction
    method(self, *args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
self = <test_aspath.TestAspath object at 0x7f7ff1f13850>
    def _exit_cleanly(self):

NetBSD6 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2400/artifact/CI007BUILD/config.status/config.status

CentOS7 amd64 build: Failed

DejaGNU Unittests (make check) failed for CentOS7 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2400/artifact/CI005BUILD/ErrorLog/log_pytests.txt
CentOS7 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2400/artifact/CI005BUILD/config.status/config.status

Debian8 amd64 build: Failed

DejaGNU Unittests (make check) failed for Debian8 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2400/artifact/CI008BLD/ErrorLog/log_pytests.txt
Debian8 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2400/artifact/CI008BLD/config.status/config.status

FreeBSD10 amd64 build: Failed

DejaGNU Unittests (make check) failed for FreeBSD10 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2400/artifact/CI003BUILD/ErrorLog/log_pytests.txt
FreeBSD10 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2400/artifact/CI003BUILD/config.status/config.status

Ubuntu1404 amd64 build: Failed

DejaGNU Unittests (make check) failed for Ubuntu1404 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2400/artifact/CI001BUILD/ErrorLog/log_pytests.txt
Ubuntu1404 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2400/artifact/CI001BUILD/config.status/config.status

OpenBSD60 amd64 build: Failed

DejaGNU Unittests (make check) failed for OpenBSD60 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2400/artifact/CI011BUILD/ErrorLog/log_pytests.txt
OpenBSD60 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2400/artifact/CI011BUILD/config.status/config.status

NetBSD7 amd64 build: Failed

DejaGNU Unittests (make check) failed for NetBSD7 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2400/artifact/CI012BUILD/ErrorLog/log_pytests.txt
NetBSD7 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2400/artifact/CI012BUILD/config.status/config.status

Ubuntu1604 amd64 build: Failed

DejaGNU Unittests (make check) failed for Ubuntu1604 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2400/artifact/CI014BUILD/ErrorLog/log_pytests.txt
Ubuntu1604 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2400/artifact/CI014BUILD/config.status/config.status

Fedora24 amd64 build: Failed

DejaGNU Unittests (make check) failed for Fedora24 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2400/artifact/CI015BUILD/ErrorLog/log_pytests.txt
Fedora24 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2400/artifact/CI015BUILD/config.status/config.status

FreeBSD11 amd64 build: Failed

DejaGNU Unittests (make check) failed for FreeBSD11 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2400/artifact/CI009BUILD/ErrorLog/log_pytests.txt
FreeBSD11 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2400/artifact/CI009BUILD/config.status/config.status

CentOS6 amd64 build: Failed

DejaGNU Unittests (make check) failed for CentOS6 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2400/artifact/CI006BUILD/ErrorLog/log_pytests.txt
CentOS6 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2400/artifact/CI006BUILD/config.status/config.status

FreeBSD9 amd64 build: Failed

DejaGNU Unittests (make check) failed for FreeBSD9 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2400/artifact/CI004BUILD/ErrorLog/log_pytests.txt
FreeBSD9 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2400/artifact/CI004BUILD/config.status/config.status

Debian9 amd64 build: Failed

Debian9 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2400/artifact/CI021BUILD/config.status/config.status
DejaGNU Unittests (make check) failed for Debian9 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2400/artifact/CI021BUILD/ErrorLog/log_pytests.txt

Ubuntu1204 amd64 build: Failed

DejaGNU Unittests (make check) failed for Ubuntu1204 amd64 build
Pytest output suppressed for verbosity. See failure on other Distro above
see PyTest log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2400/artifact/CI002BUILD/ErrorLog/log_pytests.txt
Ubuntu1204 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2400/artifact/CI002BUILD/config.status/config.status

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
@qlyoung
Copy link
Member Author

qlyoung commented Jan 24, 2018

Whoopsie, make check doesn't like asserts...had to update the tests.

@NetDEF-CI
Copy link
Collaborator

Continuous Integration Result: FAILED

See below for issues.
CI System Testrun URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2401/

This is a comment from an EXPERIMENTAL automated CI system.
For questions and feedback in regards to this CI system, please feel free to email
Martin Winter - mwinter (at) opensourcerouting.org.

Get source and apply patch from patchwork: Successful

Building Stage: Successful

Basic Tests: Failed

Debian 9 deb pkg check: Successful
IPv4 protocols on Ubuntu 14.04: Successful
CentOS 6 rpm pkg check: Successful
Static analyzer (clang): Successful
Ubuntu 12.04 deb pkg check: Successful
IPv6 protocols on Ubuntu 14.04: Successful
Ubuntu 16.04 deb pkg check: Successful
CentOS 7 rpm pkg check: Successful
IPv4 ldp protocol on Ubuntu 16.04: Successful
Ubuntu 14.04 deb pkg check: Successful
Addresssanitizer topotest: Successful
Debian 8 deb pkg check: Successful
Fedora 24 rpm pkg check: Successful

Topology tests on Ubuntu 16.04 amd64: Failed

Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPOU1604-2401/test

Topology Tests failed for Topology tests on Ubuntu 16.04 amd64:

r1: Daemon bgpd not running

r1: bgpd crashed. Core file found - Backtrace follows:
[New LWP 11056]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/lib/frr/bgpd'.
Program terminated with signal SIGABRT, Aborted.
#0  0x00007f94504ac428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#0  0x00007f94504ac428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#1  0x00007f94504ae02a in __GI_abort () at abort.c:89
#2  0x00007f94511b4344 in _zlog_assert_failed (assertion=assertion@entry=0x55b70c17997e "fpt->running", file=file@entry=0x55b70c17996d "bgp_keepalives.c", line=line@entry=255, function=function@entry=0x55b70c1799d0 <__func__.14956> "bgp_keepalives_off") at lib/log.c:710
#3  0x000055b70c12f448 in bgp_keepalives_off (peer=peer@entry=0x55b70d60aba0) at bgp_keepalives.c:255
#4  0x000055b70c092ef0 in bgp_timer_set (peer=peer@entry=0x55b70d60aba0) at bgp_fsm.c:391
#5  0x000055b70c0873ca in peer_create (su=su@entry=0x7ffed40e8ef0, conf_if=conf_if@entry=0x0, bgp=bgp@entry=0x55b70d5c1d10, local_as=100, remote_as=100, as_type=as_type@entry=1, afi=AFI_IP, safi=SAFI_UNICAST, group=0x0) at bgpd.c:1503
#6  0x000055b70c0877fe in peer_remote_as (bgp=bgp@entry=0x55b70d5c1d10, su=su@entry=0x7ffed40e8ef0, conf_if=conf_if@entry=0x0, as=as@entry=0x7ffed40e8eec, as_type=as_type@entry=1, afi=afi@entry=AFI_IP, safi=SAFI_UNICAST) at bgpd.c:1690
#7  0x000055b70c0d7971 in peer_remote_as_vty (afi=AFI_IP, safi=SAFI_UNICAST, as_str=0x55b70d60a8a0 "100", peer_str=0x55b70d60a940 "192.168.7.10", vty=<optimized out>) at bgp_vty.c:2676
#8  neighbor_remote_as (self=<optimized out>, vty=0x55b70d5be750, argc=<optimized out>, argv=<optimized out>) at bgp_vty.c:2720
#9  0x00007f945119951f in cmd_execute_command_real (vline=vline@entry=0x55b70d5b8970, vty=vty@entry=0x55b70d5be750, cmd=cmd@entry=0x0, filter=FILTER_STRICT) at lib/command.c:1036
#10 0x00007f945119b8ca in cmd_execute_command_strict (vline=vline@entry=0x55b70d5b8970, vty=vty@entry=0x55b70d5be750, cmd=cmd@entry=0x0) at lib/command.c:1134
#11 0x00007f945119b90b in command_config_read_one_line (vty=vty@entry=0x55b70d5be750, cmd=cmd@entry=0x0, use_daemon=use_daemon@entry=0) at lib/command.c:1165
#12 0x00007f945119ba6c in config_from_file (vty=vty@entry=0x55b70d5be750, fp=fp@entry=0x55b70d5be520, line_num=line_num@entry=0x7ffed40e905c) at lib/command.c:1212
#13 0x00007f94511d6ab5 in vty_read_file (confp=0x55b70d5be520) at lib/vty.c:2266
#14 vty_read_config (config_file=<optimized out>, config_default_dir=config_default_dir@entry=0x7f94514185a0 <config_default> "") at lib/vty.c:2448
#15 0x00007f94511b1687 in frr_config_fork () at lib/libfrr.c:728
#16 0x000055b70c07c484 in main (argc=1, argv=0x7ffed40ea2a8) at bgp_main.c:402

2018-01-24 13:20:01,771 ERROR: assert failed at "test_all_protocol_startup/test_router_running": r1: Daemon bgpd not running
assert 'r1: Daemon bgpd not running' == ''
  - r1: Daemon bgpd not running
r1: Daemon bgpd not running

r1: bgpd crashed. Core file found - Backtrace follows:
[New LWP 12402]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/lib/frr/bgpd'.
Program terminated with signal SIGABRT, Aborted.
#0  0x00007f85f125a428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#0  0x00007f85f125a428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#1  0x00007f85f125c02a in __GI_abort () at abort.c:89
#2  0x00007f85f1f62344 in _zlog_assert_failed (assertion=assertion@entry=0x5597dfbe497e "fpt->running", file=file@entry=0x5597dfbe496d "bgp_keepalives.c", line=line@entry=255, function=function@entry=0x5597dfbe49d0 <__func__.14956> "bgp_keepalives_off") at lib/log.c:710
#3  0x00005597dfb9a448 in bgp_keepalives_off (peer=peer@entry=0x5597e21b8be0) at bgp_keepalives.c:255
#4  0x00005597dfafdef0 in bgp_timer_set (peer=peer@entry=0x5597e21b8be0) at bgp_fsm.c:391
#5  0x00005597dfaf23ca in peer_create (su=su@entry=0x7ffdba5989e0, conf_if=conf_if@entry=0x0, bgp=bgp@entry=0x5597e216fd10, local_as=100, remote_as=99, as_type=as_type@entry=1, afi=AFI_IP, safi=SAFI_UNICAST, group=0x0) at bgpd.c:1503
#6  0x00005597dfaf27fe in peer_remote_as (bgp=bgp@entry=0x5597e216fd10, su=su@entry=0x7ffdba5989e0, conf_if=conf_if@entry=0x0, as=as@entry=0x7ffdba5989dc, as_type=as_type@entry=1, afi=afi@entry=AFI_IP, safi=SAFI_UNICAST) at bgpd.c:1690
#7  0x00005597dfb42971 in peer_remote_as_vty (afi=AFI_IP, safi=SAFI_UNICAST, as_str=0x5597e21b8930 "99", peer_str=0x5597e21b89d0 "10.0.1.101", vty=<optimized out>) at bgp_vty.c:2676
#8  neighbor_remote_as (self=<optimized out>, vty=0x5597e216c750, argc=<optimized out>, argv=<optimized out>) at bgp_vty.c:2720
#9  0x00007f85f1f4751f in cmd_execute_command_real (vline=vline@entry=0x5597e21616d0, vty=vty@entry=0x5597e216c750, cmd=cmd@entry=0x0, filter=FILTER_STRICT) at lib/command.c:1036
#10 0x00007f85f1f498ca in cmd_execute_command_strict (vline=vline@entry=0x5597e21616d0, vty=vty@entry=0x5597e216c750, cmd=cmd@entry=0x0) at lib/command.c:1134
#11 0x00007f85f1f4990b in command_config_read_one_line (vty=vty@entry=0x5597e216c750, cmd=cmd@entry=0x0, use_daemon=use_daemon@entry=0) at lib/command.c:1165
#12 0x00007f85f1f49a6c in config_from_file (vty=vty@entry=0x5597e216c750, fp=fp@entry=0x5597e216c520, line_num=line_num@entry=0x7ffdba598b4c) at lib/command.c:1212
#13 0x00007f85f1f84ab5 in vty_read_file (confp=0x5597e216c520) at lib/vty.c:2266
#14 vty_read_config (config_file=<optimized out>, config_default_dir=config_default_dir@entry=0x7f85f21c65a0 <config_default> "") at lib/vty.c:2448
#15 0x00007f85f1f5f687 in frr_config_fork () at lib/libfrr.c:728
#16 0x00005597dfae7484 in main (argc=1, argv=0x7ffdba599d98) at bgp_main.c:402

r4: Daemon bgpd not running

r4: bgpd crashed. Core file found - Backtrace follows:
[New LWP 13979]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/lib/frr/bgpd'.
Program terminated with signal SIGABRT, Aborted.
#0  0x00007f55d1223428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#0  0x00007f55d1223428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#1  0x00007f55d122502a in __GI_abort () at abort.c:89
#2  0x00007f55d1f2b344 in _zlog_assert_failed (assertion=assertion@entry=0x55d5faeec97e "fpt->running", file=file@entry=0x55d5faeec96d "bgp_keepalives.c", line=line@entry=255, function=function@entry=0x55d5faeec9d0 <__func__.14956> "bgp_keepalives_off") at lib/log.c:710
#3  0x000055d5faea2448 in bgp_keepalives_off (peer=peer@entry=0x55d5fc5a5930) at bgp_keepalives.c:255
#4  0x000055d5fae05ef0 in bgp_timer_set (peer=peer@entry=0x55d5fc5a5930) at bgp_fsm.c:391
#5  0x000055d5fadfa3ca in peer_create (su=su@entry=0x7ffe00f52250, conf_if=conf_if@entry=0x0, bgp=bgp@entry=0x55d5fc55cd10, local_as=5226, remote_as=5226, as_type=as_type@entry=1, afi=AFI_IP, safi=SAFI_UNICAST, group=0x0) at bgpd.c:1503
#6  0x000055d5fadfa7fe in peer_remote_as (bgp=bgp@entry=0x55d5fc55cd10, su=su@entry=0x7ffe00f52250, conf_if=conf_if@entry=0x0, as=as@entry=0x7ffe00f5224c, as_type=as_type@entry=1, afi=afi@entry=AFI_IP, safi=SAFI_UNICAST) at bgpd.c:1690
#7  0x000055d5fae4a971 in peer_remote_as_vty (afi=AFI_IP, safi=SAFI_UNICAST, as_str=0x55d5fc5a5630 "5226", peer_str=0x55d5fc5a56d0 "192.168.1.1", vty=<optimized out>) at bgp_vty.c:2676
#8  neighbor_remote_as (self=<optimized out>, vty=0x55d5fc559750, argc=<optimized out>, argv=<optimized out>) at bgp_vty.c:2720
#9  0x00007f55d1f1051f in cmd_execute_command_real (vline=vline@entry=0x55d5fc54e6d0, vty=vty@entry=0x55d5fc559750, cmd=cmd@entry=0x0, filter=FILTER_STRICT) at lib/command.c:1036
#10 0x00007f55d1f128ca in cmd_execute_command_strict (vline=vline@entry=0x55d5fc54e6d0, vty=vty@entry=0x55d5fc559750, cmd=cmd@entry=0x0) at lib/command.c:1134
#11 0x00007f55d1f1290b in command_config_read_one_line (vty=vty@entry=0x55d5fc559750, cmd=cmd@entry=0x0, use_daemon=use_daemon@entry=0) at lib/command.c:1165
#12 0x00007f55d1f12a6c in config_from_file (vty=vty@entry=0x55d5fc559750, fp=fp@entry=0x55d5fc559520, line_num=line_num@entry=0x7ffe00f523bc) at lib/command.c:1212
#13 0x00007f55d1f4dab5 in vty_read_file (confp=0x55d5fc559520) at lib/vty.c:2266
#14 vty_read_config (config_file=<optimized out>, config_default_dir=config_default_dir@entry=0x7f55d218f5a0 <config_default> "") at lib/vty.c:2448
#15 0x00007f55d1f28687 in frr_config_fork () at lib/libfrr.c:728
#16 0x000055d5fadef484 in main (argc=1, argv=0x7ffe00f53608) at bgp_main.c:402

r1: Daemon bgpd not running
r2: Daemon bgpd not running
r3: Daemon bgpd not running
ce3: Daemon bgpd not running
ce2: Daemon bgpd not running
ce1: Daemon bgpd not running
r1: Daemon bgpd not running

r1: bgpd crashed. Core file found - Backtrace follows:
[New LWP 14753]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/lib/frr/bgpd'.
Program terminated with signal SIGABRT, Aborted.
#0  0x00007f7f5c8c3428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#0  0x00007f7f5c8c3428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#1  0x00007f7f5c8c502a in __GI_abort () at abort.c:89
#2  0x00007f7f5d5cb344 in _zlog_assert_failed (assertion=assertion@entry=0x565140b2f97e "fpt->running", file=file@entry=0x565140b2f96d "bgp_keepalives.c", line=line@entry=255, function=function@entry=0x565140b2f9d0 <__func__.14956> "bgp_keepalives_off") at lib/log.c:710
#3  0x0000565140ae5448 in bgp_keepalives_off (peer=peer@entry=0x565142ba3dc0) at bgp_keepalives.c:255
#4  0x0000565140a48ef0 in bgp_timer_set (peer=peer@entry=0x565142ba3dc0) at bgp_fsm.c:391
#5  0x0000565140a3d3ca in peer_create (su=su@entry=0x7ffc66125bb0, conf_if=conf_if@entry=0x0, bgp=bgp@entry=0x565142b5ad30, local_as=100, remote_as=65001, as_type=as_type@entry=1, afi=AFI_IP, safi=SAFI_UNICAST, group=0x0) at bgpd.c:1503
#6  0x0000565140a3d7fe in peer_remote_as (bgp=bgp@entry=0x565142b5ad30, su=su@entry=0x7ffc66125bb0, conf_if=conf_if@entry=0x0, as=as@entry=0x7ffc66125bac, as_type=as_type@entry=1, afi=afi@entry=AFI_IP, safi=SAFI_UNICAST) at bgpd.c:1690
#7  0x0000565140a8d971 in peer_remote_as_vty (afi=AFI_IP, safi=SAFI_UNICAST, as_str=0x565142ba3b10 "65001", peer_str=0x565142ba3bb0 "172.16.1.1", vty=<optimized out>) at bgp_vty.c:2676
#8  neighbor_remote_as (self=<optimized out>, vty=0x565142b57750, argc=<optimized out>, argv=<optimized out>) at bgp_vty.c:2720
#9  0x00007f7f5d5b051f in cmd_execute_command_real (vline=vline@entry=0x565142b4c6d0, vty=vty@entry=0x565142b57750, cmd=cmd@entry=0x0, filter=FILTER_STRICT) at lib/command.c:1036
#10 0x00007f7f5d5b28ca in cmd_execute_command_strict (vline=vline@entry=0x565142b4c6d0, vty=vty@entry=0x565142b57750, cmd=cmd@entry=0x0) at lib/command.c:1134
#11 0x00007f7f5d5b290b in command_config_read_one_line (vty=vty@entry=0x565142b57750, cmd=cmd@entry=0x0, use_daemon=use_daemon@entry=0) at lib/command.c:1165
#12 0x00007f7f5d5b2a6c in config_from_file (vty=vty@entry=0x565142b57750, fp=fp@entry=0x565142b57520, line_num=line_num@entry=0x7ffc66125d1c) at lib/command.c:1212
#13 0x00007f7f5d5edab5 in vty_read_file (confp=0x565142b57520) at lib/vty.c:2266
#14 vty_read_config (config_file=<optimized out>, config_default_dir=config_default_dir@entry=0x7f7f5d82f5a0 <config_default> "") at lib/vty.c:2448
#15 0x00007f7f5d5c8687 in frr_config_fork () at lib/libfrr.c:728
#16 0x0000565140a32484 in main (argc=1, argv=0x7ffc66126f68) at bgp_main.c:402

2018-01-24 13:21:00,914 ERROR: assert failed at "test_bgp_multiview_topo1/test_router_running": r1: Daemon bgpd not running
assert 'r1: Daemon bgpd not running' == ''
  - r1: Daemon bgpd not running

see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2401/artifact/TOPOU1604/ErrorLog/log_topotests.txt

Topology Tests memory analysis: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2401/artifact/TOPOU1604/MemoryLeaks/

CLANG Static Analyzer Summary

  • Github Pull Request 1672, comparing to Git base SHA 872c4e9

No Changes in Static Analysis warnings compared to base

21 Static Analyzer issues remaining.

See details at
https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2401/artifact/shared/static_analysis/index.html

@louberger
Copy link
Member

seeing the following on startup:
Core was generated by `./bgpd -f ...'.
Program terminated with signal 6, Aborted.
[New process 16290]
#0 0x0000003acc432495 in raise () from /lib64/libc.so.6
(gdb) #0 0x0000003acc432495 in raise () from /lib64/libc.so.6
#1 0x0000003acc433c75 in abort () from /lib64/libc.so.6
#2 0x00000000004c56ff in _zlog_assert_failed (
assertion=0x51cdaf "fpt->running", file=0x51cd9e "bgp_keepalives.c",
line=255, function=0x51ce50 "bgp_keepalives_off") at lib/log.c:710
#3 0x00000000004a477a in bgp_keepalives_off (peer=0x28dd9f0)
at bgp_keepalives.c:255
#4 0x0000000000430749 in bgp_timer_set (peer=0x28dd9f0) at bgp_fsm.c:391
#5 0x00000000028dd9f0 in ?? ()
#6 0x0000000002879c60 in ?? ()
#7 0x00007ffcd0be4ef0 in ?? ()
#8 0x000000000042d5d5 in peer_create (su=,
conf_if=, bgp=0x7ffcd0be4e70, local_as=)
at bgpd.c:1503
#9 0x0000000000000000 in ?? ()
(gdb)

@louberger louberger closed this Jan 24, 2018
@louberger louberger reopened this Jan 24, 2018
@louberger
Copy link
Member

@qlyoung sorry about the close, hit wrong button!

If a peer already has keepalives turned on when asking to turn them on,
return immediately. Same thing for turning them off.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
@LabN-CI
Copy link
Collaborator

LabN-CI commented Jan 24, 2018

💚 Basic BGPD CI results: SUCCESS, 0 tests failed

Results table
_ _
Result SUCCESS git merge/1672 096476d
Date 01/24/2018
Start 17:50:10
Finish 18:13:11
Run-Time 23:01
Total 1805
Pass 1805
Fail 0
Valgrind-Errors 0
Valgrind-Loss 0
Details vncregress-2018-01-24-17:50:10.txt
Log autoscript-2018-01-24-17:50:52.log.bz2

For details, please contact louberger

@NetDEF-CI
Copy link
Collaborator

Continuous Integration Result: SUCCESSFUL

Congratulations, this patch passed basic tests

Tested-by: NetDEF / OpenSourceRouting.org CI System

CI System Testrun URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2403/

This is a comment from an EXPERIMENTAL automated CI system.
For questions and feedback in regards to this CI system, please feel free to email
Martin Winter - mwinter (at) opensourcerouting.org.


CLANG Static Analyzer Summary

  • Github Pull Request 1672, comparing to Git base SHA 872c4e9

No Changes in Static Analysis warnings compared to base

21 Static Analyzer issues remaining.

See details at
https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2403/artifact/shared/static_analysis/index.html

Copy link
Member

@riw777 riw777 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These changes look good to me, but it would be good to get a second set of eyes on them before merging.

@rwestphal rwestphal merged commit cbbb31b into FRRouting:master Jan 26, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants