Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-7112544

"unrecognized message ID 46" when applet desotryed

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Incomplete
    • Icon: P4 P4
    • 7u6
    • 7
    • deploy
    • 7u4
    • x86
    • windows_xp

      FULL PRODUCT VERSION :
      Java Plug-in 10.0.0.147
      Using JRE version 1.7.0-b147 Java HotSpot(TM) Client VM

      ADDITIONAL OS VERSION INFORMATION :
      Microsoft Windows XP [Version 5.1.2600]

      A DESCRIPTION OF THE PROBLEM :
      Under some unclear circumstances, when a browser window including an applet closes (or gets refreshed), this message appears in the java console:

      plugin2manager.parentwindowDispose
      sun.plugin2.main.client.PluginMain: unrecognized message ID 46

      as a result it's impossible to start the applet again, the applet's display area will be blank (white). the java plugin logo indicating the progress of applet loading does not appear either.


      REGRESSION. Last worked in version 6u29


      REPRODUCIBILITY :
      This bug can be reproduced occasionally.

      CUSTOMER SUBMITTED WORKAROUND :
      browser must be restarted in order to be able to run the applet again
      Tested several configurations how to reproduce this.
      Borwsers tested:
      - Firefox 3.6.10 (FF3.6)
      - Firefox 8.0 (FF8)
      - Chrome 15.0.874.121 m (Chrome15)

      Java version:
      Java Plug-in 10.1.0.8
      Using JRE version 1.7.0_01-b08 Java HotSpot(TM) Client VM

      Java plugin running in all of these browsers will display the message
      "sun.plugin2.main.client.PluginMain: unrecognized message ID 46".
      (Once, it displayed unrecognized message ID 26 or 27, but couldn't reproduce it)

      Steps to reproduce:

      1. open http://www.flyordie.com in the browser (FF3.6, FF8 or Chrome15)
      2. click on "Play Now!" in the featured game box (Power Snooker)
      3. click on "Practice Mode"
      4. wait for the ad, after a few seconds you can click on "Skip ad"
      5. the game will start.
      6. open Java console from the tray icon. it should display
      "plugin2manager.parentwindowDispose". this is due to the
      preloader applet having been closed.
      7. close the game window. Java console will display:
      "plugin2manager.parentwindowDispose" three times and
      "sun.plugin2.main.client.PluginMain: unrecognized message ID 46"

      Notes:
      - The another two "plugin2manager.parentwindowDispose" lines will be
        displayed because there are two applets running on the page.
        Somehow, the problem is related to one of these (SPCountApplet).
      - If logging/tracing is enabled in the Java control panel then
        "sun.plugin2.main.client.PluginMain: unrecognized message ID 46"
        won't be displayed.

      After this, Java plugin won't display another applet if it's started
      within a short period of time. This time is, however, browser dependent.
      - Chrome15 seems to be working fine.
      - FF3.6 won't display new applets until the tray icon disappears
        (so a new plugin instance will be started)
      - FF8 won't display new applets if you start the new applet within
        a very short time.

      How to do this:
      1. Restart the browser and open the game as described in the steps above,
         but do not close it.
      2. Open another game window (by clicking on "Play Now!") but do not click
         on "Practice Mode" yet.
      3. Close the first game window and click "Practice Mode" in the second window
         as quick as possible. (Actually, using FF3.6 you have time until the tray
         icon disappears.)
      4. The preloader applet won't start. Using FF3.6, there will be a white rectangle. Using FF8, the applet's area will be blue indicating the applet has been init()-ialized but it won't be start()-ed.

      Note: The game will start after a minute because the preloader page will
      proceed after a 60 seconds timeout. By that time, Java plugin's problem
      seems to have been resolved so the game will start.

      When the SPCountApplet gets destroyed it still creates a http network
      connection to the server to report the logout (on a separate thread).

      This might last a few seconds. That's why it seems to me there is some
      kind of a race condition between new applet creation and applet
      destruction in Java plugin. Furthermore, when starting the game in
      the second window (step 4 above) another tray icon appears, which
      means the previous plugin instance is still locked.
      Using FF3.6 is the easiest way to explore this effect.

            nam Nam Nguyen (Inactive)
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: