[Bug 225862] clang dumps core on head@r329155

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

[Bug 225862] clang dumps core on head@r329155

bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=225862

            Bug ID: 225862
           Summary: clang dumps core on head@r329155
           Product: Base System
           Version: CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: bin
          Assignee: [hidden email]
          Reporter: [hidden email]

I'm trying to build not yet ready to build code to see what I can fix :)
But clang dumps core.

This is output from make command:

Assertion failed: (D.getASTContext().getLangOpts().CPlusPlus), function
isDeclExternC, file /usr/src/contrib/llvm/tools/clang/lib/AST/Decl.cpp, line
1954.
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 6.0.0 (branches/release_60 324090) (based on LLVM 6.0.0)
Target: x86_64-unknown-freebsd12.0
Thread model: posix
InstalledDir: /usr/bin
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.
cc: note: diagnostic msg: Error generating preprocessed source(s).
*** Error code 254

% gdb -q cc cc.core
Reading symbols from cc...Reading symbols from
/usr/lib/debug//usr/bin/clang.debug...done.
done.
[New LWP 101201]
Core was generated by `/usr/bin/cc -cc1 -triple x86_64-unknown-freebsd12.0
-emit-obj -disable-free -mai'.
Program terminated with signal SIGABRT, Aborted.
#0  thr_kill () at thr_kill.S:3
3       RSYSCALL(thr_kill)
(gdb) bt
#0  thr_kill () at thr_kill.S:3
#1  0x00000000040f74af in __raise (s=6) at /usr/src/lib/libc/gen/raise.c:54
#2  0x00000000040f7476 in abort () at /usr/src/lib/libc/stdlib/abort.c:79
#3  0x0000000004166a3a in __assert (func=<optimized out>, file=<optimized out>,
line=<optimized out>, failedexpr=<optimized out>) at
/usr/src/lib/libc/gen/assert.c:53
#4  0x00000000024f08c7 in isDeclExternC<clang::FunctionDecl> () at
/usr/src/contrib/llvm/tools/clang/lib/AST/Decl.cpp:1954
#5  isExternC () at /usr/src/contrib/llvm/tools/clang/lib/AST/Decl.cpp:2788
#6  0x0000000001c1fd60 in ActOnFunctionDeclarator () at
/usr/src/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp:8990
#7  0x0000000001c1962b in HandleDeclarator () at
/usr/src/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp:5465
#8  0x0000000001c0067c in ActOnDeclarator () at
/usr/src/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp:5145
#9  ImplicitlyDefineFunction () at
/usr/src/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp:12606
#10 0x00000000019fd61c in ActOnIdExpression () at
/usr/src/contrib/llvm/tools/clang/lib/Sema/SemaExpr.cpp:2119
#11 0x00000000020369e5 in ParseCastExpression () at
/usr/src/contrib/llvm/tools/clang/lib/Parse/ParseExpr.cpp:1037
#12 0x000000000202f736 in ParseCastExpression () at
/usr/src/contrib/llvm/tools/clang/lib/Parse/ParseExpr.cpp:527
#13 ParseRHSOfBinaryExpression () at
/usr/src/contrib/llvm/tools/clang/lib/Parse/ParseExpr.cpp:416
#14 0x000000000202f0cd in ParseAssignmentExpression () at
/usr/src/contrib/llvm/tools/clang/lib/Parse/ParseExpr.cpp:175
#15 0x0000000002037929 in ParseExpression () at
/usr/src/contrib/llvm/tools/clang/lib/Parse/ParseExpr.cpp:124
#16 ParseParenExpression () at
/usr/src/contrib/llvm/tools/clang/lib/Parse/ParseExpr.cpp:2526
#17 0x0000000002032585 in ParseCastExpression () at
/usr/src/contrib/llvm/tools/clang/lib/Parse/ParseExpr.cpp:775
#18 0x000000000202f075 in ParseCastExpression () at
/usr/src/contrib/llvm/tools/clang/lib/Parse/ParseExpr.cpp:527
#19 ParseAssignmentExpression () at
/usr/src/contrib/llvm/tools/clang/lib/Parse/ParseExpr.cpp:172
#20 0x000000000201d27a in ParseBracketDeclarator () at
/usr/src/contrib/llvm/tools/clang/lib/Parse/ParseDecl.cpp:6549
#21 0x000000000201970b in ParseDirectDeclarator () at
/usr/src/contrib/llvm/tools/clang/lib/Parse/ParseDecl.cpp:5755
#22 0x0000000002017d42 in ParseDeclaratorInternal () at
/usr/src/contrib/llvm/tools/clang/lib/Parse/ParseDecl.cpp:5316
#23 0x0000000002014dc5 in ParseDeclarator () at
/usr/src/contrib/llvm/tools/clang/lib/Parse/ParseDecl.cpp:5185
#24 ParseStructDeclaration () at
/usr/src/contrib/llvm/tools/clang/lib/Parse/ParseDecl.cpp:3853
#25 0x0000000002015601 in ParseStructUnionBody () at
/usr/src/contrib/llvm/tools/clang/lib/Parse/ParseDecl.cpp:3954
#26 0x0000000001ff2d2e in ParseClassSpecifier () at
/usr/src/contrib/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp:1920
#27 0x000000000200abdc in ParseDeclarationSpecifiers () at
/usr/src/contrib/llvm/tools/clang/lib/Parse/ParseDecl.cpp:3633
#28 0x0000000001fb5e6f in ParseDeclOrFunctionDefInternal () at
/usr/src/contrib/llvm/tools/clang/lib/Parse/Parser.cpp:922
#29 0x0000000001fb5ad1 in ParseDeclarationOrFunctionDefinition () at
/usr/src/contrib/llvm/tools/clang/lib/Parse/Parser.cpp:1028
#30 0x0000000001fb4912 in ParseExternalDeclaration () at
/usr/src/contrib/llvm/tools/clang/lib/Parse/Parser.cpp:853
#31 0x0000000001fb3837 in ParseTopLevelDecl () at
/usr/src/contrib/llvm/tools/clang/lib/Parse/Parser.cpp:609
#32 0x0000000001faf605 in ParseAST () at
/usr/src/contrib/llvm/tools/clang/lib/Parse/ParseAST.cpp:147
#33 0x00000000019c44ee in Execute () at
/usr/src/contrib/llvm/tools/clang/lib/Frontend/FrontendAction.cpp:897
#34 0x00000000027ac661 in ExecuteAction () at
/usr/src/contrib/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp:991
#35 0x00000000015939f3 in ExecuteCompilerInvocation () at
/usr/src/contrib/llvm/tools/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:252
#36 0x00000000015887d0 in cc1_main () at
/usr/src/contrib/llvm/tools/clang/tools/driver/cc1_main.cpp:221
#37 0x0000000001590e6a in ExecuteCC1Tool () at
/usr/src/contrib/llvm/tools/clang/tools/driver/driver.cpp:309
#38 main () at /usr/src/contrib/llvm/tools/clang/tools/driver/driver.cpp:388

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
[hidden email] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|

[Bug 225862] clang dumps core on head@r329155

bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=225862

Dimitry Andric <[hidden email]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|New                         |Open

--- Comment #1 from Dimitry Andric <[hidden email]> ---
This looks quite a lot like https://bugs.llvm.org/show_bug.cgi?id=36157, where
somebody (either accidentally or on purpose) compiles a C++ source as C.  Or at
least, a .c file containing C++ constructs.  Is that the case here?

I've noticed that upstream didn't merge the fix to the 6.0 branch, so I'll put
in a request for that.

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
[hidden email] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|

[Bug 225862] clang dumps core on head@r329155

bugzilla-noreply
In reply to this post by bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=225862

--- Comment #2 from Dimitry Andric <[hidden email]> ---
Also, to verify that the upstream fix also fixes your crash, is there a
reproducible and self-contained test case?  Can you share the source?

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
[hidden email] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|

[Bug 225862] clang dumps core on head@r329155

bugzilla-noreply
In reply to this post by bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=225862

--- Comment #3 from Andrey V. Elsukov <[hidden email]> ---
Created attachment 190581
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=190581&action=edit
code to reproduce

I think these files should be enough, is it reproducible on your system?

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
[hidden email] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|

[Bug 225862] clang dumps core on head@r329155

bugzilla-noreply
In reply to this post by bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=225862

--- Comment #4 from [hidden email] ---
A commit references this bug:

Author: dim
Date: Tue Feb 13 17:05:51 UTC 2018
New revision: 329223
URL: https://svnweb.freebsd.org/changeset/base/329223

Log:
  Pull in r323998 from upstream clang trunk (by Richard Smith):

    PR36157: When injecting an implicit function declaration in C89, find
    the right DeclContext rather than injecting it wherever we happen to
    be.

    This avoids creating functions whose DeclContext is a struct or
    similar.

  This fixes assertion failures when parsing certain not-completely-valid
  struct declarations.

  Reported by:  ae
  PR:           225862
  MFC after:    3 months
  X-MFC-With:   r327952

Changes:
  head/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
[hidden email] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|

[Bug 225862] clang dumps core on head@r329155

bugzilla-noreply
In reply to this post by bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=225862

Dimitry Andric <[hidden email]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|Open                        |Closed
         Resolution|---                         |FIXED

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
[hidden email] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "[hidden email]"