[LLVMbugs] [Bug 6543] New: ARM JIT CodeGen asserts while jiting java.awt.EventDispatchThread::pumpOneEventForFilters

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Mar 8 04:23:32 PST 2010


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

           Summary: ARM JIT CodeGen asserts while jiting
                    java.awt.EventDispatchThread::pumpOneEventForFilters
           Product: new-bugs
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: xerxes at zafena.se
                CC: llvmbugs at cs.uiuc.edu


Created an attachment (id=4424)
 --> (http://llvm.org/bugs/attachment.cgi?id=4424)
testcase fdumpmain.bc to be JIT codegen with lli on arm

Testcase running on ARM linux
:
lli < fdumpmain.bc
lli: /media/disk/llvm/lib/Target/ARM/ARMJITInfo.h:142: void
llvm::ARMJITInfo::addJumpTableBaseAddr(unsigned int, intptr_t): Assertion `JTI
< JumpTableId2AddrMap.size()' failed.
0  libLLVM-2.7svn.so 0x408bd7a0
Stack dump:
0.    Program arguments: lli 
1.    Running pass 'ARM Machine Code Emitter' on function
'@"java.awt.EventDispatchThread::pumpOneEventForFilters"'
Aborted

JTI are 23 and JumpTableId2AddrMap.size are 12 when hitting the assert using
the testcase above.

GDB output when jiting the function
java.awt.EventDispatchThread::pumpOneEventForFilters using OpenJDK Icedtea6
Shark JIT on ARM gnu-eabi-linux.

627  !b   java.awt.EventDispatchThread::pumpOneEventForFilters (244 bytes)
XXX JTI 24 JumpTableId2AddrMap.size 12
[Switching to Thread 0x67eaa490 (LWP 30820)]

Breakpoint 2, emitInlineJumpTable (this=0xbf260, JTIndex=36)
    at /media/disk/llvm/lib/Target/ARM/ARMJITInfo.h:146
146          assert(JTI < JumpTableId2AddrMap.size()); 
Current language:  auto; currently c++
(gdb) bt
#0  emitInlineJumpTable (this=0xbf260, JTIndex=36)
    at /media/disk/llvm/lib/Target/ARM/ARMJITInfo.h:146
#1  0x409a12d8 in emitInstruction (this=0xbf260, MI=@0x27c6170)
    at /media/disk/llvm/lib/Target/ARM/ARMCodeEmitter.cpp:347
#2  0x409a1ae0 in runOnMachineFunction (this=0xbf260, MF=@0x2713118)
    at /media/disk/llvm/lib/Target/ARM/ARMCodeEmitter.cpp:196
#3  0x40adac00 in llvm::MachineFunctionPass::runOnFunction (this=0xbf260, 
    F=<value optimized out>)
    at /media/disk/llvm/lib/CodeGen/MachineFunctionPass.cpp:27
#4  0x40c48624 in llvm::FPPassManager::runOnFunction (this=0x9dea8, 
    F=@0x2724208) at /media/disk/llvm/lib/VMCore/PassManager.cpp:1350
#5  0x40c487bc in llvm::FunctionPassManagerImpl::run (this=0x9d698, 
    F=@0x2724208) at /media/disk/llvm/lib/VMCore/PassManager.cpp:1301
#6  0x40c48a20 in llvm::FunctionPassManager::run (this=0x9c750, F=@0x2724208)
    at /media/disk/llvm/lib/VMCore/PassManager.cpp:1231
#7  0x40d22820 in llvm::JIT::runJITOnFunctionUnlocked (this=0x9cfc8, 
    F=0x2910730, locked=@0x29106e8)
    at /media/disk/llvm/lib/ExecutionEngine/JIT/JIT.cpp:631
#8  0x40d233f4 in llvm::JIT::getPointerToFunction (this=0x9cfc8, F=0x2724208)
    at /media/disk/llvm/lib/ExecutionEngine/JIT/JIT.cpp:683
#9  0x40495ea4 in SharkCompiler::generate_native_code (this=0x7cde8, 
    entry=0x415fecc0, function=0x2724208,
    name=0xbfc10 "java.awt.EventDispatchThread::pumpOneEventForFilters")
    at
/media/disk/icedtea6-shark-shared/openjdk/hotspot/src/share/vm/shark/sharkCompiler.cpp:276
#10 0x404964b8 in SharkCompiler::compile_method (this=0x7cde8, env=0x67ea9b48, 
    target=0xd4248, entry_bci=-1)
    at
/media/disk/icedtea6-shark-shared/openjdk/hotspot/src/share/vm/shark/sharkCompiler.cpp:173
#11 0x40295fcc in CompileBroker::invoke_compiler_on_method (task=0xc38f0)
    at
/media/disk/icedtea6-shark-shared/openjdk/hotspot/src/share/vm/compiler/compileBroker.cpp:1545
#12 0x402965a0 in CompileBroker::compiler_thread_loop ()
    at
/media/disk/icedtea6-shark-shared/openjdk/hotspot/src/share/vm/compiler/compileBroker.cpp:1397
#13 0x404d0118 in JavaThread::thread_main_inner (this=0xbf9c0)
    at
/media/disk/icedtea6-shark-shared/openjdk/hotspot/src/share/vm/runtime/thread.cpp:1380
#14 0x40436258 in java_start (thread=0xbf9c0)
    at
/media/disk/icedtea6-shark-shared/openjdk/hotspot/src/os/linux/vm/os_linux.cpp:786
#15 0x4005f30c in start_thread () from /lib/vfp/libpthread.so.0
#16 0x40156d38 in clone () from /lib/vfp/libc.so.6
Backtrace stopped: frame did not save the PC

The attached testcase fdumpmain.bc was generated by running F->dump() on frame
#8. The testcase have an added dummy main stub that allocates some memory and
executes the function inorder to make lli accept the ir. 
the testcase are not expected to run using lli only expected to pass
getPointerToFunction without asserting during JIT codegeneration.

Since bugpoint/lli cant be run with an option to only run the JIT code
generation prevents me from generating a bugpoint-reduced-simplified.bc

-- 
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