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

isis: fix crash in isis_spf_process_lsp #10970

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

louis-6wind
Copy link
Contributor

#0 raise (sig=) at ../sysdeps/unix/sysv/linux/raise.c:51
#1 0x00007f48a576db78 in core_handler (signo=11, siginfo=0x7ffeee4f2b30, context=0x7ffeee4f2a00) at lib/sigevent.c:262
#2
#3 0x000055aded0d793a in isis_spf_process_lsp (spftree=0x55adee945120, lsp=0x55adee971800, cost=3, depth=1, root_sysid=0x55adee9451ac "", parent=0x55adee9474c0) at isisd/isis_spf.c:887
#4 0x000055aded0d9bd1 in isis_spf_loop (spftree=0x55adee945120, root_sysid=0x55adee9451ac "") at isisd/isis_spf.c:1679
#5 0x000055aded0d9fd1 in isis_run_spf (spftree=0x55adee945120) at isisd/isis_spf.c:1798
#6 0x000055aded0bad65 in isis_spf_run_neighbors (spftree=0x55adee962220) at isisd/isis_lfa.c:1259
#7 0x000055aded0bd896 in isis_spf_run_lfa (area=0x55adee95e200, spftree=0x55adee962220) at isisd/isis_lfa.c:2291
#8 0x000055aded0da0f2 in isis_run_spf_with_protection (area=0x55adee95e200, spftree=0x55adee962220) at isisd/isis_spf.c:1817
#9 0x000055aded0da350 in isis_run_spf_cb (thread=0x7ffeee4f3330) at isisd/isis_spf.c:1870
#10 0x00007f48a5786dcc in thread_call (thread=0x7ffeee4f3330) at lib/thread.c:2002
#11 0x00007f48a57213ee in frr_run (master=0x55adee6cdb40) at lib/libfrr.c:1196
#12 0x000055aded0acda2 in main (argc=2, argv=0x7ffeee4f3548, envp=0x7ffeee4f3560) at isisd/isis_main.c:273

Signed-off-by: Louis Scalbert [email protected]

@frrbot frrbot bot added the bugfix label Apr 5, 2022
@@ -1109,7 +1109,8 @@ static int isis_spf_process_lsp(struct isis_spftree *spftree,

if (fragnode) {
lsp = listgetdata(fragnode);
goto lspfragloop;
if (lsp->tlvs)
Copy link
Contributor

Choose a reason for hiding this comment

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

so it looks as if this new test may terminate the iteration through the list of "fragnodes". is that ... correct?

Copy link
Contributor Author

@louis-6wind louis-6wind May 24, 2022

Choose a reason for hiding this comment

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

It was not. I have corrected that

Copy link
Contributor

Choose a reason for hiding this comment

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

As I understand this while loop will find the next non-empty fragment (i.e. with > 0 number of TLVs). And as soon as it finds it, breaks the loop and then goes back to the label 'lspfragloop' to process the fragment.

Like said before, I don't see a reason as to why will there be a fragment with zero TLVs in it in the first place. If this LSP/fragment is being originated by another instance of FRR code on a remote router, we need to fix the FRR ISIS LSP origination code.

Copy link
Contributor

Choose a reason for hiding this comment

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

Otherwise these changes look good.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

As I understand this while loop will find the next non-empty fragment (i.e. with > 0 number of TLVs). And as soon as it finds it, breaks the loop and then goes back to the label 'lspfragloop' to process the fragment.

Like said before, I don't see a reason as to why will there be a fragment with zero TLVs in it in the first place. If this LSP/fragment is being originated by another instance of FRR code on a remote router, we need to fix the FRR ISIS LSP origination code.

not originating from another FRR instance

@pushpasis pushpasis self-assigned this Apr 5, 2022
Copy link
Contributor

@pushpasis pushpasis left a comment

Choose a reason for hiding this comment

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

While the fix looks very simple, please find some comments seeking clarification that will help me understand this fix better.

isisd/isis_spf.c Outdated
@@ -1109,7 +1109,8 @@ static int isis_spf_process_lsp(struct isis_spftree *spftree,

if (fragnode) {
lsp = listgetdata(fragnode);
goto lspfragloop;
if (lsp->tlvs)
goto lspfragloop;
Copy link
Contributor

Choose a reason for hiding this comment

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

While the fix for the crash looks good. But this will also mean that the processing will stop at the first fragment that does not have any fragment. What are the possibilities that a fragment has no TLVs in it. And then what are the possibilities that such a blank fragment is followed by a non-empty fragment in the fragment list.

Copy link
Contributor

Choose a reason for hiding this comment

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

Also its not clear under which exact scenario did this crash ocurr?

Copy link
Contributor Author

@louis-6wind louis-6wind May 24, 2022

Choose a reason for hiding this comment

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

The crash happens with "redistribute bgp" and exabgp is stopped while injecting routes to frr.

Copy link
Contributor

Choose a reason for hiding this comment

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

Does this crash happens on the same router where BGP routes are being redistributed into ISIS? Anyways stopping exabgp while injecting routes to for should not cause any LSP fragments to have zero TLVs. In my opinion along with this fix we need to fix the case where LSPs do not have any TLVs in it.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Does this crash happens on the same router where BGP routes are being redistributed into ISIS?

yes

Anyways stopping exabgp while injecting routes to for should not cause any LSP fragments to have zero TLVs.

It is a exabgp issue. It means that this condition causes a denial of service

In my opinion along with this fix we need to fix the case where LSPs do not have any TLVs in it.

My fix deals with this case

There is that at the beginning of the function. If no tlv, return. The previous patch was not so bad

	if (!lsp->tlvs)
		return ISIS_OK;

Copy link
Contributor

Choose a reason for hiding this comment

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

What do you mean by exabgp issue? Is exabgp generating these empty ISIS LSP fragments? Not to my understanding. If these routes are learnt by FRR bgpd over a peering session with exabgp and then getting redistributed into ISIS, then this is still a ISISd LSP generation issue. If my assumptions are correct here, your fix is more like a hack and not the right fix.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

You are right. The issue is the generation of LSP.

Copy link
Contributor

Choose a reason for hiding this comment

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

@louis-6wind Can you fix the issue in geeneration of LSP as well. Your current fix can remain as well.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It appears with the introduction of classic LFA and when it is on. I have no time to investigate at the moment. I will try later

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@pushpasis I did not find the root cause of this issue. However, this fix is necessary anyway.

Please review it

@NetDEF-CI
Copy link
Collaborator

NetDEF-CI commented Apr 5, 2022

Continuous Integration Result: SUCCESSFUL

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-PULLREQ2-4667/

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

@NetDEF-CI
Copy link
Collaborator

NetDEF-CI commented May 24, 2022

Continuous Integration Result: FAILED

Continuous Integration Result: FAILED

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

This is a comment from an 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 / Pull Request: Successful

Building Stage: Failed

Redhat 8 amd64 build: Failed (click for details) Redhat 8 amd64 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/REDHAT8/config.log/config.log.gz

Make failed for Redhat 8 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/REDHAT8/ErrorLog/log_make.txt)

In file included from isisd/isis_spf.c:28:
isisd/isis_spf.c: In function isis_spf_process_lsp:
./lib/linklist.h:64:44: error: statement with no effect [-Werror=unused-value]
 #define listnextnode(X) ((X) ? ((X)->next) : NULL)
isisd/isis_spf.c:1114:3: note: in expansion of macro listnextnode
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10309: isisd/isis_spf.o] Error 1
In file included from isisd/isis_spf.c:28:
isisd/isis_spf.c: In function isis_spf_process_lsp:

Redhat 8 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/REDHAT8/config.status/config.status

Fedora 29 amd64 build: Failed (click for details)

Make failed for Fedora 29 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/F29BUILD/ErrorLog/log_make.txt)

In file included from isisd/isis_spf.c:28:
isisd/isis_spf.c: In function isis_spf_process_lsp:
./lib/linklist.h:64:44: error: statement with no effect [-Werror=unused-value]
 #define listnextnode(X) ((X) ? ((X)->next) : NULL)
isisd/isis_spf.c:1114:3: note: in expansion of macro listnextnode
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10309: isisd/isis_spf.o] Error 1
In file included from isisd/isis_spf.c:28:
isisd/isis_spf.c: In function isis_spf_process_lsp:

Fedora 29 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/F29BUILD/config.status/config.status
Fedora 29 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/F29BUILD/config.log/config.log.gz

Debian 10 amd64 build: Failed (click for details) Debian 10 amd64 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/DEB10BUILD/config.log/config.log.gz

Make failed for Debian 10 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/DEB10BUILD/ErrorLog/log_make.txt)

In file included from isisd/isis_spf.c:28:
isisd/isis_spf.c: In function isis_spf_process_lsp:
./lib/linklist.h:64:44: error: statement with no effect [-Werror=unused-value]
 #define listnextnode(X) ((X) ? ((X)->next) : NULL)
isisd/isis_spf.c:1114:3: note: in expansion of macro listnextnode
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10310: isisd/isis_spf.o] Error 1
In file included from isisd/isis_spf.c:28:
isisd/isis_spf.c: In function isis_spf_process_lsp:

Debian 10 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/DEB10BUILD/config.status/config.status

FreeBSD 11 amd64 build: Failed (click for details)

Make failed for FreeBSD 11 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/CI009BUILD/ErrorLog/log_make.txt)

In file included from isisd/isis_spf.c:28:
isisd/isis_spf.c: In function 'isis_spf_process_lsp':
./lib/linklist.h:64:44: error: statement with no effect [-Werror=unused-value]
isisd/isis_spf.c:1114:3: note: in expansion of macro 'listnextnode'
 1114 |   listnextnode(fragnode);
cc1: all warnings being treated as errors
gmake[1]: *** [Makefile:10312: isisd/isis_spf.o] Error 1
In file included from isisd/isis_spf.c:28:
isisd/isis_spf.c: In function 'isis_spf_process_lsp':

FreeBSD 11 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/CI009BUILD/config.status/config.status
FreeBSD 11 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/CI009BUILD/config.log/config.log.gz

Ubuntu 22.04 amd64 build: Failed (click for details) Ubuntu 22.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/U22AMD64BUILD/config.status/config.status

Make failed for Ubuntu 22.04 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/U22AMD64BUILD/ErrorLog/log_make.txt)

In file included from isisd/isis_spf.c:28:
isisd/isis_spf.c: In function isis_spf_process_lsp:
./lib/linklist.h:64:44: error: statement with no effect [-Werror=unused-value]
isisd/isis_spf.c:1114:17: note: in expansion of macro listnextnode
 1114 |                 listnextnode(fragnode);
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10313: isisd/isis_spf.o] Error 1
In file included from isisd/isis_spf.c:28:
isisd/isis_spf.c: In function isis_spf_process_lsp:

Ubuntu 22.04 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/U22AMD64BUILD/config.log/config.log.gz

Ubuntu 20.04 amd64 build: Failed (click for details) Ubuntu 20.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/U2004AMD64BUILD/config.status/config.status

Make failed for Ubuntu 20.04 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/U2004AMD64BUILD/ErrorLog/log_make.txt)

In file included from isisd/isis_spf.c:28:
isisd/isis_spf.c: In function isis_spf_process_lsp:
./lib/linklist.h:64:44: error: statement with no effect [-Werror=unused-value]
isisd/isis_spf.c:1114:3: note: in expansion of macro listnextnode
 1114 |   listnextnode(fragnode);
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10310: isisd/isis_spf.o] Error 1
In file included from isisd/isis_spf.c:28:
isisd/isis_spf.c: In function isis_spf_process_lsp:

Ubuntu 20.04 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/U2004AMD64BUILD/config.log/config.log.gz

Debian 9 amd64 build: Failed (click for details)

Make failed for Debian 9 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/CI021BUILD/ErrorLog/log_make.txt)

In file included from isisd/isis_spf.c:28:0:
isisd/isis_spf.c: In function isis_spf_process_lsp:
./lib/linklist.h:64:44: error: statement with no effect [-Werror=unused-value]
 #define listnextnode(X) ((X) ? ((X)->next) : NULL)
isisd/isis_spf.c:1114:3: note: in expansion of macro listnextnode
cc1: all warnings being treated as errors
Makefile:9650: recipe for target 'isisd/isis_spf.o' failed
make[1]: *** [isisd/isis_spf.o] Error 1
In file included from isisd/isis_spf.c:28:0:

Debian 9 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/CI021BUILD/config.status/config.status
Debian 9 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/CI021BUILD/config.log/config.log.gz

Ubuntu 16.04 arm7 build: Failed (click for details) Ubuntu 16.04 arm7 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/CI101BUILD/config.status/config.status Ubuntu 16.04 arm7 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/CI101BUILD/config.log/config.log.gz

Make failed for Ubuntu 16.04 arm7 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/CI101BUILD/ErrorLog/log_make.txt)

In file included from isisd/isis_spf.c:28:0:
isisd/isis_spf.c: In function isis_spf_process_lsp:
./lib/linklist.h:64:25: error: statement with no effect [-Werror=unused-value]
 #define listnextnode(X) ((X) ? ((X)->next) : NULL)
isisd/isis_spf.c:1114:3: note: in expansion of macro listnextnode
cc1: all warnings being treated as errors
Makefile:9650: recipe for target 'isisd/isis_spf.o' failed
make[1]: *** [isisd/isis_spf.o] Error 1
In file included from isisd/isis_spf.c:28:0:
Ubuntu 18.04 ppc64le build: Failed (click for details)

Make failed for Ubuntu 18.04 ppc64le build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/U1804PPC64LEBUILD/ErrorLog/log_make.txt)

In file included from isisd/isis_spf.c:28:0:
isisd/isis_spf.c: In function isis_spf_process_lsp:
./lib/linklist.h:64:44: error: statement with no effect [-Werror=unused-value]
 #define listnextnode(X) ((X) ? ((X)->next) : NULL)
isisd/isis_spf.c:1114:3: note: in expansion of macro listnextnode
cc1: all warnings being treated as errors
Makefile:9650: recipe for target 'isisd/isis_spf.o' failed
make[1]: *** [isisd/isis_spf.o] Error 1
In file included from isisd/isis_spf.c:28:0:

Ubuntu 18.04 ppc64le build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/U1804PPC64LEBUILD/config.status/config.status
Ubuntu 18.04 ppc64le build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/U1804PPC64LEBUILD/config.log/config.log.gz

Ubuntu 18.04 amd64 build: Failed (click for details)

Make failed for Ubuntu 18.04 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/U1804AMD64/ErrorLog/log_make.txt)

In file included from isisd/isis_spf.c:28:0:
isisd/isis_spf.c: In function isis_spf_process_lsp:
./lib/linklist.h:64:44: error: statement with no effect [-Werror=unused-value]
 #define listnextnode(X) ((X) ? ((X)->next) : NULL)
isisd/isis_spf.c:1114:3: note: in expansion of macro listnextnode
cc1: all warnings being treated as errors
Makefile:9650: recipe for target 'isisd/isis_spf.o' failed
make[1]: *** [isisd/isis_spf.o] Error 1
In file included from isisd/isis_spf.c:28:0:

Ubuntu 18.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/U1804AMD64/config.status/config.status
Ubuntu 18.04 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/U1804AMD64/config.log/config.log.gz

Ubuntu 16.04 amd64 build: Failed (click for details)

Make failed for Ubuntu 16.04 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/CI014BUILD/ErrorLog/log_make.txt)

In file included from isisd/isis_spf.c:28:0:
isisd/isis_spf.c: In function isis_spf_process_lsp:
./lib/linklist.h:64:25: error: statement with no effect [-Werror=unused-value]
 #define listnextnode(X) ((X) ? ((X)->next) : NULL)
isisd/isis_spf.c:1114:3: note: in expansion of macro listnextnode
cc1: all warnings being treated as errors
Makefile:9650: recipe for target 'isisd/isis_spf.o' failed
make[1]: *** [isisd/isis_spf.o] Error 1
In file included from isisd/isis_spf.c:28:0:

Ubuntu 16.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/CI014BUILD/config.status/config.status
Ubuntu 16.04 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/CI014BUILD/config.log/config.log.gz

NetBSD 9 amd64 build: Failed (click for details) NetBSD 9 amd64 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/CI012BUILD/config.log/config.log.gz

Make failed for NetBSD 9 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/CI012BUILD/ErrorLog/log_make.txt)

In file included from isisd/isis_spf.c:28:0:
isisd/isis_spf.c: In function 'isis_spf_process_lsp':
./lib/linklist.h:64:44: error: statement with no effect [-Werror=unused-value]
 #define listnextnode(X) ((X) ? ((X)->next) : NULL)
isisd/isis_spf.c:1114:3: note: in expansion of macro 'listnextnode'
cc1: all warnings being treated as errors
gmake[1]: *** [Makefile:10313: isisd/isis_spf.o] Error 1
In file included from isisd/isis_spf.c:28:0:
isisd/isis_spf.c: In function 'isis_spf_process_lsp':

NetBSD 9 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/CI012BUILD/config.status/config.status

FreeBSD 12 amd64 build: Failed (click for details)

Make failed for FreeBSD 12 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/FBSD12AMD64/ErrorLog/log_make.txt)

In file included from isisd/isis_spf.c:28:0:
isisd/isis_spf.c: In function 'isis_spf_process_lsp':
./lib/linklist.h:64:44: error: statement with no effect [-Werror=unused-value]
 #define listnextnode(X) ((X) ? ((X)->next) : NULL)
isisd/isis_spf.c:1114:3: note: in expansion of macro 'listnextnode'
cc1: all warnings being treated as errors
gmake[1]: *** [Makefile:10309: isisd/isis_spf.o] Error 1
In file included from isisd/isis_spf.c:28:0:
isisd/isis_spf.c: In function 'isis_spf_process_lsp':

FreeBSD 12 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/FBSD12AMD64/config.status/config.status
FreeBSD 12 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/FBSD12AMD64/config.log/config.log.gz

Ubuntu 16.04 arm8 build: Failed (click for details)

Make failed for Ubuntu 16.04 arm8 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/U16ARM8BUILD/ErrorLog/log_make.txt)

In file included from isisd/isis_spf.c:28:0:
isisd/isis_spf.c: In function isis_spf_process_lsp:
./lib/linklist.h:64:25: error: statement with no effect [-Werror=unused-value]
 #define listnextnode(X) ((X) ? ((X)->next) : NULL)
isisd/isis_spf.c:1114:3: note: in expansion of macro listnextnode
cc1: all warnings being treated as errors
Makefile:9650: recipe for target 'isisd/isis_spf.o' failed
make[1]: *** [isisd/isis_spf.o] Error 1
In file included from isisd/isis_spf.c:28:0:

Ubuntu 16.04 arm8 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/U16ARM8BUILD/config.log/config.log.gz
Ubuntu 16.04 arm8 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/U16ARM8BUILD/config.status/config.status

Ubuntu 18.04 i386 build: Failed (click for details) Ubuntu 18.04 i386 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/U18I386BUILD/config.log/config.log.gz Ubuntu 18.04 i386 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/U18I386BUILD/config.status/config.status

Make failed for Ubuntu 18.04 i386 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/U18I386BUILD/ErrorLog/log_make.txt)

In file included from isisd/isis_spf.c:28:0:
isisd/isis_spf.c: In function isis_spf_process_lsp:
./lib/linklist.h:64:44: error: statement with no effect [-Werror=unused-value]
 #define listnextnode(X) ((X) ? ((X)->next) : NULL)
isisd/isis_spf.c:1114:3: note: in expansion of macro listnextnode
cc1: all warnings being treated as errors
Makefile:9650: recipe for target 'isisd/isis_spf.o' failed
make[1]: *** [isisd/isis_spf.o] Error 1
In file included from isisd/isis_spf.c:28:0:
Ubuntu 18.04 arm7 build: Failed (click for details)

Make failed for Ubuntu 18.04 arm7 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/U18ARM7BUILD/ErrorLog/log_make.txt)

In file included from isisd/isis_spf.c:28:0:
isisd/isis_spf.c: In function isis_spf_process_lsp:
./lib/linklist.h:64:44: error: statement with no effect [-Werror=unused-value]
 #define listnextnode(X) ((X) ? ((X)->next) : NULL)
isisd/isis_spf.c:1114:3: note: in expansion of macro listnextnode
cc1: all warnings being treated as errors
Makefile:9650: recipe for target 'isisd/isis_spf.o' failed
make[1]: *** [isisd/isis_spf.o] Error 1
In file included from isisd/isis_spf.c:28:0:

Ubuntu 18.04 arm7 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/U18ARM7BUILD/config.log/config.log.gz
Ubuntu 18.04 arm7 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/U18ARM7BUILD/config.status/config.status

Ubuntu 18.04 arm8 build: Failed (click for details) Ubuntu 18.04 arm8 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/U18ARM8BUILD/config.status/config.status Ubuntu 18.04 arm8 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/U18ARM8BUILD/config.log/config.log.gz

Make failed for Ubuntu 18.04 arm8 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/U18ARM8BUILD/ErrorLog/log_make.txt)

In file included from isisd/isis_spf.c:28:0:
isisd/isis_spf.c: In function isis_spf_process_lsp:
./lib/linklist.h:64:44: error: statement with no effect [-Werror=unused-value]
 #define listnextnode(X) ((X) ? ((X)->next) : NULL)
isisd/isis_spf.c:1114:3: note: in expansion of macro listnextnode
cc1: all warnings being treated as errors
Makefile:9650: recipe for target 'isisd/isis_spf.o' failed
make[1]: *** [isisd/isis_spf.o] Error 1
In file included from isisd/isis_spf.c:28:0:
Debian 11 amd64 build: Failed (click for details) Debian 11 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/DEB11AMD64/config.status/config.status

Make failed for Debian 11 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/DEB11AMD64/ErrorLog/log_make.txt)

In file included from isisd/isis_spf.c:28:
isisd/isis_spf.c: In function isis_spf_process_lsp:
./lib/linklist.h:64:44: error: statement with no effect [-Werror=unused-value]
isisd/isis_spf.c:1114:3: note: in expansion of macro listnextnode
 1114 |   listnextnode(fragnode);
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10313: isisd/isis_spf.o] Error 1
In file included from isisd/isis_spf.c:28:
isisd/isis_spf.c: In function isis_spf_process_lsp:

Debian 11 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/DEB11AMD64/config.log/config.log.gz

Ubuntu 16.04 i386 build: Failed (click for details)

Make failed for Ubuntu 16.04 i386 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/U1604I386/ErrorLog/log_make.txt)

In file included from isisd/isis_spf.c:28:0:
isisd/isis_spf.c: In function isis_spf_process_lsp:
./lib/linklist.h:64:25: error: statement with no effect [-Werror=unused-value]
 #define listnextnode(X) ((X) ? ((X)->next) : NULL)
isisd/isis_spf.c:1114:3: note: in expansion of macro listnextnode
cc1: all warnings being treated as errors
Makefile:9650: recipe for target 'isisd/isis_spf.o' failed
make[1]: *** [isisd/isis_spf.o] Error 1
In file included from isisd/isis_spf.c:28:0:

Ubuntu 16.04 i386 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/U1604I386/config.status/config.status
Ubuntu 16.04 i386 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5573/artifact/U1604I386/config.log/config.log.gz

Successful on other platforms/tests
  • OpenBSD 7 amd64 build
  • CentOS 7 amd64 build

@NetDEF-CI
Copy link
Collaborator

NetDEF-CI commented May 24, 2022

Continuous Integration Result: FAILED

Continuous Integration Result: FAILED

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

This is a comment from an 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 / Pull Request: Successful

Building Stage: Failed

Redhat 8 amd64 build: Failed (click for details) Redhat 8 amd64 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/REDHAT8/config.log/config.log.gz

Make failed for Redhat 8 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/REDHAT8/ErrorLog/log_make.txt)

In file included from isisd/isis_spf.c:28:
isisd/isis_spf.c: In function isis_spf_process_lsp:
./lib/linklist.h:64:44: error: statement with no effect [-Werror=unused-value]
 #define listnextnode(X) ((X) ? ((X)->next) : NULL)
isisd/isis_spf.c:1114:3: note: in expansion of macro listnextnode
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10309: isisd/isis_spf.o] Error 1
In file included from isisd/isis_spf.c:28:
isisd/isis_spf.c: In function isis_spf_process_lsp:

Redhat 8 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/REDHAT8/config.status/config.status

Debian 10 amd64 build: Failed (click for details) Debian 10 amd64 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/DEB10BUILD/config.log/config.log.gz

Make failed for Debian 10 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/DEB10BUILD/ErrorLog/log_make.txt)

In file included from isisd/isis_spf.c:28:
isisd/isis_spf.c: In function isis_spf_process_lsp:
./lib/linklist.h:64:44: error: statement with no effect [-Werror=unused-value]
 #define listnextnode(X) ((X) ? ((X)->next) : NULL)
isisd/isis_spf.c:1114:3: note: in expansion of macro listnextnode
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10310: isisd/isis_spf.o] Error 1
In file included from isisd/isis_spf.c:28:
isisd/isis_spf.c: In function isis_spf_process_lsp:

Debian 10 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/DEB10BUILD/config.status/config.status

Fedora 29 amd64 build: Failed (click for details)

Make failed for Fedora 29 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/F29BUILD/ErrorLog/log_make.txt)

In file included from isisd/isis_spf.c:28:
isisd/isis_spf.c: In function isis_spf_process_lsp:
./lib/linklist.h:64:44: error: statement with no effect [-Werror=unused-value]
 #define listnextnode(X) ((X) ? ((X)->next) : NULL)
isisd/isis_spf.c:1114:3: note: in expansion of macro listnextnode
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10309: isisd/isis_spf.o] Error 1
In file included from isisd/isis_spf.c:28:
isisd/isis_spf.c: In function isis_spf_process_lsp:

Fedora 29 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/F29BUILD/config.status/config.status
Fedora 29 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/F29BUILD/config.log/config.log.gz

Debian 9 amd64 build: Failed (click for details)

Make failed for Debian 9 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/CI021BUILD/ErrorLog/log_make.txt)

In file included from isisd/isis_spf.c:28:0:
isisd/isis_spf.c: In function isis_spf_process_lsp:
./lib/linklist.h:64:44: error: statement with no effect [-Werror=unused-value]
 #define listnextnode(X) ((X) ? ((X)->next) : NULL)
isisd/isis_spf.c:1114:3: note: in expansion of macro listnextnode
cc1: all warnings being treated as errors
Makefile:9650: recipe for target 'isisd/isis_spf.o' failed
make[1]: *** [isisd/isis_spf.o] Error 1
In file included from isisd/isis_spf.c:28:0:

Debian 9 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/CI021BUILD/config.status/config.status
Debian 9 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/CI021BUILD/config.log/config.log.gz

Ubuntu 20.04 amd64 build: Failed (click for details) Ubuntu 20.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/U2004AMD64BUILD/config.status/config.status

Make failed for Ubuntu 20.04 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/U2004AMD64BUILD/ErrorLog/log_make.txt)

In file included from isisd/isis_spf.c:28:
isisd/isis_spf.c: In function isis_spf_process_lsp:
./lib/linklist.h:64:44: error: statement with no effect [-Werror=unused-value]
isisd/isis_spf.c:1114:3: note: in expansion of macro listnextnode
 1114 |   listnextnode(fragnode);
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10310: isisd/isis_spf.o] Error 1
In file included from isisd/isis_spf.c:28:
isisd/isis_spf.c: In function isis_spf_process_lsp:

Ubuntu 20.04 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/U2004AMD64BUILD/config.log/config.log.gz

Ubuntu 16.04 arm7 build: Failed (click for details) Ubuntu 16.04 arm7 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/CI101BUILD/config.status/config.status Ubuntu 16.04 arm7 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/CI101BUILD/config.log/config.log.gz

Make failed for Ubuntu 16.04 arm7 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/CI101BUILD/ErrorLog/log_make.txt)

In file included from isisd/isis_spf.c:28:0:
isisd/isis_spf.c: In function isis_spf_process_lsp:
./lib/linklist.h:64:25: error: statement with no effect [-Werror=unused-value]
 #define listnextnode(X) ((X) ? ((X)->next) : NULL)
isisd/isis_spf.c:1114:3: note: in expansion of macro listnextnode
cc1: all warnings being treated as errors
Makefile:9650: recipe for target 'isisd/isis_spf.o' failed
make[1]: *** [isisd/isis_spf.o] Error 1
In file included from isisd/isis_spf.c:28:0:
Ubuntu 18.04 ppc64le build: Failed (click for details)

Make failed for Ubuntu 18.04 ppc64le build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/U1804PPC64LEBUILD/ErrorLog/log_make.txt)

In file included from isisd/isis_spf.c:28:0:
isisd/isis_spf.c: In function isis_spf_process_lsp:
./lib/linklist.h:64:44: error: statement with no effect [-Werror=unused-value]
 #define listnextnode(X) ((X) ? ((X)->next) : NULL)
isisd/isis_spf.c:1114:3: note: in expansion of macro listnextnode
cc1: all warnings being treated as errors
Makefile:9650: recipe for target 'isisd/isis_spf.o' failed
make[1]: *** [isisd/isis_spf.o] Error 1
In file included from isisd/isis_spf.c:28:0:

Ubuntu 18.04 ppc64le build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/U1804PPC64LEBUILD/config.status/config.status
Ubuntu 18.04 ppc64le build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/U1804PPC64LEBUILD/config.log/config.log.gz

Ubuntu 18.04 amd64 build: Failed (click for details)

Make failed for Ubuntu 18.04 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/U1804AMD64/ErrorLog/log_make.txt)

In file included from isisd/isis_spf.c:28:0:
isisd/isis_spf.c: In function isis_spf_process_lsp:
./lib/linklist.h:64:44: error: statement with no effect [-Werror=unused-value]
 #define listnextnode(X) ((X) ? ((X)->next) : NULL)
isisd/isis_spf.c:1114:3: note: in expansion of macro listnextnode
cc1: all warnings being treated as errors
Makefile:9650: recipe for target 'isisd/isis_spf.o' failed
make[1]: *** [isisd/isis_spf.o] Error 1
In file included from isisd/isis_spf.c:28:0:

Ubuntu 18.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/U1804AMD64/config.status/config.status
Ubuntu 18.04 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/U1804AMD64/config.log/config.log.gz

Ubuntu 22.04 amd64 build: Failed (click for details) Ubuntu 22.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/U22AMD64BUILD/config.status/config.status

Make failed for Ubuntu 22.04 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/U22AMD64BUILD/ErrorLog/log_make.txt)

In file included from isisd/isis_spf.c:28:
isisd/isis_spf.c: In function isis_spf_process_lsp:
./lib/linklist.h:64:44: error: statement with no effect [-Werror=unused-value]
isisd/isis_spf.c:1114:17: note: in expansion of macro listnextnode
 1114 |                 listnextnode(fragnode);
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10313: isisd/isis_spf.o] Error 1
In file included from isisd/isis_spf.c:28:
isisd/isis_spf.c: In function isis_spf_process_lsp:

Ubuntu 22.04 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/U22AMD64BUILD/config.log/config.log.gz

FreeBSD 11 amd64 build: Failed (click for details)

Make failed for FreeBSD 11 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/CI009BUILD/ErrorLog/log_make.txt)

In file included from isisd/isis_spf.c:28:
isisd/isis_spf.c: In function 'isis_spf_process_lsp':
./lib/linklist.h:64:44: error: statement with no effect [-Werror=unused-value]
isisd/isis_spf.c:1114:3: note: in expansion of macro 'listnextnode'
 1114 |   listnextnode(fragnode);
cc1: all warnings being treated as errors
gmake[1]: *** [Makefile:10312: isisd/isis_spf.o] Error 1
In file included from isisd/isis_spf.c:28:
isisd/isis_spf.c: In function 'isis_spf_process_lsp':

FreeBSD 11 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/CI009BUILD/config.status/config.status
FreeBSD 11 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/CI009BUILD/config.log/config.log.gz

FreeBSD 12 amd64 build: Failed (click for details)

Make failed for FreeBSD 12 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/FBSD12AMD64/ErrorLog/log_make.txt)

In file included from isisd/isis_spf.c:28:0:
isisd/isis_spf.c: In function 'isis_spf_process_lsp':
./lib/linklist.h:64:44: error: statement with no effect [-Werror=unused-value]
 #define listnextnode(X) ((X) ? ((X)->next) : NULL)
isisd/isis_spf.c:1114:3: note: in expansion of macro 'listnextnode'
cc1: all warnings being treated as errors
gmake[1]: *** [Makefile:10309: isisd/isis_spf.o] Error 1
In file included from isisd/isis_spf.c:28:0:
isisd/isis_spf.c: In function 'isis_spf_process_lsp':

FreeBSD 12 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/FBSD12AMD64/config.status/config.status
FreeBSD 12 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/FBSD12AMD64/config.log/config.log.gz

Ubuntu 16.04 arm8 build: Failed (click for details)

Make failed for Ubuntu 16.04 arm8 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/U16ARM8BUILD/ErrorLog/log_make.txt)

In file included from isisd/isis_spf.c:28:0:
isisd/isis_spf.c: In function isis_spf_process_lsp:
./lib/linklist.h:64:25: error: statement with no effect [-Werror=unused-value]
 #define listnextnode(X) ((X) ? ((X)->next) : NULL)
isisd/isis_spf.c:1114:3: note: in expansion of macro listnextnode
cc1: all warnings being treated as errors
Makefile:9650: recipe for target 'isisd/isis_spf.o' failed
make[1]: *** [isisd/isis_spf.o] Error 1
In file included from isisd/isis_spf.c:28:0:

Ubuntu 16.04 arm8 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/U16ARM8BUILD/config.log/config.log.gz
Ubuntu 16.04 arm8 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/U16ARM8BUILD/config.status/config.status

Ubuntu 16.04 amd64 build: Failed (click for details)

Make failed for Ubuntu 16.04 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/CI014BUILD/ErrorLog/log_make.txt)

In file included from isisd/isis_spf.c:28:0:
isisd/isis_spf.c: In function isis_spf_process_lsp:
./lib/linklist.h:64:25: error: statement with no effect [-Werror=unused-value]
 #define listnextnode(X) ((X) ? ((X)->next) : NULL)
isisd/isis_spf.c:1114:3: note: in expansion of macro listnextnode
cc1: all warnings being treated as errors
Makefile:9650: recipe for target 'isisd/isis_spf.o' failed
make[1]: *** [isisd/isis_spf.o] Error 1
In file included from isisd/isis_spf.c:28:0:

Ubuntu 16.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/CI014BUILD/config.status/config.status
Ubuntu 16.04 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/CI014BUILD/config.log/config.log.gz

Ubuntu 18.04 i386 build: Failed (click for details) Ubuntu 18.04 i386 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/U18I386BUILD/config.log/config.log.gz Ubuntu 18.04 i386 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/U18I386BUILD/config.status/config.status

Make failed for Ubuntu 18.04 i386 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/U18I386BUILD/ErrorLog/log_make.txt)

In file included from isisd/isis_spf.c:28:0:
isisd/isis_spf.c: In function isis_spf_process_lsp:
./lib/linklist.h:64:44: error: statement with no effect [-Werror=unused-value]
 #define listnextnode(X) ((X) ? ((X)->next) : NULL)
isisd/isis_spf.c:1114:3: note: in expansion of macro listnextnode
cc1: all warnings being treated as errors
Makefile:9650: recipe for target 'isisd/isis_spf.o' failed
make[1]: *** [isisd/isis_spf.o] Error 1
In file included from isisd/isis_spf.c:28:0:
NetBSD 9 amd64 build: Failed (click for details) NetBSD 9 amd64 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/CI012BUILD/config.log/config.log.gz

Make failed for NetBSD 9 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/CI012BUILD/ErrorLog/log_make.txt)

In file included from isisd/isis_spf.c:28:0:
isisd/isis_spf.c: In function 'isis_spf_process_lsp':
./lib/linklist.h:64:44: error: statement with no effect [-Werror=unused-value]
 #define listnextnode(X) ((X) ? ((X)->next) : NULL)
isisd/isis_spf.c:1114:3: note: in expansion of macro 'listnextnode'
cc1: all warnings being treated as errors
gmake[1]: *** [Makefile:10313: isisd/isis_spf.o] Error 1
In file included from isisd/isis_spf.c:28:0:
isisd/isis_spf.c: In function 'isis_spf_process_lsp':

NetBSD 9 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/CI012BUILD/config.status/config.status

Ubuntu 18.04 arm7 build: Failed (click for details)

Make failed for Ubuntu 18.04 arm7 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/U18ARM7BUILD/ErrorLog/log_make.txt)

In file included from isisd/isis_spf.c:28:0:
isisd/isis_spf.c: In function isis_spf_process_lsp:
./lib/linklist.h:64:44: error: statement with no effect [-Werror=unused-value]
 #define listnextnode(X) ((X) ? ((X)->next) : NULL)
isisd/isis_spf.c:1114:3: note: in expansion of macro listnextnode
cc1: all warnings being treated as errors
Makefile:9650: recipe for target 'isisd/isis_spf.o' failed
make[1]: *** [isisd/isis_spf.o] Error 1
In file included from isisd/isis_spf.c:28:0:

Ubuntu 18.04 arm7 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/U18ARM7BUILD/config.log/config.log.gz
Ubuntu 18.04 arm7 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/U18ARM7BUILD/config.status/config.status

Ubuntu 18.04 arm8 build: Failed (click for details) Ubuntu 18.04 arm8 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/U18ARM8BUILD/config.status/config.status Ubuntu 18.04 arm8 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/U18ARM8BUILD/config.log/config.log.gz

Make failed for Ubuntu 18.04 arm8 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/U18ARM8BUILD/ErrorLog/log_make.txt)

In file included from isisd/isis_spf.c:28:0:
isisd/isis_spf.c: In function isis_spf_process_lsp:
./lib/linklist.h:64:44: error: statement with no effect [-Werror=unused-value]
 #define listnextnode(X) ((X) ? ((X)->next) : NULL)
isisd/isis_spf.c:1114:3: note: in expansion of macro listnextnode
cc1: all warnings being treated as errors
Makefile:9650: recipe for target 'isisd/isis_spf.o' failed
make[1]: *** [isisd/isis_spf.o] Error 1
In file included from isisd/isis_spf.c:28:0:
Ubuntu 16.04 i386 build: Failed (click for details)

Make failed for Ubuntu 16.04 i386 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/U1604I386/ErrorLog/log_make.txt)

In file included from isisd/isis_spf.c:28:0:
isisd/isis_spf.c: In function isis_spf_process_lsp:
./lib/linklist.h:64:25: error: statement with no effect [-Werror=unused-value]
 #define listnextnode(X) ((X) ? ((X)->next) : NULL)
isisd/isis_spf.c:1114:3: note: in expansion of macro listnextnode
cc1: all warnings being treated as errors
Makefile:9650: recipe for target 'isisd/isis_spf.o' failed
make[1]: *** [isisd/isis_spf.o] Error 1
In file included from isisd/isis_spf.c:28:0:

Ubuntu 16.04 i386 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/U1604I386/config.status/config.status
Ubuntu 16.04 i386 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/U1604I386/config.log/config.log.gz

Debian 11 amd64 build: Failed (click for details) Debian 11 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/DEB11AMD64/config.status/config.status

Make failed for Debian 11 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/DEB11AMD64/ErrorLog/log_make.txt)

In file included from isisd/isis_spf.c:28:
isisd/isis_spf.c: In function isis_spf_process_lsp:
./lib/linklist.h:64:44: error: statement with no effect [-Werror=unused-value]
isisd/isis_spf.c:1114:3: note: in expansion of macro listnextnode
 1114 |   listnextnode(fragnode);
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10313: isisd/isis_spf.o] Error 1
In file included from isisd/isis_spf.c:28:
isisd/isis_spf.c: In function isis_spf_process_lsp:

Debian 11 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-5572/artifact/DEB11AMD64/config.log/config.log.gz

Successful on other platforms/tests
  • OpenBSD 7 amd64 build
  • CentOS 7 amd64 build

@NetDEF-CI
Copy link
Collaborator

NetDEF-CI commented May 24, 2022

Continuous Integration Result: SUCCESSFUL

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-PULLREQ2-5579/

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

@louis-6wind louis-6wind force-pushed the isis-fix-crash branch 4 times, most recently from 5ce2cc8 to 0180ad1 Compare June 30, 2022 15:37
@NetDEF-CI
Copy link
Collaborator

NetDEF-CI commented Jun 30, 2022

Continuous Integration Result: SUCCESSFUL

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-PULLREQ2-6203/

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

@NetDEF-CI
Copy link
Collaborator

NetDEF-CI commented Jun 30, 2022

Continuous Integration Result: SUCCESSFUL

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-PULLREQ2-6207/

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

@NetDEF-CI
Copy link
Collaborator

NetDEF-CI commented Jun 30, 2022

Continuous Integration Result: SUCCESSFUL

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-PULLREQ2-6208/

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

@NetDEF-CI
Copy link
Collaborator

NetDEF-CI commented Jun 30, 2022

Continuous Integration Result: SUCCESSFUL

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-PULLREQ2-6209/

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

Copy link
Member

@pguibert6WIND pguibert6WIND left a comment

Choose a reason for hiding this comment

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

LGTM

@github-actions
Copy link

This PR is stale because it has been open 180 days with no activity. Comment or remove the autoclose label in order to avoid having this PR closed.

@NetDEF-CI
Copy link
Collaborator

NetDEF-CI commented Sep 25, 2023

Continuous Integration Result: FAILED

Continuous Integration Result: FAILED

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

This is a comment from an 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 / Pull Request: Successful

Building Stage: Successful

Basic Tests: Failed

Topotests Ubuntu 18.04 arm8 part 9: Failed (click for details) Topotests Ubuntu 18.04 arm8 part 9: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-14327/artifact/TOPO9U18ARM8/TopotestDetails/ Topotests Ubuntu 18.04 arm8 part 9: No useful log found
Topotests Ubuntu 18.04 arm8 part 7: Failed (click for details) Topotests Ubuntu 18.04 arm8 part 7: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-14327/artifact/TOPO7U18ARM8/TopotestDetails/ Topotests Ubuntu 18.04 arm8 part 7: No useful log found
Topotests Ubuntu 18.04 arm8 part 6: Failed (click for details) Topotests Ubuntu 18.04 arm8 part 6: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-14327/artifact/TOPO6U18ARM8/TopotestDetails/ Topotests Ubuntu 18.04 arm8 part 6: No useful log found
Successful on other platforms/tests
  • Addresssanitizer topotests part 5
  • Addresssanitizer topotests part 4
  • Topotests Ubuntu 18.04 i386 part 3
  • Topotests Ubuntu 18.04 i386 part 8
  • Topotests Ubuntu 18.04 amd64 part 2
  • Addresssanitizer topotests part 0
  • Topotests debian 10 amd64 part 8
  • Topotests debian 10 amd64 part 4
  • Topotests debian 10 amd64 part 3
  • Topotests Ubuntu 18.04 arm8 part 4
  • Topotests Ubuntu 18.04 arm8 part 3
  • Topotests Ubuntu 18.04 amd64 part 3
  • Topotests debian 10 amd64 part 9
  • Addresssanitizer topotests part 1
  • Static analyzer (clang)
  • Addresssanitizer topotests part 9
  • Topotests debian 10 amd64 part 0
  • Topotests Ubuntu 18.04 arm8 part 0
  • Topotests Ubuntu 18.04 amd64 part 9
  • Topotests debian 10 amd64 part 2
  • Topotests Ubuntu 18.04 amd64 part 8
  • Topotests Ubuntu 18.04 arm8 part 2
  • Topotests Ubuntu 18.04 i386 part 1
  • Debian 10 deb pkg check
  • Topotests Ubuntu 18.04 i386 part 6
  • Topotests Ubuntu 18.04 arm8 part 5
  • Addresssanitizer topotests part 7
  • Topotests Ubuntu 18.04 amd64 part 5
  • Ubuntu 20.04 deb pkg check
  • Topotests debian 10 amd64 part 1
  • Addresssanitizer topotests part 3
  • Topotests Ubuntu 18.04 arm8 part 1
  • Topotests debian 10 amd64 part 6
  • Topotests Ubuntu 18.04 amd64 part 7
  • Topotests Ubuntu 18.04 i386 part 0
  • Topotests Ubuntu 18.04 i386 part 5
  • Topotests Ubuntu 18.04 amd64 part 4
  • CentOS 7 rpm pkg check
  • Addresssanitizer topotests part 2
  • Topotests Ubuntu 18.04 amd64 part 0
  • Topotests Ubuntu 18.04 i386 part 9
  • Topotests Ubuntu 18.04 i386 part 4
  • Topotests debian 10 amd64 part 7
  • Debian 9 deb pkg check
  • Addresssanitizer topotests part 8
  • Topotests debian 10 amd64 part 5
  • Topotests Ubuntu 18.04 i386 part 7
  • Topotests Ubuntu 18.04 arm8 part 8
  • Topotests Ubuntu 18.04 i386 part 2
  • Topotests Ubuntu 18.04 amd64 part 6
  • Addresssanitizer topotests part 6
  • Topotests Ubuntu 18.04 amd64 part 1
  • Ubuntu 18.04 deb pkg check

@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-PULLREQ2-14327/

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

@ton31337
Copy link
Member

@Mergifyio rebase

The following crash has been seen:

> #0  raise (sig=<optimized out>) at ../sysdeps/unix/sysv/linux/raise.c:51
> #1  0x00007f48a576db78 in core_handler (signo=11, siginfo=0x7ffeee4f2b30, context=0x7ffeee4f2a00) at lib/sigevent.c:262
> #2  <signal handler called>
> #3  0x000055aded0d793a in isis_spf_process_lsp (spftree=0x55adee945120, lsp=0x55adee971800, cost=3, depth=1, root_sysid=0x55adee9451ac "", parent=0x55adee9474c0) at isisd/isis_spf.c:887
> FRRouting#4  0x000055aded0d9bd1 in isis_spf_loop (spftree=0x55adee945120, root_sysid=0x55adee9451ac "") at isisd/isis_spf.c:1679
> FRRouting#5  0x000055aded0d9fd1 in isis_run_spf (spftree=0x55adee945120) at isisd/isis_spf.c:1798
> FRRouting#6  0x000055aded0bad65 in isis_spf_run_neighbors (spftree=0x55adee962220) at isisd/isis_lfa.c:1259
> FRRouting#7  0x000055aded0bd896 in isis_spf_run_lfa (area=0x55adee95e200, spftree=0x55adee962220) at isisd/isis_lfa.c:2291
> FRRouting#8  0x000055aded0da0f2 in isis_run_spf_with_protection (area=0x55adee95e200, spftree=0x55adee962220) at isisd/isis_spf.c:1817
> FRRouting#9  0x000055aded0da350 in isis_run_spf_cb (thread=0x7ffeee4f3330) at isisd/isis_spf.c:1870
> FRRouting#10 0x00007f48a5786dcc in thread_call (thread=0x7ffeee4f3330) at lib/thread.c:2002
> FRRouting#11 0x00007f48a57213ee in frr_run (master=0x55adee6cdb40) at lib/libfrr.c:1196
> FRRouting#12 0x000055aded0acda2 in main (argc=2, argv=0x7ffeee4f3548, envp=0x7ffeee4f3560) at isisd/isis_main.c:273

It is caused by an attempt to access lsp->tlvs in isis_spf_process_lsp()
label lspfragloop when lsp is NULL. isis_spf_process_lsp() checks that
the lsp pointer is not NULL at the function beginning but af8ac8f
("isisd: send/receive LSPs with new parser") has introduced some
lsp->tlvs accesses after the lspfragloop label without checking that lsp
is not NULL.

The crash has been seen in the following situation:
- ISIS is configured to import routes from BGP
- ISIS classic LFA is enabled on all ISIS interfaces
- BGP receives routes from an exabgp peers
- exabgp is stopped in the middle while sending new prefixes

The same situation without LFA does not trigger the bug. However, it
seems that the crash can potentially happen without LFA.

Fixes: af8ac8f ("isisd: send/receive LSPs with new parser")
Signed-off-by: Louis Scalbert <[email protected]>
Copy link

mergify bot commented Feb 29, 2024

rebase

✅ Branch has been successfully rebased

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants