Discussion:
head -r333905 broke the builds
(too old to reply)
Mark Millard
2018-05-20 02:56:54 UTC
Permalink
https://ci.freebsd.org shows all the builds being broken and
going through the list -r333903 was working but -r333905 and
later are not. (I ignore riscv64 here.)

Using powerpc64 as an -r333905 example:

--- sourcefilter.o ---
In file included from /usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/netinet/ip_var.h:39,
from /usr/src/lib/libc/net/sourcefilter.c:43:
/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h:42: error: expected declaration specifiers or '...' before 'epoch_cb_count'
cc1: warnings being treated as errors
/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h:42: warning: data definition has no type or storage class
/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h:43: error: expected declaration specifiers or '...' before 'epoch_cb_task'
/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h:43: warning: 'struct grouptask' declared inside parameter list
/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h:43: warning: its scope is only this definition or declaration, which is probably not what you want
/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h:43: warning: data definition has no type or storage class
/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h:43: error: conflicting types for 'DPCPU_DECLARE'
/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h:42: error: previous declaration of 'DPCPU_DECLARE' was here
/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h: In function 'epoch_enter_preempt':
/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h:68: error: 'curthread' undeclared (first use in this function)
/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h:68: error: (Each undeclared identifier is reported only once
/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h:68: error: for each function it appears in.)
/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h: In function 'epoch_exit_preempt':
/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h:81: error: 'curthread' undeclared (first use in this function)


This seems to match up with:

Author: mmacy
Date: Sun May 20 00:22:28 2018
New Revision: 333905
URL:
https://svnweb.freebsd.org/changeset/base/333905


Log:
ip(6)_freemoptions: defer imo destruction to epoch callback task

Avoid the ugly unlock / lock of the inpcbinfo where we need to
figure out what kind of lock we hold by simply deferring the
operation to another context. (Also a small dependency for
converting the pcbinfo read lock to epoch)

Modified:
head/sys/netinet/in_mcast.c
head/sys/netinet/in_pcb.c
head/sys/netinet/ip_var.h
head/sys/netinet6/in6_mcast.c
head/sys/netinet6/in6_var.h
head/sys/netinet6/ip6_var.h


===
Mark Millard
marklmi26-fbsd at yahoo.com
( dsl-only.net went
away in early 2018-Mar)
Mark Millard
2018-05-20 03:50:33 UTC
Permalink
Post by Mark Millard
https://ci.freebsd.org shows all the builds being broken and
going through the list -r333903 was working but -r333905 and
later are not. (I ignore riscv64 here.)
--- sourcefilter.o ---
In file included from /usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/netinet/ip_var.h:39,
/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h:42: error: expected declaration specifiers or '...' before 'epoch_cb_count'
cc1: warnings being treated as errors
/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h:42: warning: data definition has no type or storage class
/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h:43: error: expected declaration specifiers or '...' before 'epoch_cb_task'
/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h:43: warning: 'struct grouptask' declared inside parameter list
/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h:43: warning: its scope is only this definition or declaration, which is probably not what you want
/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h:43: warning: data definition has no type or storage class
/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h:43: error: conflicting types for 'DPCPU_DECLARE'
/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h:42: error: previous declaration of 'DPCPU_DECLARE' was here
/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h:68: error: 'curthread' undeclared (first use in this function)
/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h:68: error: (Each undeclared identifier is reported only once
/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h:68: error: for each function it appears in.)
/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h:81: error: 'curthread' undeclared (first use in this function)
Author: mmacy
Date: Sun May 20 00:22:28 2018
New Revision: 333905
https://svnweb.freebsd.org/changeset/base/333905
ip(6)_freemoptions: defer imo destruction to epoch callback task
Avoid the ugly unlock / lock of the inpcbinfo where we need to
figure out what kind of lock we hold by simply deferring the
operation to another context. (Also a small dependency for
converting the pcbinfo read lock to epoch)
head/sys/netinet/in_mcast.c
head/sys/netinet/in_pcb.c
head/sys/netinet/ip_var.h
head/sys/netinet6/in6_mcast.c
head/sys/netinet6/in6_var.h
head/sys/netinet6/ip6_var.h
It looks like -r333906 changed the error details. Using
i386 from ci.freebsd.org this time:

--- all_subdir_usr.sbin/sendmail ---
In file included from /usr/src/contrib/sendmail/src/daemon.c:51:
In file included from /usr/obj/usr/src/i386.i386/tmp/usr/include/netinet/ip_var.h:39:
In file included from /usr/obj/usr/src/i386.i386/tmp/usr/include/sys/epoch.h:33:
In file included from /usr/obj/usr/src/i386.i386/tmp/usr/include/sys/proc.h:47:
In file included from /usr/obj/usr/src/i386.i386/tmp/usr/include/sys/filedesc.h:42:
/usr/obj/usr/src/i386.i386/tmp/usr/include/sys/priority.h:128:8: error: redefinition of 'priority'
struct priority {
^
/usr/src/contrib/sendmail/src/sendmail.h:1081:8: note: previous definition is here
struct priority
^

This seems to happen for -r333906 and later versions on all
targets, including amd64. (I'm ignoring riscv64 that has been
broken for a long time.) powerpc64 agrees despite the gcc 4.2.1:

--- all_subdir_usr.sbin/sendmail ---
In file included from /usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/filedesc.h:42,
from /usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/proc.h:47,
from /usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h:33,
from /usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/netinet/ip_var.h:39,
from /usr/src/contrib/sendmail/src/daemon.c:51:
/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/priority.h:128: error: redefinition of 'struct priority'




===
Mark Millard
marklmi26-fbsd at yahoo.com
( dsl-only.net went
away in early 2018-Mar)

Continue reading on narkive:
Loading...