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

Java applets load repeatedly hangs Firefox

    XMLWordPrintable

Details

    • b02
    • generic, x86
    • solaris_nevada, solaris_10
    • Verified

    Backports

      Description

        Test case:
        http://leadbelly.lanl.gov/lanl_ep_data/cgi-bin/ep_plot_choose_3.cgi/19980311/LANL_GEO_LoE_00-24/1/2

        Steps to reproduce:
        Keep clicking the left and right button on the up-right corner, the browser will hang on Solaris snv54, sometimes crash.

        This bug is related to the mozilla community bug: https://bugzilla.mozilla.org/show_bug.cgi?id=323175. The reporter said that it can also be reproduced on Windows and Linux.

        After some investigation, the hang is caused by an infinite loop in the code block of JavaVM5.cpp:
        "
          while (spontPipeClean && (pluginInstance->GetStatus()) < APPLET_START) {
            /* Wait for the applet notify us that APPLET IS STARTED
               while waiting, we need to poll the worker queue since
               there maybe a request from java side such as cookie/proxy
               request.
             */
            ProcessWorkQueue();
          }
        "

        And also the error message in the Java console:
        "
        Exception in thread "Thread-10" java.lang.NullPointerException
            at sun.plugin.util.AnimationPanel.createTranslucentImage(AnimationPanel.java:232)
            at sun.plugin.util.AnimationPanel.createGradientShapeImage(AnimationPanel.java:244)
            at sun.plugin.util.AnimationPanel.initBackground(AnimationPanel.java:320)
            at sun.plugin.util.AnimationPanel.preloadResources(AnimationPanel.java:509)
            at sun.plugin.util.AnimationPanel.doPaint(AnimationPanel.java:565)
            at sun.plugin.util.AnimationPanel.run(AnimationPanel.java:1061)
            at java.lang.Thread.run(Thread.java:619)
        "

        The return value of pluginInstance->GetStatus() is always 0 which is APPLET_DISPOSE. That's to say, the applet isn't started at all.

        And also the stack trace when Firefox hangs:
        =>[1] __pollsys(0x80450b8, 0x1, 0x8045088, 0x0), at 0xd1dc88f5
          [2] _pollsys(0x80450b8, 0x1, 0x8045088, 0x0), at 0xd1dbbdf6
          [3] _poll(0x80450b8, 0x1, 0x0), at 0xd1d7f7b2
          [4] JavaVM5::ProcessWorkQueue(0x8d5bd80), at 0xcb4b37e4
          [5] JavaVM5::GetJavaObjectForInstance(0x8d5bd80, 0x1), at 0xcb4b4623
          [6] JavaPluginFactory5::GetJavaObjectForInstance(0x8d5a7a0, 0x1), at 0xcb4afdef
          [7] JavaPluginInstance5::GetJavaObject(0x8d42578, 0x80451b8), at 0xcb4b1ed9
          [8] CNSAdapter_JavaPlugin::GetJavaObject(0x8c848a0, 0x80451b8), at 0xcb50fc02
          [9] nsHTMLAppletElementSH::GetPluginJSObject(0x8c302d0, 0x8c2ecb8, 0x8b0df68, 0x8c848a0, 0x8045220, 0x8045224), at 0xcd73d5a2
          [10] nsHTMLExternalObjSH::PostCreate(0x8c302d0, 0x8c31038, 0x8c2ecb8, 0x8b0df68), at 0xcd73ccde
          [11] XPCWrappedNative::GetNewOrUsed(0x80453e8, 0x8d3ca48, 0x8c43100, 0x819d640, 0x0, 0x80453a8), at 0xce3ad97e
          [12] XPCConvert::NativeInterface2JSObject(0x80453e8, 0x80454bc, 0x8d3ca48, 0xcda5f968, 0x8b98728, 0x0, 0x0, 0x8045470), at 0xce396231
          [13] nsXPConnect::WrapNative(0x81482d0, 0x8c2ecb8, 0x8b98728, 0x8d3ca48, 0xcda5f968, 0x80454bc), at 0xce384478
          [14] nsDOMClassInfo::WrapNative(0x8c2ecb8, 0x8b97d60, 0x8d3ca48, 0xcda5f968, 0x8045718, 0x8045508), at 0xcd726a85
          [15] nsHTMLDocumentSH::GetProperty(0x8535300, 0x8c029b8, 0x8c2ecb8, 0x8b97d60, 0x8bca09c, 0x8045718, 0x8045568), at 0xcd73a75e
          [16] XPC_WN_Helper_GetProperty(0x8c2ecb8, 0x8b97d60, 0x8bca09c, 0x8045718), at 0xce3b7513
          [17] js_GetProperty(0x8c2ecb8, 0x8b97d60, 0x8c35188, 0x8045718), at 0xd1944157
          [18] js_Interpret(0x8c2ecb8, 0x8cc923b, 0x8045838), at 0xd192ca56
          [19] js_Invoke(0x8c2ecb8, 0x1, 0x2), at 0xd192635c
          [20] nsXPCWrappedJSClass::CallMethod(0x8631cd0, 0x8c9d330, 0x3, 0x835ee78, 0x8045b00), at 0xce3abf11
          [21] nsXPCWrappedJS::CallMethod(0x8c9d330, 0x3, 0x835ee78, 0x8045b00), at 0xce3a613f
          [22] PrepareAndDispatch(0x8c9d330, 0x3, 0x8045be0), at 0xd1cb4cc0
          [23] nsXPTCStubBase::Stub3(0x8c9d330, 0x8bbcee0), at 0xd1cb4dc0
          [24] nsEventListenerManager::HandleEventSubType(0x8c912c8, 0x8c238b0, 0x8c9d330, 0x8bbcee0, 0x8be8a50, 0x1, 0x4), at 0xcd593f08
          [25] nsEventListenerManager::HandleEvent(0x8c912c8, 0x8c36670, 0x8046668, 0x80461c0, 0x8be8a50, 0x4, 0x8046490), at 0xcd5943c3
          [26] nsGenericElement::HandleDOMEvent(0x8cb4500, 0x8c36670, 0x8046668, 0x80461c0, 0x4, 0x8046490), at 0xcd54c1c8
          [27] nsGenericElement::HandleDOMEvent(0x8cb4578, 0x8c36670, 0x8046668, 0x80461c0, 0x4, 0x8046490), at 0xcd54c066
          [28] nsGenericElement::HandleDOMEvent(0x8c28648, 0x8c36670, 0x8046668, 0x80461c0, 0x7, 0x8046490), at 0xcd54c066
          [29] nsHTMLImageElement::HandleDOMEvent(0x8c28648, 0x8c36670, 0x8046668, 0x0, 0x1, 0x8046490), at 0xcd5fb5b1
          [30] PresShell::HandleEventInternal(0x8c35ca0, 0x8046668, 0x8d5d090, 0x1, 0x8046490), at 0xcd338b3b
          [31] PresShell::HandleEvent(0x8c35ca0, 0x8d5d090, 0x8046668, 0x8046490, 0x0, 0x8046494), at 0xcd3386ef
          [32] nsViewManager::HandleEvent(0x8c370f8, 0x8c72410, 0x8046668, 0x0), at 0xcd6e76b2
          [33] nsViewManager::DispatchEvent(0x8c370f8, 0x8046668, 0x80465bc), at 0xcd6e68da
          [34] HandleEvent(0x8046668), at 0xcd6dc946
          [35] nsCommonWidget::DispatchEvent(0x8c72938, 0x8046668, 0x80466c0), at 0xce2c539e
          [36] nsWindow::OnMotionNotifyEvent(0x8c72938, 0x8321138, 0x83a7140), at 0xce2ba110
          [37] motion_notify_event_cb(0x8321138, 0x83a7140, 0x0), at 0xce2bf851
          [38] _gtk_marshal_BOOLEAN__BOXED(0x841f0e0, 0x80467b0, 0x2, 0x804686c, 0x80467cc, 0x0), at 0xd16bcca8
          [39] g_closure_invoke(0x841f0e0, 0x80467b0, 0x2, 0x804686c, 0x80467cc), at 0xd13be073
          [40] signal_emit_unlocked_R(0x815e688, 0x0, 0x8321138, 0x80469ec, 0x804686c), at 0xd13d1cce
          [41] g_signal_emit_valist(0x8321138, 0x1f, 0x0, 0x8046ae0), at 0xd13d0d7e
          [42] g_signal_emit(0x8321138, 0x1f, 0x0, 0x83a7140, 0x8046b04), at 0xd13d1175
          [43] gtk_widget_event_internal(0x8321138, 0x83a7140), at 0xd17becbf
          [44] gtk_widget_event(0x8321138, 0x83a7140), at 0xd17be951
          [45] gtk_propagate_event(0x8321138, 0x83a7140), at 0xd16bb8f8
          [46] gtk_main_do_event(0x83a7140, 0x0), at 0xd16ba98d
          [47] gdk_event_dispatch(0x80cc2b8, 0x0, 0x0), at 0xd1504f7a
          [48] g_main_dispatch(0x80cce08), at 0xd1433615
          [49] g_main_context_dispatch(0x80cce08), at 0xd1434705
          [50] g_main_context_iterate(0x80cce08, 0x1, 0x1, 0x8169a58), at 0xd1434b22
          [51] g_main_loop_run(0x831e9f8), at 0xd1435124
          [52] gtk_main(0x8046ff8, 0x8087430, 0x8160098, 0x8046d48, 0xce1d25ab, 0x81985d8), at 0xd16ba2ba
          [53] nsAppShell::Run(0x81985d8), at 0xce2c3928
          [54] nsAppStartup::Run(0x8160098), at 0xce1d25ab
          [55] XRE_main(0x5, 0x8047068, 0x8087408), at 0x8061a2c
          [56] main(0x5, 0x8047068, 0x8047080), at 0x805a521

        Attachments

          Issue Links

            Activity

              People

                dphamsunw Danielle Pham (Inactive)
                duke J. Duke
                Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:
                  Imported:
                  Indexed: