[LLVMbugs] [Bug 4710] New: Assert fires in the Verifier when called from the PassManager in 'opt'

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Tue Aug 11 17:34:48 PDT 2009


http://llvm.org/bugs/show_bug.cgi?id=4710

           Summary: Assert fires in the Verifier when called from the
                    PassManager in 'opt'
           Product: new-bugs
           Version: unspecified
          Platform: PC
        OS/Version: Solaris
            Status: NEW
          Severity: major
          Priority: P2
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: eocallaghan at auroraux.org
                CC: llvmbugs at cs.uiuc.edu


Good day,

/opt/clang/bin/opt asserts and aborts with the following traces below;

Suspected files in question:
 lib/VMCore/Verifier.cpp
 lib/VMCore/PassManager.cpp

== In gdb on Linux ==
Instruction does not dominate all uses!
        %tmp12 = phi i32 [ 0, %BB13 ], [ %tmp10, %BB9 ], [ %tmp12, %BB ]       
        ; <i32> [#uses=1]    %tmp12 = phi i32 [ 0, %BB13 ], [ %tmp10, %BB9 ], [
%tmp12, %BB ]         ; <i32> [#uses=1]Broken module found, compilation
aborted!
0   opt               0x003c3356 llvm::sys::SetInterruptFunction(void (*)()) +
82
1   opt               0x003c3745 llvm::sys::SetInterruptFunction(void (*)()) +
1089
2   libSystem.B.dylib 0x96ba12bb _sigtramp + 43
3   libSystem.B.dylib 0xffffffff _sigtramp + 1766190447
4   libSystem.B.dylib 0x96c1523a raise + 26
5   libSystem.B.dylib 0x96c21679 abort + 73
6   opt               0x0037a687 llvm::BaseStream<std::ostream>&
llvm::BaseStream<std::ostream>::operator<< <char [2]>(char const (&) [2]) + 351
7   opt               0x0037e09b llvm::InstVisitor<(anonymous
namespace)::Verifier, void>::visit(llvm::Function&) + 185
8   opt               0x003424a0
llvm::FPPassManager::runOnFunction(llvm::Function&) + 304
9   opt               0x00342652
llvm::FPPassManager::runOnModule(llvm::Module&) + 84
10  opt               0x00342089
llvm::MPPassManager::runOnModule(llvm::Module&) + 385
11  opt               0x003422de llvm::PassManagerImpl::run(llvm::Module&) +
112
12  opt               0x00342337 llvm::PassManager::run(llvm::Module&) + 27
13  opt               0x0000d340 main + 4634
14  opt               0x00001eb6 start + 54
Stack dump:
0.      Running pass 'Function Pass Manager' on module '<stdin>'.
1.      Running pass 'Module Verifier' on function '@func_105'

======8<=========

Instruction does not dominate all uses!
        %tmp12 = phi i32 [ 0, %BB13 ], [ %tmp10, %BB9 ], [ %tmp12, %BB ]       
        ; <i32> [#uses=1]    %tmp12 = phi i32 [ 0, %BB13 ], [ %tmp10, %BB9 ], [
%tmp12, %BB ]         ; <i32> [#uses=1]Broken module found, compilation
aborted!

Program received signal SIGABRT, Aborted.
0x96ba2e42 in __kill ()
(gdb) bt
#0  0x96ba2e42 in __kill ()
#1  0x96ba2e34 in kill$UNIX2003 ()
#2  0x96c1523a in raise ()
#3  0x96c21679 in abort ()
#4  0x0037a687 in (anonymous namespace)::Verifier::abortIfBroken
(this=0xe02480) at Verifier.cpp:216
#5  0x0037e09b in (anonymous namespace)::Verifier::runOnFunction
(this=0xe02480, F=@0xe02790) at Verifier.cpp:171
#6  0x003424a0 in llvm::FPPassManager::runOnFunction (this=0xe021e0,
F=@0xe02790) at PassManager.cpp:1372
#7  0x00342652 in llvm::FPPassManager::runOnModule (this=0xe021e0, M=@0xe02b00)
at PassManager.cpp:1395
#8  0x00342089 in llvm::MPPassManager::runOnModule (this=0xe01bd0, M=@0xe02b00)
at PassManager.cpp:1448
#9  0x003422de in llvm::PassManagerImpl::run (this=0xe01a00, M=@0xe02b00) at
PassManager.cpp:1529
#10 0x00342337 in llvm::PassManager::run (this=0xbffff128, M=@0xe02b00) at
PassManager.cpp:1558
#11 0x0000d340 in main (argc=4, argv=0xbffff1ac) at opt.cpp:522

== On solaris from llvm/test/Transforms/SimplifyCFG/2009-01-18-PHIPropCrash.ll
test data. ==

-bash-3.2$ /opt/clang/bin/llvm-as <
/export/home2/edward/lab/llvm/llvm/test/Transforms/SimplifyCFG/2009-01-18-PHIPropCrash.ll
| /opt/clang/bin/opt -simplifycfg
WARNING: You're attempting to print out a bitcode file.
This is inadvisable as it may cause display problems. If
you REALLY want to taste LLVM bitcode first-hand, you
can force output with the `-f' option.

Instruction does not dominate all uses!
        %tmp12 = phi i32 [ 0, %BB13 ], [ %tmp10, %BB9 ], [ %tmp12, %BB ]       
        ; <i32> [#uses=1]       %tmp12 = phi i32 [ 0, %BB13 ], [ %tmp10, %BB9
], [ %tmp12, %BB ]                ; <i32> [#uses=1]Broken module found,
compilation aborted!
0   opt       0x086f8778 llvm::sys::SetInterruptFunction(void (*)()) + 88
1   opt       0x086f8d82 llvm::sys::RemoveFileOnSignal(llvm::sys::Path const&,
std::string*) + 596
2   libc.so.1 0xfeb6d0af __sighndlr + 15
3   libc.so.1 0xfeb601af call_user_handler + 687
4   libc.so.1 0xfeb71997 _lwp_kill + 7
5   libc.so.1 0xfeb1ab7a raise + 34
6   libc.so.1 0xfeaf1f8c abort + 116
7   opt       0x0869a587 llvm::EVT::EVT() + 1445
8   opt       0x086a7e4d llvm::verifyFunction(llvm::Function const&,
llvm::VerifierFailureAction) + 53485
9   opt       0x08672ec2 llvm::FPPassManager::runOnFunction(llvm::Function&) +
302
10  opt       0x0867308a llvm::FPPassManager::runOnModule(llvm::Module&) + 110
11  opt       0x086711b1 llvm::MPPassManager::runOnModule(llvm::Module&) + 393
12  opt       0x0867333a llvm::PassManagerImpl::run(llvm::Module&) + 124
13  opt       0x0867339f llvm::PassManager::run(llvm::Module&) + 39
14  opt       0x0830f982 main + 4606
15  opt       0x082fe070 _start + 128
Stack dump:
0.      Running pass 'Function Pass Manager' on module '<stdin>'.
1.      Running pass 'Module Verifier' on function '@func_105'
Abort (core dumped)

== Using gdb on Solaris ==

-bash-3.2$ /opt/clang/bin/llvm-as <
/export/home2/edward/lab/llvm/llvm/test/Transforms/SimplifyCFG/2009-01-18-PHIPropCrash.ll
> output-from-llvm-as
-bash-3.2$ more output-from-llvm-as 
-bash-3.2$ gdb /opt/clang/bin/opt 
GNU gdb 6.3.50_2004-11-23-cvs
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-pc-solaris2.11"...
(gdb) run -simplifycfg <output-from-llvm-as
Starting program: /opt/clang/bin/opt -simplifycfg <output-from-llvm-as
warning: Unable to find dynamic linker breakpoint function.
GDB will be unable to debug shared library initializers
and track explicitly loaded dynamic code.
warning: Lowest section in /lib/libpthread.so.1 is .dynamic at 00000074
WARNING: You're attempting to print out a bitcode file.
This is inadvisable as it may cause display problems. If
you REALLY want to taste LLVM bitcode first-hand, you
can force output with the `-f' option.

Instruction does not dominate all uses!
        %tmp12 = phi i32 [ 0, %BB13 ], [ %tmp10, %BB9 ], [ %tmp12, %BB ]       
        ; <i32> [#uses=1]       %tmp12 = phi i32 [ 0, %BB13 ], [ %tmp10, %BB9
], [ %tmp12, %BB ]                ; <i32> [#uses=1]Broken module found,
compilation aborted!

Program received signal SIGABRT, Aborted.
0xfeb71997 in _lwp_kill () from /lib/libc.so.1
(gdb) bt
#0  0xfeb71997 in _lwp_kill () from /lib/libc.so.1
#1  0xfeb6aa0c in thr_kill () from /lib/libc.so.1
#2  0xfeb1ab7a in raise () from /lib/libc.so.1
#3  0xfeaf1f8c in abort () from /lib/libc.so.1
#4  0x0869a587 in abortIfBroken (this=0x8796c70) at Verifier.cpp:216
#5  0x086a7e4d in runOnFunction (this=0x8796c70, F=@0x87970d0) at
Verifier.cpp:171
#6  0x08672ec2 in llvm::FPPassManager::runOnFunction (this=0x8793360,
F=@0x87970d0) at PassManager.cpp:1372
#7  0x0867308a in llvm::FPPassManager::runOnModule (this=0x8793360,
M=@0x8796a58) at PassManager.cpp:1395
#8  0x086711b1 in llvm::MPPassManager::runOnModule (this=0x8798a10,
M=@0x8796a58) at PassManager.cpp:1448
#9  0x0867333a in llvm::PassManagerImpl::run (this=0x87964e8, M=@0x8796a58) at
PassManager.cpp:1529
#10 0x0867339f in llvm::PassManager::run (this=0x8047cd0, M=@0x8796a58) at
PassManager.cpp:1558
#11 0x0830f982 in main (argc=2, argv=0x8047d50) at opt.cpp:522

I tried my best to collect all the data I know of here. I don't really
understand the problem..

$ /opt/clang/bin/opt --version
Low Level Virtual Machine (http://llvm.org/):
  llvm version 2.6svn
  DEBUG build with assertions.
  Built Aug 11 2009(21:04:11).

  Registered Targets:
    (none)
$ /opt/clang/bin/clang --version
clang version 1.0 (http://llvm.org/svn/llvm-project/cfe/trunk 78700M)
Target: i386-pc-solaris2.11
Thread model: posix


Best Regards,
Edward O'Callaghan.


-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list