Closed Bug 521338 Opened 10 years ago Closed 10 years ago

Get Liveconnect working again on 1.9.2 branch after patch to bug 511425

Categories

(Core Graveyard :: Java: Live Connect, defect, P1)

1.9.2 Branch
All
macOS
defect

Tracking

(status1.9.2 beta1-fixed)

RESOLVED FIXED
Tracking Status
status1.9.2 --- beta1-fixed

People

(Reporter: smichaud, Assigned: mrbkap)

References

()

Details

(Keywords: verified1.9.2)

Attachments

(3 files)

This bug is spun off from bug 517355.

Because Apple's Java Plugin2 won't be ready in time for the first
release on the 1.9.2 branch (Firefox 3.6), it was decided to restore
OJI, Liveconnect and the JEP on the 1.9.2 branch.

My patch for bug 517355 has been more-or-less complete for a while,
and worked fine before the patch for bug 511425 landed.  But since
then my patch crashes whenever a Java applet is loaded (usually
shortly afterwards).  (See bug 517355 comment #38 and bug 517355
comment #44.)

Andreas Gal and Blake Kaplan are working to fix the problem (see
http://hg.mozilla.org/users/smichaud_pobox.com/bugzilla517355/).

But though we no longer see the crashes from bug 517355 comment #38,
and though ordinary Java applets now appear to work fine, there are
still crashes (different ones) loading a URL that explicitly uses
Liveconnect (JavaScript-to-Java and/or Java-to-JavaScript
Liveconnect):

http://poslfit.homeip.net/test/liveconnecttest.html

I'll post a stack in my next comment.
Blocks: 517355
I should mention exactly what I did before the crash from comment #1.
It sometimes takes a little work to reproduce.

1) Loaded Sun's Clock demo applet
   (http://java.sun.com/applets/jdk/1.4/demo/applets/Clock/example1.html).

2) Opened another tab and loaded another copy of the Clock applet.

3) Opened another tab and loaded the NOAA weather applet
   (http://radar.weather.gov/radar.php?rid=LOT&product=NCR&overlay=11101111&loop=yes).

4) Opened another (fourth) tab and tried to load
   http://poslfit.homeip.net/test/liveconnecttest.html.

   The crash happened as this page was loading.

Switching away from the browser and back again may also sometimes
trigger a crash.
(In reply to comment #0)
> My patch for bug 517355 has been more-or-less complete for a while,
> and worked fine before the patch for bug 511425 landed.  But since
> then my patch crashes whenever a Java applet is loaded (usually
> shortly afterwards).  (See bug 517355 comment #38 and bug 517355
> comment #44.)

To be clear, the fix for the bustage that bug 517355 caused was pretty easy to fix. The most recent crash is because of the pseudo-frame that liveconnect tries to build. Given how hard it has been for us to get the JS engine's own pseudo frame up and running without bugs, I'm working on a patch to rid liveconnect of its pseudo-frame.
Do we think this blocks beta? I'm pretty sure it blocks final release ... if it's to be considered a beta blocker, please switch the priority to P1.
Flags: blocking1.9.2+
Priority: -- → P2
Attached file JEP crash
I've run into another crash, even with the lastest patches.  But this
is probably a JEP bug -- one that (for whatever reason) didn't used to
cause crashes.

Java_netscape_javascript_JSObject_eval is the JEP's implementation of
the Java JSObject.eval() method.

I triggered this crash by loading
http://poslfit.homeip.net/test/liveconnecttest.html, then rapidly
clicking on the Reload button.	Doing that, the crash seems to be
about 25% reproducible.

I made this stack using a copy of the JEP downloaded from
http://javaplugin.sourceforge.net/ and copied to /Library/Internet
Plug-Ins/.  Those binaries have debug symbols.  The bundled JEP (which
I removed) doesn't.  The thread that crashed still contains many
spurious symbols -- it's almost	certainly a Java thread.

I'll keep testing.
> Do we think this blocks beta?

I think it does, since it blocks bug 517355.

Despite my previous comment, I think my tests are going reasonably well.  I'll continue with them.
Priority: P2 → P1
I've now tested around 10 applets (among those that I normally use to
test JEP releases) on OS X 10.5.8, OS X 10.6.1 and OS X 10.4.11 (the
last on a PPC Mac).  This includes this bug's URL, and several other
applets that use Liveconnect.  I didn't see any more crashes.

I did have issues in a couple of applets (only in Namoroka) with mouse
clicks not triggering their actions.  But this is almost certainly
unrelated to Liveconnect.  I'll open another bug on this.  I don't
think its a beta blocker.

As far as I'm concerned, this bug is now fixed, and its patches can
land on the 1.9.2 branch.  So also can my patch for bug 517355.

We need to get this bug's patches posted and reviewed.  But I'm not
sure what the next step after that should be.  Should my patch for bug
517355 and this bug's patch(es) be landed separately, or should they
be combined into a single patch?
I consolidated these using the following command in my repo:

  hg diff -r 0dff27bfb277
Attachment #405539 - Flags: review?(gal)
Assignee: nobody → mrbkap
Comment on attachment 405539 [details] [diff] [review]
mrbkap's 5 patches to my user repo, consolidated

> #ifdef OJI
>-JS_BEGIN_EXTERN_C
>-JS_FORCES_STACK JS_EXTERN_API(void)
>-js_LeaveTraceLC(JSContext *cx);
>-JS_END_EXTERN_C
> #endif

Empty ifdef.
Attachment #405539 - Flags: review?(gal) → review+
Comment on attachment 405539 [details] [diff] [review]
mrbkap's 5 patches to my user repo, consolidated

Landed (with gal's fix) on the 1.9.2 branch, together with my patch
for bug 517355:

http://hg.mozilla.org/releases/mozilla-1.9.2/rev/3861fd3d6671
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
(Following up comment #8)

> I did have issues in a couple of applets (only in Namoroka) with
> mouse clicks not triggering their actions.  But this is almost
> certainly unrelated to Liveconnect.  I'll open another bug on this.
> I don't think its a beta blocker.

I now have a hunch this is Java-specific, and has to do with the JEP's
underpinnings for the Java AppletContext.showDocument() method.

I tested quite a lot with my DebugEventsPlugin from bug 441880, and
couldn't see anything that would explain this behavior.  I'll open a
new bug once I've had a chance to debug this in the JEP.
(Following up comment #12)

I've found out this is a Firefox bug, and I've opened bug 523129.
Verified fixed on the 1.9.2 branch using Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2b6pre) Gecko/20091223 Namoroka/3.6b6pre and the site: http://poslfit.homeip.net/test/liveconnecttest.html.
Keywords: verified1.9.2
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.