LLVM 3.0rc4 / 2.9: failing MultiJitTest.JitPool on Windows 7

Hi,

I have successfully built a shared version of LLVM (both 3.0rc4 and 2.9) on Windows 7 using MinGW. From there, I thought I would run the tests located under unittests (i.e. ADTTests, AnalysisTests, ExecutionEnginetests, JITTests, SupportTests, UtilsTests and VMCoreTests). All of them pass without any problem, except for JITTests which fails on the MultiJitTest.JitPool test:

[==========] Running 25 tests from 6 test cases.

[----------] Global test environment set-up.

[----------] 3 tests from MultiJitTest

[ RUN ] MultiJitTest.EagerMode

[ OK ] MultiJitTest.EagerMode (10 ms)

[ RUN ] MultiJitTest.LazyMode

[ OK ] MultiJitTest.LazyMode (0 ms)

[ RUN ] MultiJitTest.JitPool

MultiJITTest.cpp:164: Failure

Value of: (intptr_t)&getPointerToNamedFunction

Actual: 4478936

Expected: (intptr_t)getPointerToNamedFunction(“getPointerToNamedFunction”)

Which is: 1744875364

[ FAILED ] MultiJitTest.JitPool (30 ms)

[----------] 3 tests from MultiJitTest (60 ms total)

I wouldn’t imagine that this is ‘normal’, right?

Otherwise, the original reason for running those tests is that though I am able to use LLVM within my Qt-based application (and this on Windows, Linux and Mac OS X), it happens that on Windows I get a Microsoft Visual C++ Runtime Library message whenever I exit my application. The message reads that “this application has requested the Runtime to terminate it in an unusual way”. For information, ‘my’ current LLVM code is very simple since it’s a shameless copy/paste of the HowToUseJIT example (in the examples folder). Also, if I comment out line 116 (and 119) of examples/HowToUseJIT/HowToUseJIT.cpp (i.e. GenericValue gv = EE->runFunction(FooF, noargs);), then I don’t get that message when I exit my application.

So, any idea what could be causing this message from popping up? Also, could that be related to the failing test in some way or another? I don’t believe so (based on the test’s source code), but one never knows…

Cheers, Alan.

Alan,
It was known (though, not-well-known), and resolved in ToT r144178.

...Takumi

> I have successfully built a shared version of LLVM (both 3.0rc4 and
> 2.9) on Windows 7 using MinGW. From there, I thought I would run the
> tests located under unittests (i.e. ADTTests, AnalysisTests,
> ExecutionEnginetests, JITTests, SupportTests, UtilsTests and
> VMCoreTests). All of them pass without any problem, except for
> JITTests which fails on the MultiJitTest.JitPool test:

> [ RUN ] MultiJitTest.JitPool
>
> MultiJITTest.cpp:164: Failure
>
> Value of: (intptr_t)&getPointerToNamedFunction
>
> Actual: 4478936
>
> Expected:
> (intptr_t)getPointerToNamedFunction("getPointerToNamedFunction")
>
> Which is: 1744875364
>
> [ FAILED ] MultiJitTest.JitPool (30 ms)
>
> [----------] 3 tests from MultiJitTest (60 ms total)

> I wouldn’t imagine that this is ‘normal’, right?

Alan,
It was known (though, not-well-known), and resolved in ToT r144178.

Hi Takumi,

I would have thought indeed that it was known. I just hadn't searched
Bugzilla (http://llvm.org/bugs/, right?) and now that I have for "JITTests"
and "MultiJitTest", I get the feeling that no bug was tracked for this
issue? Whatever the case, I have had a look at r144178 and I can now
understand why the test used to fail, so thanks for the information.
Otherwise, may we expect this revision to be merged into the 3.0 branch?

Regarding my Windows issue, I don't imagine you have any idea about it...?
:slight_smile:

Cheers, Alan.