HTML5 Canvas
Written by: Simon Sarris
Featured Refcardz: Top Refcardz:
  1. Apache Hadoop
  2. Web Driver
  3. MVVM
  4. REST
  5. ADO.NET
  1. HTML5
  2. Ajax
  3. jQuery Selectors
  4. CSS Part 1
  5. Git

Link Details

Link 456493 thumbnail
User 225256 avatar

By mswatcher
via zdnet.com
Published: Jul 29 2010 / 17:13

Earlier this month, Oracle released a new version of Java, 1.6.0_21 (also called 6u21). Unfortunately as Eclipse users quickly discovered, it was incompatible with Eclipse and Eclipse Rich Client Platform (RCP) programs. Bug 319514 in the Eclipse bug database has all the gory details, but in a nutshell, Oracle changed the company name property on java.exe from “Sun Microsystems, Inc” to “Oracle”.
  • 8
  • 7
  • 3194
  • 0

Comments

Add your comment
User 265881 avatar

Topnotch replied ago:

1 votes Vote down Vote up Reply

Whoa incredistupid!!! Making the program dependent on a hard coded value to work and Company name of all things?? Just plain dumb on IBM's part. When you watch their commercials you believe them to be uber geniuses. I guess not so much.

User 171053 avatar

apolci replied ago:

-2 votes Vote down Vote up Reply

Eclipse laucher need to pass to the Sun/Oracle virtual machine (in command line) a non standard parameter, not present in other virtual machines. The parameter is specific to the Sun/Oracle vm memory management.
The only way to do this is to parse a dll property (java hasn't start yet) that contains the name of the vendor.

User 552527 avatar

gcameo replied ago:

0 votes Vote down Vote up Reply


public static final String JDK_COMPANY_NAME = "Sun Microsystems";


hahahaha...even I dont write that.....Netbeans all the way!!!!!!

shortcut for

public static final String

in netbeans is Psfs + tab....lol

User 394977 avatar

nmatrix9 replied ago:

1 votes Vote down Vote up Reply

@Topnotch

It's like everything I was taught NOT to do in school, these big ass corporations do as policy.

User 265881 avatar

Topnotch replied ago:

0 votes Vote down Vote up Reply

Agreed. In fact this is so outrageously bad that if I would've thought of it sooner I would have submitted this directly to thedailywtf, it's that bad.

User 294007 avatar

madth3 replied ago:

0 votes Vote down Vote up Reply

Old news already

User 171053 avatar

apolci replied ago:

0 votes Vote down Vote up Reply

And already fixed by Oracle reverting the change

User 265881 avatar

Topnotch replied ago:

1 votes Vote down Vote up Reply

No the issue is that Oracle even had to do any kind of reversion at all. Why are you trying so hard to defend such poor code being present in Eclipse? The fact that you actually tried to justify the techniques being used in Eclipse speaks volumes about your competency or lack thereof.

User 171053 avatar

apolci replied ago:

0 votes Vote down Vote up Reply

I'm not trying to justify nothing.
I simply reported what I read from eclipse community in another blog.
But if you are so sure of your competency please give us your solution to that problem.
They need to know the VM they are launching before they launch it, possibly in an efficent way, how do you do it?

User 265881 avatar

Topnotch replied ago:

0 votes Vote down Vote up Reply

Ok, I figured I wouldn't need to explain this but here goes: the root cause of the problem is the maxpermgen setting and the default being too small. This isn't really related to the name of the company. This is why their approach is flawed. They need to check for artifacts like Xusage.txt in the jre install folder.On my install in the 'jre6\bin\client' directory there are only 3 files including Xusuage.txt this should be a lightning fast search from C. Of course on Linux this will be diffferent but still there will be data evidence related to the maxpermgen setting.This is only one artifact that I know of from a quick search. I'm sure there are even more quick ways to check for Sun JVM fingerprints without depending on the company name. The key though is looking at evidence of maxpermgen not the company string.

User 171053 avatar

apolci replied ago:

0 votes Vote down Vote up Reply

The permgen issue my be not directly related to the name of the company, but I don't see why is should be related to a file like Xusage.txt and why looking for is should be much more reliable.
Athought it contains information on some command line parameters, it says nothing about the -XX:MaxPermSize.

Let me make my point clear. I don't think the solution used by eclipse is a good one, but before calling them "incredistupid" I would look for a clearly better solution and no one showed one.

User 265881 avatar

Topnotch replied ago:

0 votes Vote down Vote up Reply

Nope I was still right they were incredistupid. The key is the setting not the company name.

User 171053 avatar

apolci replied ago:

0 votes Vote down Vote up Reply

@Topnotch
I'm still of my opinion. It's easy NOW to say it was a bad choise, but no one I know has swon a solution that is clearly better (and stable).
Your solution (Xusage.txt) isn't either cause it's based on a file that has nothing to do with the problem (perm size management).
Now you can say it'd be a better choice because it hasn't changed, but when they made the choice there were no CLEAR reason to second one over the other.

And insisting on insulting people doesn't add any strenght to your arguments. I think the contrary instead.

User 265881 avatar

Topnotch replied ago:

0 votes Vote down Vote up Reply


,It's important to point out that what I presented is a hint in the correct direction for a solution without depending on the company string. That is all. It was a hint not a full solution so stop insisting that I presented that as a solution, its a hint to look at data besides the company name but instead the setting which is the correct approach.

User 171053 avatar

apolci replied ago:

0 votes Vote down Vote up Reply

I don't insist that you presented a complete correct solution (nor intended to).
I insist that no one (that I know) did!

This make me think that calling them "incredistupid" is exagerated at best.

Add your comment


Html tags not supported. Reply is editable for 5 minutes. Use [code lang="java|ruby|sql|css|xml"][/code] to post code snippets.