[LLVMbugs] [Bug 4772] New: ARM unittest JIT. GlobalInFunction fail during ARM Machine Code Emitter
bugzilla-daemon at cs.uiuc.edu
bugzilla-daemon at cs.uiuc.edu
Tue Aug 25 01:13:36 PDT 2009
http://llvm.org/bugs/show_bug.cgi?id=4772
Summary: ARM unittest JIT.GlobalInFunction fail during ARM
Machine Code Emitter
Product: libraries
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: Backend: ARM
AssignedTo: unassignedbugs at nondot.org
ReportedBy: xerxes at zafena.se
CC: llvmbugs at cs.uiuc.edu
(gdb) run
Starting program:
/usr/src/build/buildbot/llvm-arm-linux/build/unittests/ExecutionEngine/JIT/Debug/JITTests
[Thread debugging using libthread_db enabled]
[==========] Running 10 tests from 3 test cases.
[----------] Global test environment set-up.
[----------] 3 tests from JITEventListenerTest
[ RUN ] JITEventListenerTest.Simple
[ OK ] JITEventListenerTest.Simple
[ RUN ] JITEventListenerTest.MultipleListenersDontInterfere
[ OK ] JITEventListenerTest.MultipleListenersDontInterfere
[ RUN ] JITEventListenerTest.MatchesMachineCodeInfo
[ OK ] JITEventListenerTest.MatchesMachineCodeInfo
[----------] 6 tests from JITMemoryManagerTest
[ RUN ] JITMemoryManagerTest.NoAllocations
[ OK ] JITMemoryManagerTest.NoAllocations
[ RUN ] JITMemoryManagerTest.TestCodeAllocation
[ OK ] JITMemoryManagerTest.TestCodeAllocation
[ RUN ] JITMemoryManagerTest.TestSmallGlobalInts
[ OK ] JITMemoryManagerTest.TestSmallGlobalInts
[ RUN ] JITMemoryManagerTest.TestLargeGlobalArray
[ OK ] JITMemoryManagerTest.TestLargeGlobalArray
[ RUN ] JITMemoryManagerTest.TestManyGlobals
[ OK ] JITMemoryManagerTest.TestManyGlobals
[ RUN ] JITMemoryManagerTest.TestManyStubs
[ OK ] JITMemoryManagerTest.TestManyStubs
[----------] 1 test from JIT
[ RUN ] JIT.GlobalInFunction
[New Thread 0x4001f590 (LWP 17670)]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x4001f590 (LWP 17670)]
0x00401850 in std::vector<llvm::MachineMove, std::allocator<llvm::MachineMove>
>::clear (this=0x5a5a5a72) at /usr/include/c++/4.3/bits/stl_vector.h:892
892 { _M_erase_at_end(this->_M_impl._M_start); }
(gdb) bt
#0 0x00401850 in std::vector<llvm::MachineMove,
std::allocator<llvm::MachineMove> >::clear (this=0x5a5a5a72) at
/usr/include/c++/4.3/bits/stl_vector.h:892
#1 0x003ffc70 in llvm::MachineModuleInfo::EndFunction (this=0x5a5a5a5a) at
MachineModuleInfo.cpp:76
#2 0x00376780 in finishFunction (this=0x9528c0, F=@0x938210) at
JITEmitter.cpp:1151
#3 0x00066e70 in runOnMachineFunction (this=0x950100, MF=@0x938210) at
ARMCodeEmitter.cpp:206
#4 0x003e8ed0 in llvm::MachineFunctionPass::runOnFunction (this=0x950100,
F=@0x9508d0) at MachineFunctionPass.cpp:31
#5 0x006f227c in llvm::FPPassManager::runOnFunction (this=0x9527e8,
F=@0x9508d0) at PassManager.cpp:1372
#6 0x006f30a0 in llvm::FunctionPassManagerImpl::run (this=0x945748,
F=@0x9508d0) at PassManager.cpp:1324
#7 0x006f3340 in llvm::FunctionPassManager::run (this=0x9512e0, F=@0x9508d0)
at PassManager.cpp:1254
#8 0x00368718 in llvm::JIT::runJITOnFunctionUnlocked (this=0x951250,
F=0x9508d0, locked=@0xbec79304) at JIT.cpp:598
#9 0x00368cb4 in llvm::JIT::getPointerToFunction (this=0x951250, F=0x9508d0)
at JIT.cpp:670
#10 0x0002bb08 in TestBody (this=0x9342b8) at JITTest.cpp:88
#11 0x007a5fa0 in testing::Test::Run (this=0x9342b8) at gtest.cc:2035
#12 0x007ac130 in testing::internal::TestInfoImpl::Run (this=0x931ae0) at
gtest.cc:2257
#13 0x007b4dd0 in testing::internal::TestInfoImpl::RunTest (test_info=0x931ad0)
at
/usr/src/build/buildbot/llvm-arm-linux/build/utils/unittest/googletest/include/gtest/internal/gtest-internal-inl.h:611
#14 0x007ad878 in testing::internal::List<testing::TestInfo*>::ForEach<void
(*)(testing::TestInfo*)> (this=0x931bd0,
functor=0x7b4da8
<testing::internal::TestInfoImpl::RunTest(testing::TestInfo*)>)
at
/usr/src/build/buildbot/llvm-arm-linux/build/utils/unittest/googletest/include/gtest/internal/gtest-internal-inl.h:365
#15 0x007abf9c in testing::TestCase::Run (this=0x931ba0) at gtest.cc:2353
#16 0x007b4da0 in testing::TestCase::RunTestCase (test_case=0x931ba0)
at
/usr/src/build/buildbot/llvm-arm-linux/build/utils/unittest/googletest/include/gtest/internal/gtest-internal-inl.h:730
#17 0x007ad480 in testing::internal::List<testing::TestCase*>::ForEach<void
(*)(testing::TestCase*)> (this=0x931118,
functor=0x7b4d84 <testing::TestCase::RunTestCase(testing::TestCase*)>)
at
/usr/src/build/buildbot/llvm-arm-linux/build/utils/unittest/googletest/include/gtest/internal/gtest-internal-inl.h:365
#18 0x007abd20 in testing::internal::UnitTestImpl::RunAllTests (this=0x9310d0)
at gtest.cc:3550
#19 0x007abea4 in testing::UnitTest::Run (this=0x9300cc) at gtest.cc:3299
#20 0x007bbe34 in main (argc=1, argv=0xbec797c4) at TestMain.cpp:14
(gdb)
For some reason the FrameMoves object pointer got the funny inaccessible memory
address 0x5a5a5a72 at frame 1 and makes the ExecutionEngine crash during
clear.
/// EndFunction - Discard function meta information.
///
void MachineModuleInfo::EndFunction() {
// Clean up frame info.
FrameMoves.clear();
--
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