(original) (raw)

Please file a bug with this example. I think the verifier ought to catch this kind of thing.

--paulr

From: llvm-dev \[mailto:llvm-dev-bounces@lists.llvm.org\] On Behalf Of Andrew Kelley via llvm-dev
Sent: Wednesday, November 15, 2017 7:36 AM
To: UE US
Cc: LLVM Dev
Subject: Re: \[llvm-dev\] workaround for debug info bug?

Thanks for the repros.

I think this line may be the problem:

!30 = distinct !DICompositeType(tag: DW\_TAG\_union\_type, name: "Foo", scope: !30, file: !5, line: 1, size: 32, align: 32, elements: !31)

The scope is itself. I'll investigate this in the frontend.

On Wed, Nov 15, 2017 at 9:29 AM, UE US via llvm-dev <llvm-dev@lists.llvm.org> wrote:

It reproduces with trunk on linux here as well.

...
#231 0x0000000004c5f822 llvm::DwarfUnit::getOrCreateContextDIE(llvm::DIScope const\*) /home/jimshinns/llvm-6.0-src/lib/CodeGen/AsmPrinter/DwarfUnit.cpp:671:0
#232 0x0000000004c5faf2 llvm::DwarfUnit::getOrCreateTypeDIE(llvm::MDNode const\*) /home/jimshinns/llvm-6.0-src/lib/CodeGen/AsmPrinter/DwarfUnit.cpp:714:0
#233 0x0000000004c5f822 llvm::DwarfUnit::getOrCreateContextDIE(llvm::DIScope const\*) /home/jimshinns/llvm-6.0-src/lib/CodeGen/AsmPrinter/DwarfUnit.cpp:671:0
#234 0x0000000004c5faf2 llvm::DwarfUnit::getOrCreateTypeDIE(llvm::MDNode const\*) /home/jimshinns/llvm-6.0-src/lib/CodeGen/AsmPrinter/DwarfUnit.cpp:714:0
#235 0x0000000004c5f822 llvm::DwarfUnit::getOrCreateContextDIE(llvm::DIScope const\*) /home/jimshinns/llvm-6.0-src/lib/CodeGen/AsmPrinter/DwarfUnit.cpp:671:0
#236 0x0000000004c5faf2 llvm::DwarfUnit::getOrCreateTypeDIE(llvm::MDNode const\*) /home/jimshinns/llvm-6.0-src/lib/CodeGen/AsmPrinter/DwarfUnit.cpp:714:0
#237 0x0000000004c5f822 llvm::DwarfUnit::getOrCreateContextDIE(llvm::DIScope const\*) /home/jimshinns/llvm-6.0-src/lib/CodeGen/AsmPrinter/DwarfUnit.cpp:671:0
#238 0x0000000004c5faf2 llvm::DwarfUnit::getOrCreateTypeDIE(llvm::MDNode const\*) /home/jimshinns/llvm-6.0-src/lib/CodeGen/AsmPrinter/DwarfUnit.cpp:714:0
#239 0x0000000004c5f822 llvm::DwarfUnit::getOrCreateContextDIE(llvm::DIScope const\*) /home/jimshinns/llvm-6.0-src/lib/CodeGen/AsmPrinter/DwarfUnit.cpp:671:0
#240 0x0000000004c5faf2 llvm::DwarfUnit::getOrCreateTypeDIE(llvm::MDNode const\*) /home/jimshinns/llvm-6.0-src/lib/CodeGen/AsmPrinter/DwarfUnit.cpp:714:0
#241 0x0000000004c5f822 llvm::DwarfUnit::getOrCreateContextDIE(llvm::DIScope const\*) /home/jimshinns/llvm-6.0-src/lib/CodeGen/AsmPrinter/DwarfUnit.cpp:671:0
#242 0x0000000004c5faf2 llvm::DwarfUnit::getOrCreateTypeDIE(llvm::MDNode const\*) /home/jimshinns/llvm-6.0-src/lib/CodeGen/AsmPrinter/DwarfUnit.cpp:714:0
#243 0x0000000004c5f822 llvm::DwarfUnit::getOrCreateContextDIE(llvm::DIScope const\*) /home/jimshinns/llvm-6.0-src/lib/CodeGen/AsmPrinter/DwarfUnit.cpp:671:0
#244 0x0000000004c5faf2 llvm::DwarfUnit::getOrCreateTypeDIE(llvm::MDNode const\*) /home/jimshinns/llvm-6.0-src/lib/CodeGen/AsmPrinter/DwarfUnit.cpp:714:0
#245 0x0000000004c5f822 llvm::DwarfUnit::getOrCreateContextDIE(llvm::DIScope const\*) /home/jimshinns/llvm-6.0-src/lib/CodeGen/AsmPrinter/DwarfUnit.cpp:671:0
#246 0x0000000004c5faf2 llvm::DwarfUnit::getOrCreateTypeDIE(llvm::MDNode const\*) /home/jimshinns/llvm-6.0-src/lib/CodeGen/AsmPrinter/DwarfUnit.cpp:714:0
#247 0x0000000004c5f822 llvm::DwarfUnit::getOrCreateContextDIE(llvm::DIScope const\*) /home/jimshinns/llvm-6.0-src/lib/CodeGen/AsmPrinter/DwarfUnit.cpp:671:0
#248 0x0000000004c5faf2 llvm::DwarfUnit::getOrCreateTypeDIE(llvm::MDNode const\*) /home/jimshinns/llvm-6.0-src/lib/CodeGen/AsmPrinter/DwarfUnit.cpp:714:0
#249 0x0000000004c5f822 llvm::DwarfUnit::getOrCreateContextDIE(llvm::DIScope const\*) /home/jimshinns/llvm-6.0-src/lib/CodeGen/AsmPrinter/DwarfUnit.cpp:671:0
#250 0x0000000004c5faf2 llvm::DwarfUnit::getOrCreateTypeDIE(llvm::MDNode const\*) /home/jimshinns/llvm-6.0-src/lib/CodeGen/AsmPrinter/DwarfUnit.cpp:714:0
#251 0x0000000004c5f822 llvm::DwarfUnit::getOrCreateContextDIE(llvm::DIScope const\*) /home/jimshinns/llvm-6.0-src/lib/CodeGen/AsmPrinter/DwarfUnit.cpp:671:0
#252 0x0000000004c5faf2 llvm::DwarfUnit::getOrCreateTypeDIE(llvm::MDNode const\*) /home/jimshinns/llvm-6.0-src/lib/CodeGen/AsmPrinter/DwarfUnit.cpp:714:0
#253 0x0000000004c5f822 llvm::DwarfUnit::getOrCreateContextDIE(llvm::DIScope const\*) /home/jimshinns/llvm-6.0-src/lib/CodeGen/AsmPrinter/DwarfUnit.cpp:671:0
#254 0x0000000004c5faf2 llvm::DwarfUnit::getOrCreateTypeDIE(llvm::MDNode const\*) /home/jimshinns/llvm-6.0-src/lib/CodeGen/AsmPrinter/DwarfUnit.cpp:714:0
#255 0x0000000004c5f822 llvm::DwarfUnit::getOrCreateContextDIE(llvm::DIScope const\*) /home/jimshinns/llvm-6.0-src/lib/CodeGen/AsmPrinter/DwarfUnit.cpp:671:0
Stack dump:
0\. Program arguments: /usr/local/bin/clang-6.0 -cc1 -triple x86\_64-unknown-linux-gnu -emit-obj -mrelax-all -disable-free -main-file-name test.ll -mrelocation-model static -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases \-munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -coverage-notes-file /home/jimshinns/test.gcno -resource-dir /usr/local/lib/clang/6.0.0 -fdebug-compilation-dir /home/jimshinns -ferror-limit 19 -fmessage-length 80 \-fobjc-runtime=gcc -fdiagnostics-show-option -fcolor-diagnostics -o test.o -x ir test.ll
1\. Code generation
clang-6.0: error: unable to execute command: Segmentation fault (core dumped)
clang-6.0: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 6.0.0 (trunk 318165)
Target: x86\_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/local/bin


GNOMETOYS

On Wed, Nov 15, 2017 at 2:00 AM, Nemanja Ivanovic via llvm-dev <llvm-dev@lists.llvm.org> wrote:

Seems like something infinite-recursion like to me:
$ clang --version
clang version 6.0.0 (trunk 317833)
Target: powerpc64le-unknown-linux-gnu
$ clang -c test.ll
warning: overriding the module target triple with powerpc64le-unknown-linux-gnu \[-Woverride-module\]
...
#255 0x0000000012b07a78 llvm::DwarfUnit::getOrCreateTypeDIE(llvm::MDNode const\*)
...

So I'd say it reproduces.

On Wed, Nov 15, 2017 at 6:20 AM, 陳韋任 via llvm-dev <llvm-dev@lists.llvm.org> wrote:

Test on Mac, with not latest but trunk code. I get error below:

$ clang -c test.ll
warning: overriding the module target triple with x86\_64-apple-macosx10.13.0 \[-Woverride-module\]

clang-6.0: error: unable to execute command: Illegal instruction: 4

​I see no infinite recursion here.​

--

Wei-Ren Chen (陳韋任)
Homepage: https://people.cs.nctu.edu.tw/\~chenwj

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
LLVM Developers mailing list
llvm-dev@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev


\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
LLVM Developers mailing list
llvm-dev@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev


\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
LLVM Developers mailing list
llvm-dev@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev