1.4.2_06 Hotspot Considered Harmful

The following 23-line program, containing no library calls and nothing even remotely "tricky", consitently crashes the JVM on every Linux or Windows box we ve tried it on. We tried filing a bug report, but since someone once fixed a problem (5009717) generating the same error code some time back in an early 1.5 beta, this is a "duplicate" (despite the fact that it's on a 1.4 build apparently released after the previous bug was closed). A later attachment to the above bug report suggests that at least one other user has hit this, though.
It is possible to make the problem "disappear" by rearranging the code, but our testing suggests that how long it takes to crop up is a function of Hotspot's optimization heuristics, so it's not easy be sure if you've avoided the problem or just pushed it one iteration past the number of times you've tested some particular path. In other words, you can't trust it.
We're telling our customers to avoid 1.4.2_06 entirely because of this issue. We are big Java advocates in our company and industry and find it most painful and embarassing to have to tell people using our software that the (at this writing) current version of the Java 1.4 environment is
unfit for use and we don't know when (or if) it will ever be fixed.
// run this on 1.4.2_06
public class GoodbyeWorld {
  public static double func1(){
    double r = 0;
    for (int i = 0; i < 1; i++)
      r += func2();
    return r;
  public static double func2(){
    double[] a = {0};
    double r = 0;
    for (int i = 0; i < 1; i++)
      r = a;
return r;
public static void main(String[] argv) {
for (int i = 0; i < 1000; i++)
func1(); // System.out.println("i["+i+"]=" + func1());
$ java -version
java version "1.4.2_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_06-b03)
Java HotSpot(TM) Client VM (build 1.4.2_06-b03, mixed mode)
$ java GoodbyeWorld
# HotSpot Virtual Machine Error, Internal Error
# Please report this error at
# http://java.sun.com/cgi-bin/bugreport.cgi
# Java VM: Java HotSpot(TM) Client VM (1.4.2_06-b03 mixed mode)
# Error ID: 43113F2652414D452D41503F491418160E435050005C
# Problematic Thread: prio=1 tid=0x080a8eb0 nid=0x7954 runnable
Heap at VM Abort:
Heap
def new generation   total 576K, used 156K [0x44770000, 0x44810000, 0x44c50000)
  eden space 512K,  30% used [0x44770000, 0x447971c0, 0x447f0000)
  from space 64K,   0% used [0x447f0000, 0x447f0000, 0x44800000)
  to   space 64K,   0% used [0x44800000, 0x44800000, 0x44810000)
tenured generation   total 1408K, used 0K [0x44c50000, 0x44db0000, 0x48770000)
   the space 1408K,   0% used [0x44c50000, 0x44c50000, 0x44c50200, 0x44db0000)
compacting perm gen  total 4096K, used 975K [0x48770000, 0x48b70000, 0x4c770000)
   the space 4096K,  23% used [0x48770000, 0x48863f80, 0x48864000, 0x48b70000)

Thank you for the test case. I was able to reproduce this on solaris-i586, windows-i586, and on linux-i586. The crash is specific to the -client compiler and the i586 architecture. The expanded text of the Error-ID string is:
    43113F2652414D452D41503F491418160E435050005C
Decodes to:
    c1_FrameMap_i486.cpp, 92The test case works fine using -server (or -Xint) on i586, and it works fine using both -client and -server on SPARC systems.
I opened Bug-ID 6215242 on this issue. Look for is on the Bug-Parade in a day or two.

Similar Messages

  • JimP: Drawing Architecture: Retained Mode Considered Harmful

    Gentlepersons,
    I think that I'm beginning to understand how Flash/Flex's drawing architecture works.  My current understanding is described in this blog post:
         Retained Mode Considered Harmful
    If you understand Flash/Flex's drawing architecture, I'd welcome your comments on -- and corrections to! -- this blog post.
    On the other hand, if you're an experienced programmer but you're having trouble understanding how drawing works in Flash/Flex, then perhaps you'll learn something by reading this post (and, especially, from the comments on and corrections to it).
    Thanks!  :-)
    JimP

  • Is Iphone Hotspot  consider as wifi or bluetooth?

    I am using a Iphone4 hotspot to my ipad2 . Is that consider wifi or bluetooth? Can it do Facetime?

    iOS: Understanding Personal Hotspot
    http://support.apple.com/kb/HT4517
    Use Bluetooth to tether your iPhone, iPod touch, or iPad
    http://www.macworld.com/article/1159258/bluetooth_tethering.html
    How to Connect an iPad to an iPhone Via Bluetooth Tethering
    http://techtips.salon.com/connect-ipad-iphone-via-bluetooth-tethering-25472.html
    Using FaceTime http://support.apple.com/kb/ht4319
    Troubleshooting FaceTime http://support.apple.com/kb/TS3367
    The Complete Guide to FaceTime + iMessage: Setup, Use, and Troubleshooting
    http://tinyurl.com/a7odey8
    Troubleshooting FaceTime and iMessage activation
    http://support.apple.com/kb/TS4268
    Using FaceTime and iMessage behind a firewall
    http://support.apple.com/kb/HT4245
    iOS: About Messages
    http://support.apple.com/kb/HT3529
    Set up iMessage
    http://www.apple.com/ca/ios/messages/
    Troubleshooting Messages
    http://support.apple.com/kb/TS2755
    Setting Up Multiple iOS Devices for iMessage and Facetime
    http://macmost.com/setting-up-multiple-ios-devices-for-messages-and-facetime.htm l
    FaceTime and iMessage not accepting Apple ID password
    http://www.ilounge.com/index.php/articles/comments/facetime-and-imessage-not-acc epting-apple-id-password/
    Unable to use FaceTime and iMessage with my apple ID
    https://discussions.apple.com/thread/4649373?tstart=90
    For non-Apple devices, check out the TextFree app https://itunes.apple.com/us/app/text-free-textfree-sms-real/id399355755?mt=8
     Cheers, Tom

  • Assert Considered Harmful

    "Do not use assertions to check the parameters of a public method".
    Statement source: http://java.sun.com/j2se/1.4/docs/guide/lang/assert.html
    I could not disagree more with that statement. I would support it if they qualified that by saying that if an API provides an internal service where the context is known and the acceptibility of arguments known, feel free to assert. The same rationale applied to protected or package visibility can be used in that case. Where you should not use pre-condition argument asserts is when the context cannot be known: you are distributing an API for general use.

    "I think that the reason to avoid using assertions for
    parameter checking in public methods is because
    assertion can be disabled".
    That would also be an argument for not using asserts
    on methods with package or protected visibility, too.
    However, nobody has suggested we not use asserts in
    those cases. Asserts are extremely beneficial when
    checking package and protected method arguments. They
    are equally beneficial with public method arguments. Okay. I'll suggest that you not use asserts to check parameters of protected methods. This is because those methods can be called by classes that extend the class, and thus can be written by other programmers.
    In general, it's okay to use asserts to check package methods, because only one programmer or the programmers on one team will be calling the method. Presumably, the programmers working on that package will have assertions enabled for the package while working on the code, and therefore will find where they call the method with bad parameters.
    Consider having a method with package scope and adding
    asserts to quickly ferret out problems with its usage
    within an application. Now add "public" to the front
    of it. The visibility changed, you therefore remove
    the asserts and add IllegalArgumentException? Why? In
    fact you would not and should not remove the asserts
    in the vast majority of cases. You should in fact use
    asserts even when starting out as a public method, in
    the vast majority of cases. The small minority of
    cases, where you are publishing an API for general
    distribution, should not use asserts but rather an
    IAE. Obviously HUGE numbers of developers use
    generally distributed APIs but most programmers are
    writing applications and services and internal APIs. I agree that if code will always be used internally, it's okay to use asserts rather than exceptions to check parameters. However, code meant for internal use for a short time has an uncanny way of living on for years and being distributed more widely than planned... ;-)

  • YouTube link handling considered harmful

    Before I purchased my iPhone, I had a YouTube account with 100+ favorites.
    Now that I have the iPhone, I'd like to view my favorites list from YouTube.
    There's no way I can find to do this. If I visit my 'favorites' page for my YouTube account I can see all the videos from my favorites list, but the only way to view them is to individually email myself each and every link.
    This is broken behavior that defies common sense. Am I doing something wrong? What's the trick to being able to view my YouTube favorites?

    Your funny, I actually like you. I'm writing the below with a smile.
    +harmful. IN BRIEF: adj. - Constituting a disadvantage; Causing or capable of causing injury; Injurious to physical or mental health adj. - Tending to cause great injury; Contrary to your interests or welfare.+
    If he/she considers the YouTube feature to cause some disadvantge or that it is injurious to their mental health, then so be it. _Or perhaps they somehow rely on YouTube far more than I ever would or could._ I'm not going to tell them they are wrong, because I would be wrong. It's all in their perception. They're fully capable deciding if the feature is harmful to them in some way.
    The dictionary is on his side.
    Now would I use the word harmful? Surely not. It's not like Google Maps (or YouTube) is leading him off a pier when he's trying to get coffee.
    JJ

  • Hyphenated package names considered harmful?

    The other day I glanced at the Package Making HOWTO on the Wiki, and I happened to notice a passage stating that package names should not be hyphenated. However, I notice that a number of existing packages do have hyphenated names.
    So what's the deal? Should we really avoid hyphens, and if so, why?
    (BTW, I'm with the LISPers on this issue: hyphens are fairly natural to type and are thus cool; underscores are an abomination, so I'd really like to use hyphens).

    My mistake... long time ago.
    Its the $pkgver and $pkgrel that should not contain hyphens. Names are ok.
    hyphenate away.   I'll update the wiki.
    Dusty

  • Default automatic approvals (in light of KB3001652) considered harmful

    In case you didn't know, your WSUS server adds a "default automatic approval" rule  that causes it to automatically approve critical and security updates.   If you still have that enabled, you should remove it ASAP.  It burned
    me.
    To remove the rule, go to Options in your WSUS console then "automatic Approvals", select the rule and Remove it.
    This month, Microsoft released the Critical update KB3001652 (to Visual Studio tools for Microsoft Office 2010, a run-time library for third-party applications) which caused many systems to hang.  
    Microsoft quickly revoked the update, but if your (i.e. my) WSUS server has the default automatic approval rule, the bad update (since it is "Critical") is automatically approved then downloaded to any workstation with an application
    that uses the library.
    When users go to shut their computers down when they leave work, the bad update starts and never stops, continuing all night. And leaving them frozen out when they come in in the morning.   The only recourse is to power off.

    Well, the problem here is that Microsoft made a mistake. New revisions shall not contain new binaries.
    See this article:
    Managing changes from a WSUS Server
    "Auto-reapprove revisions. By default, when a new revision of an approved update is synchronized to the WSUS server we move the approval
    to the new revision. Normally this is what customers want, since new revisions never contain new binaries, just fixes to the metadata that describe how to automate the installation of the update."
    An even more serious  problem IMO is that MS revoked the update but they did not immediately distribute new metadata to expire the update. In fact they have not updated the metadata yet.
    Rolf Lidvall, Swedish Radio (Ltd)

  • Wbem patch considered harmful

    I reccently installed Solaris 9 (12/02) on a SunFire 280, and have been using the new Solaris Management Console for modifying partitions and other setup activities. What a great tool!
    After installing the Jan/16/04 Solaris 9 Recommended Patch Cluster, however, I started getting CIM errors (accompanied by cast exceptions) when trying to view my disks. Also, null pointer exceptions were being reported when trying to look at patches.
    Backing out the wbem patch 112945-19 (which replaces a number of jar files) fixed the problem, and I can see my disks again.
    I'm new to Solaris, and don't know how to report bugs (or whether it is even possible). But I thought I would mention my experience here, FWIW.

    I reccently installed Solaris 9 (12/02) on a SunFire 280, and have been using the new Solaris Management Console for modifying partitions and other setup activities. What a great tool!
    After installing the Jan/16/04 Solaris 9 Recommended Patch Cluster, however, I started getting CIM errors (accompanied by cast exceptions) when trying to view my disks. Also, null pointer exceptions were being reported when trying to look at patches.
    Backing out the wbem patch 112945-19 (which replaces a number of jar files) fixed the problem, and I can see my disks again.
    I'm new to Solaris, and don't know how to report bugs (or whether it is even possible). But I thought I would mention my experience here, FWIW.

  • Database Components Considered Evil

    This is the most important adage since "GOTO considered harmful". Small applications can benefit from the convenience of binding data sources to forms and using SQL based queries in components. Making that available is an industry must; it is also just this side of evil.
    Creating many small applications or a greater-than-small application should never fall victim to such a temptation; rather, in my opinion you should always abstract the database in data models that hide the underlying persistence strategy entirely. That way you manage data access in your data access package and publish APIs to the rest of the team for getting simple or complex models.
    Just started using JSF (very, very promising technology that stands on the shoulders of midgets) and was diasppointed by the availability of UI database binding. It's a marketing reality that is also present in JSTL.

    The advantage of DB Components, is you can just plonk 'em when you want them and they know how to display themselves automatically and follows the Encapsulation OO strategy. This been said, its a very bad idea to have sql statements within a DB component.... what happens if the database changes?
    BUT, the best of both world solution is to have a Model - View component (Notice, no Controller!) - Where, instead of the view component containing the SQL, it contains a reference to a default model , and it is this model that contains the SQL to retrieve the data. The outcome is the same, just plonk the component on the screen, and it sorts itself out , however, the database remains abstract to the 'view' , the SQL is encapsulated within the model.... The database changes, it only requires changes to this default model for everything to continue to work.
    So, using this methology, we can end up with a panel (the parent View) , containing lots of child views (Model-Views). These child views could also contain their own imbedded model-views. This is the composite pattern, and is mentioned by GOF.

  • Is iPod radiation harmful?

    I listen to my iPod touch every day on walks for about half an hour or so while I keep in my back pocket connected to a bluetooth headset. Wifi is left on as well to receive emails. After nearly a year of this I've started to develop a permanent dull ache in the behind on the same right side as the pocket I keep the iPod. Could be caused by something else of course but has anyone experienced any problems? I don't know what the radiation power of an iPod is close up but I gather that anything around 1000 microwatts/m2 is considered harmful and high risk.

    I can't find SAR information on iPod touch, but apple did publish SAR information on iPhone 5:
    http://www.apple.com/legal/rfexposure/iphone5,1/en/
    And more information:
    Specific absorption rate - Wikipedia, the free encyclopedia
    Bottom line. The emission from an iPod in your back pocket would not cause your symptoms. Best of luck.

  • Blocking on SQL server

    From last few days we are seeing blocking on SQL SERVER where select is taking exclusive lock and blocking the Update statement. Even Read committed snapshot Isolation is enabled.
    SQL SERVER 2012 SP2
    Windows server 2012.
    Lock pages in Memory has been enabled
    Please let me know any one can help us :)

    1) There's not really any such thing as a "blocking SQL Statement".  A query is blocked by a session because that other session holds incompatible locks.  Those incompatible locks may have been acquired by a previous query in the blocking
    session's transaction.  So the SELECT you see in the report may not be responsible for the blocking the UPDATE.
    2) In RCSI only READ COMMITTED and SNAPSHOT isolation levels use the row versioning, lock-free reading.  If you start a transaction an select a different isolation level you will acquire S locks to read data.  For instance .NET apps using
    TransactionScope, or COM+ apps using transactions can unintentionally start a SERIALIZABLE transaction.  Effectively opting-out of RCSI.  see eg
    using new TransactionScope() Considered Harmful
    David
    David http://blogs.msdn.com/b/dbrowne/

  • Permanent link to specific version of a document

    When ‘Sharing’ documents is it possible to issue (say for emailing to someone) a permanent link to the document i.e. one which is locked to the version and not one that changes or fails if a new version is subsequently added?
    There appears to be two groups of document links in SharePoint, the current version and previous versions.
    The current document version is referenced by a canonical path:
    http://site/document library/document.doc 
    A prior document version is referenced from a revision path. But this only works for non-current versions:
    http://site/_vti_history/versionID/document.doc  (Where versionID is generated by SharePoint)
    Therefore every time a new document revision is created the contents of the canonical path will change. The canonical path will point to the new document version while the previous version of the document is only available with the revision path.
    Therefore it is not possible to create a permanent link to a version of the document if at the time of issuing it is the current version.

    Hi,
    According to your description, my understanding is that you want to create a permanent link to specific version of a document.
    If a new version is created, the contents of the canonical path will change. Although the version number will increase, the previous version number will not change.
    If you want version 1.0, then the URL for this version will always be
    http://site/_vti_history/512/document.doc.
    More information are provided in the link below:
    http://theressomethingaboutsharepoint.blogspot.nl/2011/09/direct-link-to-certain-version-of.html
    http://blogs.msdn.com/b/roberthorvick/archive/2007/01/04/wss-rant-linking-to-the-latest-version-of-a-sharepoint-document-considered-harmful-lessons-6-and-7.aspx
    Best regards.
    Thanks
    Victoria Xia
    TechNet Community Support

  • SQL Dev 2.1:Ability to save and load visual query models?

    At SQL Dev 2.1, do we now have the ability to save and load visual query models as with TOAD? Or has that functionality been rolled into the for-pay Data Modeler extension? Seemed strange to hide the functionality deep within SQL Worksheet, then not allow query models to be saved or loaded. From what I recall, load/save was scheduled to be in 2.0.
    I've not yet downloaded and installed 2.1, but also as I recall, it was promised to be a significant (e.g. new-feature rich) release. Has it lived up to that promise? Hoping also that it's not so buggy as to not merit an upgrade. At my workplace, folks have different versions of SQL Dev 1.X installed, each for the purpose of retaining functionality that got broken in future releases, etc. Would love to be able to advise them to retire their 1.X installs in favor of 2.1.
    Edited by: Dana N on Jan 21, 2010 6:45 AM

    Dana, We are working on the query builder. We have not done anything with it in recent releases as we knew that it needed completely overhauled and a
    couple of bug fixes were not going to give us the query builder we needed. Sue will be able to tell you more as the we get closer to releasing it as a feature.Thanks Barry. I know it's probably impossible to give firm dates, but my colleagues would love to know, ballpark, when query builder might be ready. Any particular year/quarter that's targeted for?
    A lot of the bugs in the 2.1 are probably my fault as we decided to build a framework which allowed tasks to be scheduled like eclipse and push them to the
    background. Coupled with this, we tore apart the worksheet to allow us to fit tasks in, but to also give us the ability to do some of the enhancement requests
    that you guys, our users, have been asking for. While its not perfect, I believe its getting much better from both a functionality and performance standpoint. The
    worksheet will not change again and there are no enhancements logged or scheduled which will do that. The issues that have come as part of 2.1 are being
    addressed and we are fixing the highest priority ones as we speak. One of my priorities is to make these components as rock solid as possible.Thanks again. It really is a nice tool to work with, and I'm grateful to have it. I would choose stability for existing features over new ones, but I suppose there always has to be a balance in development. What was really scary in the past was getting bizarre / wrong answers in query results--that's a complete show stopper; e.g. clicking on a row/col intersection in a result set row would show strange and false values. New features can wait, but core functionality must be solid. If one can't presume integrity of query results, it's game over--using a version of SQL Developer that returns inconsistent result sets between runs could be Considered Harmful, or so it is to me.
    Anyway, thanks for responding and I hope Oracle Corp gets you whatever assistance you need to improve the quality of existing functionality while adding new features; with one not being at the expense of the other. :-) Glad also to see Sue has authored a book on the tool. Hopefully that will drive customer demand and force increased allocation of development resources toward the product. I'd like to think having out-of-the-box tools that are a joy to use might even increase market share.
    Data Modeler I would love to use, but am completely priced out of it. Enterprise Architect from Sparx Systems is the best value there so far as I can tell.
    Dana

  • Emailing persistent link to the current document version.

    I did not find a suitable answer by searching previous posts.
    We are working on a document transmittal workflow. This will email to a user, links to documents stored in a SharePoint document library. A requirement is to use out of the box features.
    If the document is an old version I use the link format
    http://site/_vti_history/UIVersion/Document Library/doc.doc. This works well as it always points to that version of the document.
    However the above format does not work when referencing the current version of the document, even if I know the document UIversion to plug into the above URL. The link has to be
     http://site/Version/Document Library/doc.doc
    The problem is when a link to the current version of the document is emailed and then the document is changed in SharePoint. 
    The email will no longer point to the version intended but rather the ‘new’ latest version. I need the link to open the correct document version.
    What I need is a persistent link to any version of a document whether the current version or an old one and to generate that at the time the email is created.
    However I cannot see a way to do this. Any help would be appreciated.
    Our current work around is to clone the document to artificially create an old version which can then be referenced. However this is not desirable.
    Thanks Richard

    Hi Richard,
    I'm afriad that it is impossible to modify the current document url(canonical path) to the last history version document url(revision path) in the workflow mail has been sent after the new current document(canonical path) generates.
    The canonical path document will always points to the lastest current version document, the persistent link of revision path document will only be available after the newer current canonical path document generates, and the revision path in workflow
    mail will not be available for the curent document item, this is how SharePoint version history works, you can read the following article.
    As a workaround, you may clone the document as you have done, or you may send the all the current version document information and the current document attachment in workflow mail as a snapshot for that time of triggering the workflow.
    http://blogs.msdn.com/b/roberthorvick/archive/2007/01/04/wss-rant-linking-to-the-latest-version-of-a-sharepoint-document-considered-harmful-lessons-6-and-7.aspx
    Thanks,
    Daniel Yang
    Forum Support
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
    [email protected]
    Daniel Yang
    TechNet Community Support

  • Easily duplicate / paste layer in different group folder?

    I design Web sites using Layer Comps so the homepage and innerpage examples are all in one .PSD. This means my Photoshop CC file has TONS of layers and folders that require me to scroll in the Layers Palette.
    Is there a way to copy/paste or move a layer to a different group folder without dragging it? Copy/paste for layer styles is a great tool. Is there anything like this for layers themselves?
    Sometimes I resort to opening a blank PSD to drag the layer to that, then go back to my source document and auto select the new group I want it in, flip back to the blank doc and drag the layer from there. That is not a great workaround if I want the positioning to be the same as the original layer.
    Thanks!

    Hi Nik,
    use of with() is generally not good, maybe:
    http://yuiblog.com/blog/2006/04/11/with-statement-considered-harmful/
    without with() it looks like that:
    #target illustrator
    var docRef = app.activeDocument;
    var ln = 'Layer 1';
    var ol = docRef.layers.getByName(ln);
    var nl = docRef.layers.add();
    nl.name = ln+' Copy';
    for (var a = ol.pageItems.length-1; a >= 0; a--) {
        ol.pageItems[a].duplicate(nl, ElementPlacement.PLACEATBEGINNING);
    the second document is a new document?
    var doc2 =app.documents.add();
    or you can get it by name just like the layer
    or by index
    var doc2 = app,documets[ indexnumber  ];
    then var nl should be:
    var nl = doc2.layers.add();
    chris

Maybe you are looking for