Issues with HelloWorld on VMKit

HI I tried to follow the procedure at http://vmkit.llvm.org/get_started.html.

Builds of LLVM and classpath went fine (after fixing a few dependency problems).

After compiling a simple HelloWorld with javac I got

../vmkit/Debug/bin/jnjvm HelloWorld

hang for a while and then spits out a

terminate called without an active exception
Abort

I also tried to compile on a machine with gcc 4.1 and Instead I got

jnjvm: /mnt/sdb1/ladyvm/vmkit/include/mvm/VirtualMachine.h:369: T* mvm::VirtualMachine::IPToMethod(void*) [with T = jnjvm::JavaMethod]: Assertion `I != Functions.begin() && "Wrong value in function map"' failed.
Aborted

A friend of mine tried the build process on his machine and got the same "terminate without exception error"

Any hint on how to proceed would be greatly appreciated.

Regards,

Matteo Migliavacca

Hi Matteo,

Matteo Migliavacca wrote:

HI I tried to follow the procedure at http://vmkit.llvm.org/get_started.html .

OK. Which cpu/os target?

Builds of LLVM and classpath went fine (after fixing a few dependency problems).

After compiling a simple HelloWorld with javac I got

../vmkit/Debug/bin/jnjvm HelloWorld

hang for a while and then spits out a
  
It's not hanging, it's compiling :slight_smile: jnjvm includes all optimization passes from llvm. And the Debug mode takes a bunch of time to compile initial Java methods.

terminate called without an active exception
Abort

OK, so usually I get that with classpath shared libraries misinstalled. Have you done the links from procedure no 2 on the "get started" page? It can also be due to x86_64/x86_32 compatibility issues. Is that the case?

I also tried to compile on a machine with gcc 4.1 and Instead I got

jnjvm: /mnt/sdb1/ladyvm/vmkit/include/mvm/VirtualMachine.h:369: T* mvm::VirtualMachine::IPToMethod(void*) [with T = jnjvm::JavaMethod]: Assertion `I != Functions.begin() && "Wrong value in function map"' failed.
Aborted

A friend of mine tried the build process on his machine and got the same "terminate without exception error"

Any hint on how to proceed would be greatly appreciated.

Let me know how that helped.

Cheers,
Nicolas

Hi Nicholas, and thanks for the prompt reply…

Matteo Migliavacca wrote:

HI I tried to follow the procedure at http://vmkit.llvm.org/get_started.html

OK. Which cpu/os target?

It was x86/linux…

Builds of LLVM and classpath went fine (after fixing a few dependency

problems).

After compiling a simple HelloWorld with javac I got

…/vmkit/Debug/bin/jnjvm HelloWorld

hang for a while and then spits out a

It’s not hanging, it’s compiling :slight_smile: jnjvm includes all optimization

passes from llvm. And the Debug mode takes a bunch of time to compile

initial Java methods.

Ok good! How to I get the slow-build-fast-run build ? Should I compile
llvm

terminate called without an active exception

Abort

OK, so usually I get that with classpath shared libraries

misinstalled.

Have you done the links from procedure no 2 on the “get started” page?

Ops, that was it, thanks! (Sometimes I wish humans could have
instruction pointers…)

Any hint on how to proceed would be greatly appreciated.

Let me know how that helped.

I was wondering the easiest way to play a bit with Isolation
features, but I am still missing a great deal of understanding of the
whole project. Is Isolation tied to the OSGi framework? I see three
compile options single/isolate/isolate-sharing/service what these do?
Is I-JVM supposed to run off-the shelf Felix or Equinox?

Best Regards,

Matteo Migliavacca

Hi Matteo,

Matteo Migliavacca wrote:

Have you done the links from procedure no 2 on the "get started" page?

Ops, that was it, thanks! (Sometimes I wish humans could have instruction pointers....)

Great, I should definitely print an error message for that.

I was wondering the easiest way to play a bit with Isolation features, but I am still missing a great deal of understanding of the whole project. Is Isolation tied to the OSGi framework? I see three compile options single/isolate/isolate-sharing/service what these do? Is I-JVM supposed to run off-the shelf Felix or Equinox?

Yes, there are multiple ways to build vmkit. The usual one is for having a JVM similar to other JVMs. The isolate one is to run multiple Java applications inside a single instance of vmkit. The isolate-sharing enables sharing code between all the applications. Finally, service is for I-JVM. For I-JVM, I'll take that offline, it's off-topic for this mailing list.

Cheers,
Nicolas