Wildfire does not start / Java issue

Hey guys,

sorry if I’‘m starting a new thread for this again, but the others didn’'t help me.

I installed the wildfire server (2.4.0) on my webhosters root server and tried to start it and I got the following error message:

No suitable Java Virtual Machine could be found on your system.

The version of the JVM must be at least 1.5.

Please define INSTALL4J_JAVA_HOME to point to a suitable JVM.

You can also try to delete the JVM cache file /root/.install4j

Well, I think everyone knows that message.

So i tried to point to my JVM, I tried to delete the cache files I found and nothing helped. The java -version tells me that I’'ve got a root server with a 1.4.02 jvm, so I installed the jdk 1.5 (or better 5.0) version too and linked to it. Same error message. (SuSE 9.3)

I tested it on my local system (Debian Kubuntu 5.10), with a 1.4.2 jvm. I didn’'t install anything else, just unpacked the wildfire server, started it, finished. Worked fine.

I added additional directories to the wildfire start, he always showed me the path for looking for the right java version (something like “/opt/wildfire/jre/*” and other paths), but after the three points … nothing happened again and he printed me the same error.

I don’‘t know what i’‘m doing wrong, maybe you can help me. I also have to add, that i’'m a linux noob

Sorry for my bad english… hope for your help.

regards

philippe

Try this for a starter. You can find out which java-executable is being used by executing: which java[/code]

This command would give you the version of the defaultly executed java executable:

which java -version[/code]

note that you should use backticks (grave accents) not single quotes.

If that gives you a version other than the 1.5 you installed, check the value of the JAVA_HOME system variable. ( echo $JAVA_HOME ). You can set that to point to the java directory you want to use.

Okay, that was already a great help, thanks

So I found out, that my used java is situated in /usr/bin/java and it’'s version is 1.4.2_08. The echo command said /usr/lib/jvm/java.

I’'m sure this is only a linux-noob-user problem, but maybe you can and want to help me anyway?

I installed java 5.0 already with the automatic installer (*.rpm.bin). How can i foind out, where it has been installed and how do I change the version of java to the latest one that he should use? Is there also such a simple command for it…?

As far as I know, package names for java have been renamed between java 1.4.2 and 5.0. I’‘m reading url=http://www.java.com/en/download/help/5000011900.xmlhere[/url] that the recommended way to upgrade from 1.4.2 is to delete the old package first, then install 5.0 seperately. If you uninstall the old version, you won’'t be able to accidently start (or rather, try to start) Wildfire with it

Okay, cool, that was a big help. No I can’‘t start my java anymore But i already found an answer: i have to use the -java -Xmx24m[/code] but now i don’'t have any idea how to tell my suse linux, that it has to start java after the boot including this command and/or tell wildfire to use java with this command. sniff

that’'s really not easy

I’'m not exactly sure what you mean. Did you uninstall Java, but were you unable to install a new version of Java?

You can start Wildfire after a system boot by following the instructions in /wildfire/bin/extra/wildfired

Well, i followed the instructions. I uninstalled all older java versions. Then I installed the Java JDK and JRE in version 1.5.x. If I enter now

java -version[/code]

it prints the message, that he could not reserve enough space for object heap. (http://miguet.biz/images/problem/java.jpg) So I found an information on an other website, that i have to start java with

java -Xmx24m[/code]

But it seems, that SuSE 9.3 does not load the service on startup.

And the next problem is, that i have to tell wildfire, to use java with the special -Xmx24m extension. Otherwise java won’'t start. How can I do that? Or how can I tell the system, that he always use the -Xmx24 extension if i enter java -(any-command) automatically?

And then there is still the problem, that wildfire does not want to use my java. See that screen: http://miguet.biz/images/problem/java_neuinstall.jpg and then i deleted the .install4j in my root folder and got that screen: http://miguet.biz/images/problem/install4j_geloescht.jpg

System rebooted several times.

That’'s weird and complicated.

Hi,

there seems to be a problem with the java installation or your memory.

How much free memory does your server have?

Try executing java with different memory requirements like:

/usr/java/jre1.5.0_06/bin/java -Xms4m -Xmx4m -version

/usr/java/jre1.5.0_06/bin/java -Xms64m -Xmx64m -version

If your server does not have 64 MB free memory the 2nd test will fail. The java default if no Xmx value is given is 64 MB, you may want to modify the wildfire script to use less memory and this java version.

You may also download jre-1_5_0_06-linux-i586.bin from java.sun.com and run it in your home directory, it will extract the bin file there. So you should have a /home/pmiguet/jre1.5.0_06/bin/java executable which should run fine. Please run Xms+Xmx tests as mentioned above.

Frohe Weihnachten

LG

Okay and where do I add the wildfire script to use less memory for java? noob-question

And ehm… yes… joyeux noël…

Hi,

look at line 244 and 251in bin/wildfire, there are the java calls to start and stop Wildfire. You may want to change ‘’…/bin/java" -server…’’ to ‘’…/bin/java" -Xmx16m -server…’’ in both lines.

Please remember that you may get outofmemory errors with such low memory values.

LG

Thank you very much. I changed all you mentioned above, but nothing happened, still the same error, that he can’'t find the right java version to use. As you can see, i already installed the newest version jdk1.5.0_06 sigh

Well… i’'m reaching the point turning crazy…

How much memory does your system acutally have?

Good question, i can’'t find that information, but the FAQ of my webhoster tells me to use the command Xmx24m, so I tried with xmx24x and xmx16x and both did not work. Same problem as before.

You can probably (I’'m not using Suse, but go ahead and try) see how much memory your system has installed by looking at the first line in the file /proc/meminfo

less /proc/meminfo[/code]

I’‘m a bit confused at this point: have you been able to start the Java VM without error (to see what version you’'re running? If not, what result does this command give you:

java -Xmx24m -version[/code]

If that’‘s the setting that your hosting provider recommends, your problem might be caused by that: by adding the xmx24m attribute to the java command, you’‘re restricting Java to a heap size not bigger than 24 megabytes. I’‘m not sure if that’'s enough to run Wildfire.

Okay, wenn I enter the command “java -version” the following response is coming:

Error occured during initialization of VM

Could not reserve enough space for object heap

Could not create the Java virtual machine

/code

If I use the following commands instead, i get the normal java-version information:

java -Xmx24m -version (I tried it with 24, 32, 48,128,256 and it worked fine)

With the command java -Xmx512m -version he prints me the following message:

Error occured during initialization of VM

java.lang.OutOfMemoryError: unable to create new native thread

/code

The command for looking at the meminfo is really nice (thx btw), but i think there is one problem: the information says that there are 4 GB memtotal, but i think that’‘s of the whole machine, not of my virtual one, isn’‘t it? I’'m not quite sure, but sounds a lot for a virtual machine like the www.server4you.net RootDS Starter.

Hi,

I assume that the normal java-version is ‘‘java version “1.5.0_06”’’ and not something like 1.4.x.

With ‘‘type java’’ you should get the location of the binary. I may assume that the output is ‘’/usr/java/jre1.5.0_06/bin/java’’

Add the -Xmx128m option to the wildfire script, you’‘ll get something like this: ‘’…/bin/java -Xmx128m -server…’’ .

You may still get the ‘‘No suitable Java …’’ error message, so change line 209 ‘‘exit 83’’ to ‘‘app_java_home=/usr/java/jre1.5.0_06’’ (depending of the ‘‘type java’’ output).

Without the ‘‘exit 83’’ and the right $app_java_home setting Wildfire should start.

LG

If I enter “type java” the output is “/usr/bin/java”. But if I look at this position there is no folder like that. The folder listing ends with an “I” and continues with an “L”.

Maybe the uninstall of the old java destroyed something?

Hi,

what’'s the output of “ls -l /usr/bin/java” and what is the output of “/usr/bin/java -Xmx64m -version”.

If there is no java in /usr/bin then you should consider downloading “jre-1_5_0_06-linux-i586.bin from java.sun.com and run it in your home directory, it will extract the bin file there. So you should have a /home/pmiguet/jre1.5.0_06/bin/java executable which should run fine.”

LG

i havn’'t install java 1.4.2 but the which java -version show me

java version “1.4.2_08”

Java™ 2 Runtime Environment, Standard Edition (build 1.4.2_08-b03)

Java HotSpot™ Client VM (build 1.4.2_08-b03, mixed mode)

i’'ve installed the jre1.5.0_06 and when i type: /usr/java/jre1.5.0_06/bin/java -Xms64m -Xmx64m -version

then i get:

java version “1.5.0_06”

Java™ 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)

Java HotSpot™ Server VM (build 1.5.0_06-b05, mixed mode)

when starting wildfire, only a error was shown:

testing JVM in /opt/wildfire/jre …

testing JVM in /usr …

testing JVM in /usr/java/jre1.5.0_06 …

testing JVM in /usr/lib/java/jre …

testing JVM in /usr/lib/java …

testing JVM in /usr/lib/jre …

testing JVM in /usr/lib/jvm/java …

No suitable Java Virtual Machine could be found on your system.

The version of the JVM must be at least 1.5.

Please define INSTALL4J_JAVA_HOME to point to a suitable JVM.

You can also try to delete the JVM cache file /root/.install4j

my OS: Linux SuSE 9.3

what is the path to jvm 1.5

and how must i change the bin/wildfire file to fix the problem.

thx for help

Ok, the output you can see in my screenshot. Even if the ls command in the correct folder doesn’'t show me that there is a java folder, with your command I got the information, that there is one.

Does that help me (or us smile) in any way?

Screenshot: http://www.miguet.biz/images/problem/java_dir.jpg