[LLVMdev] VMKIT: Assertion at build

Foivos S. Zakkak foivos at zakkak.net
Sun Jun 10 13:09:10 PDT 2012


Hi Nicolas,

I finally found the root of the problem. Build was unable to locate 
llvm-build because it was looking for it in
path/to/vmkit_src/utils/llvm-build while it was located in 
path/to/llvm_src/utils/llvm-build

Actually llvm-build's path is defined by the 
path/to/llvm_src/Makefile.rules and looks like this
LLVMBuildTool   := $(PROJ_SRC_ROOT)/utils/llvm-build/llvm-build
however in the case of vmkit it should be
LLVMBuildTool   := $(LLVM_SRC_ROOT)/utils/llvm-build/llvm-build

i Also noticed that in the vmkit's generated (by configure) 
Makefile.config there are defined PROJ_SRC_ROOT and VMKIT_SRC_ROOT as 
well as PROJ_OBJ_ROOT and VMKIT_OBJ_ROOT. What should be the difference 
between PROJ_* and VMKIT_* paths? In my case they where equal (so what's 
the need for 2 different variables?)

I hope the first section will help you to create a patch
(i edited my Makefile.rules just before configuring vmkit to make it work)

Thank you
Foivos

On 08/06/12 00:32, Foivos S. Zakkak wrote:
> Hi Nicolas,
>
> it looks like there are missing things
>
> $ more lib/j3/LLVMRuntime/LLVMRuntime.inc
> // Generated by llvm2cpp - DO NOT MODIFY!
>
>
> Module* makeLLVMModuleContents(Module *mod) {
>
> mod->setModuleIdentifier("<stdin>");
>
> // Type Definitions
>
> // Function Declarations
>
> // Global Variable Declarations
>
>
> // Constant Definitions
>
> // Global Variable Definitions
>
> // Function Definitions
>
> return mod;
>
> }
>
> Foivos
>
> On 07/06/12 23:59, Nicolas Geoffray wrote:
>> Hi Fovios,
>>
>> Do you have a ./lib/j3/LLVMRuntime/LLVMRuntime.inc file being generated?
>> What does it contain?
>>
>> Nicolas
>>
>> On Thu, Jun 7, 2012 at 5:47 PM, Foivos S. Zakkak <foivos at zakkak.net
>> <mailto:foivos at zakkak.net>> wrote:
>>
>>     Still the same.
>>
>>     Is there any chance that the placement of my directories are causing
>>     this?
>>
>>     Also the exact command that fails is
>>
>>     /home1/public/zakkak/java/__vmkit/Release+Asserts/bin/vmjc
>>     -std-compile-opts
>>     
>> -load=/home1/public/zakkak/__java/vmkit/Release+Asserts/__lib/MMTKRuntime.so
>>     
>> -load=/home1/public/zakkak/__java/vmkit/Release+Asserts/__lib/MMTKMagic.so
>>     -LowerMagic
>>     /home1/public/zakkak/java/__vmkit/mmtk/java/mmtk-vmkit.jar
>>     -disable-exceptions -disable-cooperativegc
>>     
>> -with-clinit=org/mmtk/vm/VM,__org/mmtk/utility/*,org/mmtk/__policy/*,org/j3/config/*
>>     -Dmmtk.hostjvm=org.j3.mmtk.__Factory -o mmtk-vmkit.bc
>>     
>> -Dmmtk.properties=/home1/__public/zakkak/java/vmkit/../..__/llvm/vmkit/mmtk/java/vmkit.__properties
>>     -disable-stubs -assume-compiled
>>
>>     Thank you for your time
>>     Foivos
>>
>>
>>     On 07/06/12 18:12, Nicolas Geoffray wrote:
>>
>>         On Thu, Jun 7, 2012 at 4:27 PM, Foivos S. Zakkak
>> <foivos at zakkak.net <mailto:foivos at zakkak.net>
>> <mailto:foivos at zakkak.net <mailto:foivos at zakkak.net>>> wrote:
>>
>>             Hi Nicolas,
>>
>>             I thought MMTk is written in java and it is compiled by 
>> javac.
>>
>>
>>         It is compiled by javac to produce Java bytecode. Then vmkit
>>         runs the
>>         initialization code of MMTk (through the JIT) and generates the
>>         binary
>>         code through llvm.
>>
>>
>>             retried a clean build with JIT enabled
>>
>>             llvm configuration
>>             ../../llvm/configure --enable-doxygen --enable-optimized
>>         --enable-jit
>>
>>
>>             vmkit configuration
>>             ../../llvm/vmkit/configure
>>         --with-llvmsrc=/home1/public/__zakkak/llvm/
>>             --with-llvmobj=/home1/public/__zakkak/java/llvm/
>>
>>           
>> --with-gnu-classpath-glibj=/__home1/public/zakkak/java/__classpath-0.97.2/lib/glibj.__zip--with-gnu-classpath-libs=/__home1/public/zakkak/java/__classpath-0.97.2/lib/
>>
>>             and the problem persists
>>
>>
>>         Could you do make ENABLE_OPTIMIZED=1 clean and then make
>>         ENABLE_OPTIMIZED=1 ? Some files may have not been generated
>>         because of
>>         the missing JIT and that screwed up the Makefile.
>>
>>         Nicolas
>>
>>
>>
>>             Foivos
>>
>>
>>             On 07/06/12 16:54, Nicolas Geoffray wrote:
>>
>>                 Hi Fovios,
>>
>>                 On Thu, Jun 7, 2012 at 3:51 PM, Foivos <fivosz at gmail.com
>> <mailto:fivosz at gmail.com>
>> <mailto:fivosz at gmail.com <mailto:fivosz at gmail.com>>> wrote:
>>
>>                     Hi,
>>
>>                     My machine is running Ubuntu server 64-bit
>>                     And the revision from the trunk is 158095 for llvm,
>>             clang and
>>                     vmkit
>>
>>                     llvm configuration
>>                     ../../llvm/configure --enable-doxygen 
>> --enable-optimized
>>                     --disable-jit
>>
>>
>>                 Why do you disable the JIT? VMKit needs it to compile 
>> MMTk.
>>
>>                 Cheers,
>>                 Nicolas
>>
>>                     vmkit configuration
>>                     ../../llvm/vmkit/configure
>>                     --with-llvmsrc=/home1/public/__zakkak/llvm/
>>                     --with-llvmobj=/home1/public/__zakkak/java/llvm/
>>
>>               
>> --with-gnu-classpath-glibj=/__home1/public/zakkak/java/__classpath-0.97.2/lib/glibj.__zip--with-gnu-classpath-libs=/__home1/public/zakkak/java/__classpath-0.97.2/lib/
>>
>>                     Thank you
>>                     Foivos
>>
>>
>>                     On 06/06/12 22:35, Nicolas Geoffray wrote:
>>
>>                         Hi Fivos,
>>
>>                         I cannot reproduce on my machine (ubuntu 64bit,
>>                         clang/llvm/vmkit on svn trunk). What's your
>>                 configuration?
>>
>>                         Cheers,
>>                         Nicolas
>>
>>                         On Tue, Jun 5, 2012 at 3:08 PM, Fivos
>> <fivosz at gmail.com <mailto:fivosz at gmail.com>
>> <mailto:fivosz at gmail.com <mailto:fivosz at gmail.com>>> wrote:
>>
>>                             Hello,
>>
>>                             after completing the build i get
>>
>>                             ...
>>                             BUILD SUCCESSFUL
>>                             Total time: 5 seconds
>>                             llvm[2]: Building Release+Asserts
>>                 mmtk-vmkit.jar all
>>                             vmjc:
>>                 /home1/public/zakkak/llvm/lib/__VMCore/Type.cpp:747:
>>                             static
>>                             llvm::PointerType
>>                 *llvm::PointerType::get(llvm::__Type *,
>>                             unsigned int):
>>                             Assertion `EltTy && "Can't get a pointer to
>> <null>
>>                             type!"' failed.
>>                             0  vmjc            0x0000000000d24e1f
>>                             1  vmjc            0x0000000000d25334
>>                             2  libpthread.so.0 0x00002b398f36b8f0
>>                             3  libc.so.6       0x00002b3990178a75
>>                 gsignal + 53
>>                             4  libc.so.6       0x00002b399017c5c0 abort
>>                 + 384
>>                             5  libc.so.6       0x00002b3990171941
>>                 __assert_fail + 241
>>                             6  vmjc            0x0000000000cd7fde
>>                             llvm::PointerType::get(llvm::__Type*,
>>                 unsigned int) + 478
>>                             7  vmjc            0x0000000000564317
>>                             j3::J3Intrinsics::init(llvm::__Module*) + 
>> 199
>>                             8  vmjc            0x000000000054f86d
>>
>>                   j3::JavaAOTCompiler::__JavaAOTCompiler(std::string 
>> const&)
>>                             + 1597
>>                             9  vmjc            0x0000000000502b8d 
>> main + 141
>>                             10 libc.so.6       0x00002b3990163c4d
>>                 __libc_start_main + 253
>>                             11 vmjc            0x0000000000502a39
>>                             Aborted
>>                             make[2]: *** [all] Error 134
>>                             make[2]: Leaving directory
>>
>>                   `/home1/public/zakkak/java/__vmkit_build/mmtk/java'
>>                             make[1]: *** [all] Error 1
>>                             make[1]: Leaving directory
>>                             
>> `/home1/public/zakkak/java/__vmkit_build/mmtk'
>>                             make: *** [all] Error 1
>>
>>                             any ideas, how to fix this?
>>
>>                             Thank you
>>                             Foivos
>>
>>                   _________________________________________________
>>                             LLVM Developers mailing list
>>                 LLVMdev at cs.uiuc.edu <mailto:LLVMdev at cs.uiuc.edu>
>> <mailto:LLVMdev at cs.uiuc.edu <mailto:LLVMdev at cs.uiuc.edu>>
>>                 http://llvm.cs.uiuc.edu
>>                 http://lists.cs.uiuc.edu/__mailman/listinfo/llvmdev
>> <http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev>
>>
>>
>>
>>
>>
>>
>>
>>
>




More information about the llvm-dev mailing list