macosx-port-dev Digest, Vol 22, Issue 32

Jeff Palmer jcpalmer at rochester.rr.com
Thu Oct 25 12:32:21 PDT 2012


I did put something in for an enhancement.  Below is the confirmation message, which restates it.  Yes, that was a typo.  I do not develop on Mac, but do mail from it.  JNLP's look processed in cache, freehanded it in original message.  most of confirmation msg (the source JNLP shows a blanks):

release: 7 
hardware: x86 
OSversion: macosx 
priority: 4 
Synopsis: Invalid vm args cause immediate termination 
Description: 
A DESCRIPTION OF THE REQUEST : 
If java-vm-args attribute of contains invalid options, then the forked off vm process simply terminates, leaving no trail to suggest what the problem might be. 

JUSTIFICATION : 
While there should be no expectation of good things happening when invalid options are specified, the lack of feedback makes understanding what is wrong a function of the developers skill, stubbornness, & desperation (+luck). 

The reason is: How are they to even to know it is an args problem? Did the VM even start? Briefly the Name of the program changes to what it should be, but what does that mean? 

EXPECTED VERSUS ACTUAL BEHAVIOR : 
EXPECTED - 
The best option is to valid all args against the documented list of supported args prior to forking off. 

If there is an arg specified which is not listed, and the attribute no-arg-warn="true" is not found, then: 

Bring up a dialog similar to the one if the mandatory version attribute is missing saying: VM "Blah" argument is not universally supported. Do you wish to proceed?" 

Since the no-arg-warn must be added to suppress the warning, things can be caught very quickly. Force developer to add the no-arg-warn, EVEN if it is being specified inside a resources with an os="Blah OS". 

Not sure about -d args. They seem to cause windows to take twice as long to start program, but never seen a failure. My JNLP's are always signed though. 
ACTUAL - 
see Description 

---------- BEGIN SOURCE ---------- 





Add -XX:+UseConcMarkSweepGC into any JNLP. It will work on Windows, and fail on Mac for 7u9. Operated, or at least ignored on both for 7u8. 
---------- END SOURCE ---------- 

CUSTOMER SUBMITTED WORKAROUND : 
psychiatric therapy 


On Oct 25, 2012, at 3:00 PM, macosx-port-dev-request at openjdk.java.net wrote:

> From: Igor Nekrestyanov <igor.nekrestyanov at oracle.com>
> Subject: Re: 7u9 jnlp very touchy with vm args
> Date: October 24, 2012 6:09:26 PM EDT
> To: Jeff Palmer <jcpalmer at rochester.rr.com>
> Cc: macosx-port-dev at openjdk.java.net
> 
> 
> I think the reason of this behavior (with unsupported option) is that if you try to pass unsupported arg to java launcher then jvm will simply exit with error.
> javaws or plugin spawns new JVM and it does not really know why that other process exits (or crash).
> 
> I totally agree it is not developer friendly though. Please file your suggestions/ideas as bugs/JIRA issues.
> This is first step to make them fixed.
> 
> Your second problem sounds like some incompatibility between Apple helper tools and Oracle JRE.
> Perhaps Scott or someone from install team can comment on this,
> 
> -igor
> 
> On 10/24/12 2:52 PM, Jeff Palmer wrote:
>> I have isolated my problem,&  I think the reason might help explain some other messages on the other list.  I have reviewed the allowable vm args in JNLPs as published:
>> 
>> http://docs.oracle.com/javase/7/docs/technotes/guides/javaws/developersguide/syntax.html#resources
>> 
>> I was not fully compliant, as I was referencing the argument,  -XX:+UseConcMarkSweepGC.
>> 
>> This is a working JNLP snippet from the previous release (7u8 I think):
>>   <resources>
>>       <j2se
>>           version="1.7+"
>>           java-vm-args="-Xmx200m XX:+UseConcMarkSweepGC"
>>       />
>>       <jar href="my-app.jar"  />
>>   </resources>
>> 
>>   <resources os="Mac">
>>       <j2se
>>           version="1.6+"
>>           java-vm-args="-Xmx200m XX:+UseConcMarkSweepGC -Dapple.awt.graphics.UseQuartz=true"
>>       />
>>   </resources>
>> 
>> Take out the unsupported argument in both places, and it now works.  7u9 does tolerate the GC arg on Windows still.
>> 
>> This is clearly not a bug.  I think a little better could be done on providing feed though.  The program just ENDS.  No warning, failure message, traces, nothing.  This makes it hard to find.
>> 
>> This one took a day.  I was concerned my Lion partition had a bunch of ea stuff which I had tinkered with&  was not stock enough anyway,  so the time to blow it away&  rebuilding it was still worth it.
>> 
>> Finally, after I re-installed, I just went to the Oracle site and installed the JRE.  In Safari, specifying a jnlp, downloads&  starts it.  If you click on the desktop icon for subsequent runs you get message box from Software Update:
>> 	"To open "BLAH,BLAH, BLAH" you need a Java SE 6 runtime.  Would you like to install one now?"
>> 
>> No, I do not need this.  This message did NOT come up because I have the 2 j2se tags.  I tried when there was only 1.
>> 
>> If I actually followed through and did that, it would not even use it.  (guess I have to though, starting though cache viewer is a pain).  The test is wrong.  It should be testing for the Oracle plugin installed.
> 



More information about the macosx-port-dev mailing list