Bug 203832 - clang crash: frontend command failed due to signal
Summary: clang crash: frontend command failed due to signal
Status: Closed Overcome By Events
Alias: None
Product: Base System
Classification: Unclassified
Component: bin (show other bugs)
Version: CURRENT
Hardware: amd64 Any
: --- Affects Only Me
Assignee: freebsd-toolchain (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-10-17 10:39 UTC by Alexander V. Chernikov
Modified: 2018-01-28 21:20 UTC (History)
1 user (show)

See Also:


Attachments
clang-generated source (262.48 KB, application/gzip)
2015-10-17 10:40 UTC, Alexander V. Chernikov
no flags Details
clang-generated run script (1.21 KB, text/plain)
2015-10-17 10:41 UTC, Alexander V. Chernikov
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander V. Chernikov freebsd_committer freebsd_triage 2015-10-17 10:39:15 UTC
clang crashed when parsing source with source errors:

/usr/src/sys/netinet/if_ether.c:1181:16: error: use of undeclared identifier 'ifa'; did you mean 'ifp'?
        TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) {
                      ^~~
                      ifp
/usr/src/sys/sys/queue.h:617:8: note: expanded from macro 'TAILQ_FOREACH'
        for ((var) = TAILQ_FIRST((head));                               \
              ^
/usr/src/sys/netinet/if_ether.c:1172:48: note: 'ifp' declared here
arp_iflladdr(void *arg __unused, struct ifnet *ifp)
                                               ^
/usr/src/sys/netinet/if_ether.c:1181:2: error: incompatible pointer types assigning to 'struct ifnet *' from 'struct ifaddr *' [-Werror,-Wincompatible-pointer-types]
        TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) {
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/src/sys/sys/queue.h:617:13: note: expanded from macro 'TAILQ_FOREACH'
        for ((var) = TAILQ_FIRST((head));                               \
                   ^ ~~~~~~~~~~~~~~~~~~~
/usr/src/sys/netinet/if_ether.c:1181:16: error: use of undeclared identifier 'ifa'; did you mean 'ifp'?
        TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) {
                      ^~~
                      ifp
/usr/src/sys/sys/queue.h:618:7: note: expanded from macro 'TAILQ_FOREACH'
            (var);                                                      \
             ^
/usr/src/sys/netinet/if_ether.c:1172:48: note: 'ifp' declared here
arp_iflladdr(void *arg __unused, struct ifnet *ifp)
                                               ^
/usr/src/sys/netinet/if_ether.c:1181:16: error: use of undeclared identifier 'ifa'; did you mean 'ifp'?
        TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) {
                      ^~~
                      ifp
/usr/src/sys/sys/queue.h:619:7: note: expanded from macro 'TAILQ_FOREACH'
            (var) = TAILQ_NEXT((var), field))
             ^
/usr/src/sys/netinet/if_ether.c:1172:48: note: 'ifp' declared here
arp_iflladdr(void *arg __unused, struct ifnet *ifp)
                                               ^
/usr/src/sys/netinet/if_ether.c:1181:16: error: use of undeclared identifier 'ifa'; did you mean 'ifp'?
        TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) {
                      ^~~
                      ifp
/usr/src/sys/sys/queue.h:619:26: note: expanded from macro 'TAILQ_FOREACH'
            (var) = TAILQ_NEXT((var), field))
                                ^
/usr/src/sys/sys/queue.h:713:34: note: expanded from macro 'TAILQ_NEXT'
#define TAILQ_NEXT(elm, field) ((elm)->field.tqe_next)
                                 ^
/usr/src/sys/netinet/if_ether.c:1172:48: note: 'ifp' declared here
arp_iflladdr(void *arg __unused, struct ifnet *ifp)
                                               ^
can't implicitly cast lvalue to rvalue with this cast kind
UNREACHABLE executed at /usr/src/lib/clang/libclangsema/../../../contrib/llvm/tools/clang/lib/Sema/Sema.cpp:323!
Stack dump:
0.      Program arguments: /usr/obj/usr/src/tmp/usr/bin/cc -cc1 -triple x86_64-unknown-freebsd11.0 -emit-obj -disable-free -main-file-name if_ether.c -mrelocation-model static -mthread-model posix -mdisable-fp-elim -relaxed-aliasing -masm-verbose -mconstructor-aliases -mcode-model kernel -target-cpu x86-64 -target-feature -mmx -target-feature -sse -target-feature -aes -target-feature -avx -disable-red-zone -no-implicit-float -gdwarf-2 -dwarf-column-info -coverage-file /usr/obj/usr/src/sys/DEVEL/if_ether.c -nostdsysteminc -nobuiltininc -resource-dir /usr/obj/usr/src/tmp/usr/bin/../lib/clang/3.6.1 -include opt_global.h -D _KERNEL -D HAVE_KERNEL_OPTION_HEADERS -D __printf__=__freebsd_kprintf__ -I . -I /usr/src/sys -I /usr/src/sys/contrib/libfdt -isysroot /usr/obj/usr/src/tmp -O2 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -Wmissing-include-dirs -Wno-unknown-pragmas -Wno-error-tautological-compare -Wno-error-empty-body -Wno-error-parentheses-equality -Wno-error-unused-function -Wno-error-pointer-sign -Werror -std=iso9899:1999 -fdebug-compilation-dir /usr/obj/usr/src/sys/DEVEL -ferror-limit 19 -fmessage-length 0 -ffreestanding -fwrapv -stack-protector 1 -mstackrealign -fobjc-runtime=gnustep -fdiagnostics-show-option -vectorize-loops -vectorize-slp -o if_ether.o -x c /usr/src/sys/netinet/if_ether.c 
1.      /usr/src/sys/netinet/if_ether.c:1181:2 <Spelling=/usr/src/sys/sys/queue.h:619:38>: current parser token ')'
2.      /usr/src/sys/netinet/if_ether.c:1173:1: parsing function body 'arp_iflladdr'
3.      /usr/src/sys/netinet/if_ether.c:1173:1: in compound statement ('{}')
cc: error: unable to execute command: Abort trap (core dumped)
cc: error: clang frontend command failed due to signal (use -v to see invocation)
FreeBSD clang version 3.6.1 (tags/RELEASE_361/final 237755) 20150525
Target: x86_64-unknown-freebsd11.0
Thread model: posix
cc: note: diagnostic msg: PLEASE submit a bug report to https://bugs.freebsd.org/submit/ and include the crash backtrace, preprocessed source, and associated run script.

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
cc: note: diagnostic msg: /tmp/if_ether-15e403.c
cc: note: diagnostic msg: /tmp/if_ether-15e403.sh
cc: note: diagnostic msg:
Comment 1 Alexander V. Chernikov freebsd_committer freebsd_triage 2015-10-17 10:40:56 UTC
Created attachment 162144 [details]
clang-generated source
Comment 2 Alexander V. Chernikov freebsd_committer freebsd_triage 2015-10-17 10:41:22 UTC
Created attachment 162145 [details]
clang-generated run script
Comment 3 Dimitry Andric freebsd_committer freebsd_triage 2018-01-28 21:20:47 UTC
This crash was fixed somewhere between clang 3.6 and 3.7, and is no longer reproducible.