Closed Bug 559138 Opened 14 years ago Closed 14 years ago

[OOPP] Lots of hang dumps from mozilla::plugins::PPluginInstanceParent::CallNPP_SetWindow (signature [@google_breakpad::ExceptionHandler::WriteMinidump]) apparently paired with plugin dump [@linux-gate.so@0x425]

Categories

(Core Graveyard :: Plug-ins, defect)

x86
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 519601

People

(Reporter: cjones, Unassigned)

Details

Attachments

(1 file)

This is the #2 top crasher for 3.6.4pre.  The #3 top crasher is [@linux-gate.so@0x425] in plugin subprocesses, so I'm pretty sure there's a correlation.  Example plugin report

https://crash-stats.mozilla.com/report/index/de3b112d-0018-4524-b328-297042100412

The "plugin thread" is waiting on a pthread primitive, and no other threads (other than the Gecko IO thread) are listed.  Seeing the rest of the stack would be extremely helpful, but it's chomped because of flash.

A random sampling of the browser-side reports shows that the NPP_SetWindow() is coming under nsObjectFrame::InstantiatePlugin().  This might be significant because NPP_SetWindow() wins races now --- this might possibly indicate that we're calling NPP_SetWindow() while flash is initializing and calling an NPN* API.

Browser-side URLs are mainly gmail; I've also seen facebook and this page http://attivissimo.blogspot.com/2010/04/linvasione-dei-pixel.html .  I can't reproduce on x86-64 with flash r42 or r45.
I have local modifications that have minidump_stackwalk keep scanning the stack until it walks into an unmapped address.  This can give garbage results, so I only attached the part of the stack that looked valid.  Need to get symbols for these addresses.
Looks like this is a dupe of bug 519601.

We could confirm if we could get the full path name of libflashplayer.so.
I'm guessing that's unlikely to be on the stack?

If it contains "netscape", then Flash Player will hang.
https://bugzilla.mozilla.org/show_bug.cgi?id=519601#c12

All plugin reports have kernel version
Linux 2.6.30.2 #1 SMP Tue Jul 21 18:42:42 CEST 2009 x86_64
so this is apparently happening on one distribution.
(I don't know whether or not this is one user.)

Guessing CEST is Central European Summer Time, it might be a central European based version (or a user who rolled their own kernel in central Europe).

Gentoo installs Flash Player into /opt/netscape/plugins/ (but a Gentoo kernel would usually have "gentoo" in the version string).
If this is common at all we should consider making a workaround: 3.6.4 is going to come out before flash 10.1 comes out of beta, probably. What would the workaround look like?
Oh, there are a couple of Gentoo reports with a similar signature [@ linux-gate.so@0x425].
e.g. 6a53ec7b-f9ad-43cc-8e9a-b5d0f2100410
(In reply to comment #3)
> What would the workaround look like?

Passing the plugin filename through and environment variable instead of argv.
Or s/netscape/netsc@pe/ and back in the arguments.
blocking1.9.2: --- → ?
Yeah, maybe insert an underscore every other character?

_/_o_p_t_/_n_e_t_s_c_a_p_e_/...
Thanks Karl, sorry for the dup.  Must have blocked this ridiculous bug out of my mind.

I vote for passing the plugin dso leaf name on the command line and the full path through MOZ_PLUGIN_DSO or something.
I really don't like envvars... you risk leaking them to subprocesses, among other things. If we can just use the command line that would make me happier.
It's possible for to do that without risk of leaking the var to subprocesses, but as this is just a gross hack backwards and forwards I don't particularly care what form it takes.
I'll come up with something.
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → DUPLICATE
blocking1.9.2: ? → ---
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: