Automated webstart-maker: need game authors

[quote]blah3,
I’ve created version 15 for my game but now the game fails silently. No log in the webstart log. Can see something on your side?
[/quote]

[quote]Same is occuring for me with my new and improved High_quality version of my AnacondaNet game.
[/quote]
No idea, although I seem to be having knock-on problems caused by the patch to fix the too many open files bug.

I’ll have a look this evening…

[quote]and… I’d like to have it Quest for Peace.
Can you change that or should I make a new entry(then just delete the old one) ?
[/quote]
Quickest + easiest for me would be if you just made a new entry, and I’ll delete the old one. If I get time, I’ll try renaming it myself with a few SQL queries.

[quote] Nothing is wrong, nothing is broken, it’s just that old games need to have a JVM explicitly selected, once and once only. I didn’t have time to make a custom page purely to say “you need to select a JVM” Smiley.
[/quote]
I’m 100% sure that I selected a JVM, I even pushed the update button :wink:
Webstart said missing ressource :http://javagamesfactory.org/jnlp/Quest+for+peace/alpha.jnlp

then I pasted it into Firefox and it says no JVM selected?
What do you mean by selecting once? Isn’t your choice box idiot proof ?
How can I deselect a JVM if I accidently chose both options and hit ‘update JVM’ twice?

edit:
works now!

edit2: (8 versions later)
doesn’t work fine now ! with mx200
hope that is a personal problem…

java.lang.reflect.InvocationTargetException

      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

      at java.lang.reflect.Method.invoke(Method.java:324)

      at com.sun.javaws.Launcher.executeApplication(Unknown Source)

      at com.sun.javaws.Launcher.executeMainClass(Unknown Source)

      at com.sun.javaws.Launcher.continueLaunch(Unknown Source)

      at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)

      at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)

      at com.sun.javaws.Launcher.run(Unknown Source)

      at java.lang.Thread.run(Thread.java:534)

Caused by: java.lang.OutOfMemoryError

It’s a short-term hack, but should only happen once for each of you, and then never come back…I hope. And if someone ever gets a corrupted JVM setting in future, they’ll get the same error message and may be able to fix it themself simply by reselecting.

You can’t - each new “update jvm” overwrites the previous one completely.

!!!

You set the MAXIMUM heap size to 200 bytes ??? ;D

ARGH!

/me is sorely tempted to REMOVE the feature of setting heap sizes, since 2 out of 2 people so far have attempted to use it without, apparently, knowing what it is

Read the docs: heap size is specified in BYTES.

TheAnalogKid: you specified 32 bytes of heap. Your JVM can’t even log an error.

Hansdampf: you allowed 200 bytes. Your JVM managed to throw an out-of-memory error.

moogie: you need to select a JVM and hit “update JVM” as Hans did, and then you should never see that error again - unless you create a new version with “blank” settings.

NOTE: the JVM issue is causing such problems mainly, I think, because the HTML form is wrong and seems to say you have a JVM even when you don’t. It was done like that originally to minimize the number of clicks you needed to select a new JVM (it defaults to the one you “probably” want to use…). Obviously this is causing a lot of hassle, so I’m going to change that right now :). Sorry about that

[quote] You set the MAXIMUM heap size to 200 bytes Huh Grin
[/quote]
hmm… I soved that issue by dramatically reducing the requirements. Now it works on my solar calculator.

Apparently, you’ve discovered a bug in webstart - it shouldn’t accept your args. Taken from the current sun website docs (http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/java.html)


-Xmsn
    Specify the initial size, in bytes, of the memory allocation pool. This value must be a multiple of 1024 greater than 1MB. Append the letter k or K to indicate kilobytes, or m or M to indicate megabytes. The default value is 2MB. Examples:

       -Xms6291456
       -Xms6144k
       -Xms6m
       

-Xmxn
    Specify the maximum size, in bytes, of the memory allocation pool. This value must a multiple of 1024 greater than 2MB. Append the letter k or K to indicate kilobytes, or m or M to indicate megabytes. The default value is 64MB. Examples:

Note how it “must” be greater than some number, but webstart allows numbers less…

Could you completly delete mine as well? I’d recreate it so I’d have a better chance to make it work.

Thanks

Doh! I should have tought about it before! ::slight_smile: I intended to set 32m!!! :o

I’m just working on adding a test that won’t allow you to set ridiculously small sizes :slight_smile: even though webstart (buggy crud) will…

In the process, I got hold of an update to the grexengine function despatcher, a new version which claims to fix some bugs and - more importantly - closes a loophole where external packages could access some internal methods and break synchrtonization invariants.

Guess what happened when I installed it? Yup, there were a couple of places I was directly or indirectly using method calls I shouldn’t :(. Spent the last couple of hours cleaning up those places, and re-implementing them “properly”. Still got a few last bugs to fix in the re-implementations (for instance, it’s now all working again on my local machine, EXCEPT every other request gets dropped :().

So I’m not going to upload any new patches to the main server until I’ve fixed this on my local test server.

It seems to all be working locally, so I’ve patched the server - and that still seems to be working OK (although I didn’t try creating a new game version).

Anyway, ms and mx will both catch < 1024 errors, although very basic checking only - you can still put in illegal args, it’s just that you won’t get away with the common case mistake :).

Also, when you want to change the value of an arg or a prop, just set it again and the new val will overwrite the old - due to a failed SQL table update some time ago which I didn’t notice, it was allowing many duplicates of the same arg and param (no primary key checks). But that’s now fixed.

And you get a warning message on the release-editing screen if your JVM is missing / invalid, so you don’t have to wait until you test before finding out :).

PS: if you noticed the site go down this evening … it’s the dreaded NIO “out of direct buffer memory” bug. I checked: no files open, just a couple of TCP connections (*). To paraphrase Cas, the developers of NIO should be hung by their toenails until they realise the importance of actually allowing people to kill buffers, and to query the state of the buffer mem AND … to FIX THEIR CODE so that it uses memory properly (as noted in several outstadning bug parade bugs, IIRC).

(*) this particular server has had hundreds of files streaming off the hard disk in parallel in this JVM without breaking sweat (before I noticed my typo that was failing to close files in certain situations!). A few TCP connections cannot be bad…

error when creating a new version:

Please contact the admin / dev-team
Copy and paste everything below this line when contacting them


Referer URL:/views/edit-gamerelease?gamename=AnacondaNet_HighQuality&releasetype=alpha&version=3

Throwable:java.lang.Exception: Velocity is buggy as an ant farm and whoever wrote the exception code broke itso that you can’t actually inspect exceptions;

Please note: This idiot put the ONLY critical information in the logfile, so the admins will have to manually search through potentially hundreds of megabytes to find the damn bloody message. Oh how we wish they didnt do that, because we COULDhave AVOIDED this error message and done some clever stuff and shown you a webpage, except that the velocity coder who never tested their code made that impossible. Sob.

Probably useless message from velocity = Invocation of method ‘executeView’ in class com.grexengine.cms.core.CMSViewService threw exception class org.apache.velocity.exception.MethodInvocationException : Invocation of method ‘get’ in class java.util.LinkedList threw exception class java.lang.IndexOutOfBoundsException : Index: 0, Size: 0

Line Source File
179 In HttpViewService.java
251 …called from bAsynchronousService.java
248 …called from HttpViewService.java
334 …called from bModule.java
534 …called from Thread.java

[quote]error when creating a new version:
[/quote]
Firstly, there was a complex to fix bug (saw it in the logfiles) whose code I’ve just commented out. It means that the automatic news-creation when a new game is uploaded is disabled for now, until I fix it. That may solve your problem

Secondly, as you may have noticed from the error message, there is no way for you or me to determine which out of approximately 500 source files that error occurred in becuase of some idiot who broke the exception handling in apache’s velocity and got their patch into the stable branch. Velocity simply CANNOT handle exceptions in the stable versions >:(.

…unless I can find an obscure exception that may have been logged in any of several ways somewhere in the multi-mb logfile :(. So, could you try again and see if the first change has fixed it?. Sorry about this. (keep your fingers crossed and hope that the very-long-promised next release of velocity comes out soon…)

Thanks

i am afraid the error still occurs :frowning:

I believe this is now fixed. It was a mistake in the HTML page - assumed there was always a JVM, and did a get from a list that is empty if you have no JVM configured :).

Even worse - by a long way - for this particular exception, Velcoity DID NOT LOG IT AT ALL, so I had to manually just “guess” and change bits of HTML until I found something that was broken :(.

I’ve also added a button on the “edit game details” screen that lets you request that your game be deleted.

If you press this, a deletion request will be emailed to all the game-editors (the only people who have the admin right to delete games and can edit all games) giving them your email address and asking them to double-check you want your game deleted. One of them should then quickly get around to logging in and deleting your game, once they’re sure you want this done :).

Just so that I don’t make any mistakes (I’m a game editor myself, unsurprisingly!), could any of you that still want your game deleted please login and click this button? This also emails the exact game-name, which makes it easier for the person doing the deleting to be sure they got the right one!

I cannot seem to access the site at all now…

[quote]I cannot seem to access the site at all now…
[/quote]
The server has crashed, or been unplugged from the wall; I cannot even get to it.

Need the guys from Agency9 to reboot it :frowning:

Seems to be networking problems over at A9; the server is having trouble routing packets to/from anywhere much :(.

So…will have to wait until we sort this out I’m afraid.