Nspluginwrapper Update Status

David A Benjamin davidben at mit.edu
Sat Apr 2 07:54:20 UTC 2011


On Fri, 1 Apr 2011, Martin Stransky wrote:
> I think it was because plugins hangs sometimes (in NPP_SetWindow for 
> instance) and whole browser is frozen and waits when plugin finishes (NPAPI 
> calls are synced). Some hang detector would be great here.

Mmm. Well, this only freezes the renderer processes in Chromium. Seems 
Firefox freezes the whole thing. Meh, I went ahead and took the patch. 
Cutting down on distribution patches was an explicit goal of this work 
after all. :-) I don't really care and can't imagine it'd cause any 
trouble that a 30 second timeout wouldn't also have.

I don't know off-hand if either browser has hang detectors for plugins. 
(Chromium does have one for renderers.) I do think this should be the 
browser's job though. Both browsers already push plugins out-of-process, 
and a hanging plugin is as legitimate of a problem without nspluginwrapper 
as with. Browser-level hang logic should work just fine for us. They also 
can do a far better job (e.g. "A plugin is causing foobar page to be slow, 
kill it?", fading the tab out to black, some other crazy thing).


(Oh, I guess I never disclaimed this explicitly: should anybody care, I'm 
a student who recently interned with Google on Chrome and still 
occasionally contributes to Chromium. Of course my nspluginwrapper work is 
tested on Firefox and written with it in mind (even fixed a bug triggered 
by Arora this week). But I can't promise they'll both get equal testing, 
seeing as one of them is my primary browser and the other isn't.)


> I wrote the plugin-config tool because we wanted to install the plugins when 
> firefox was starting and it was meant to be as fast as possible. I'd use a 
> combination of npw-config and python/bash script today. The speed is no 
> longer an issue and plugin-config duplicates many parts of npw-config. Plus 
> plugin-config is too complicated - it tries to detect changes and do only 
> necessary replacements. So the new tool may just remove all linked/wrapped 
> plugins and wrap/link them again.

Huh, interesting. I gather this is why there's something about setuid in 
your git repo? (I still haven't looked at plugin-config in detail yet.) I 
wonder if that'll be problematic if it's replaced with a script.

This existing tool also does the partial update thing which I agree should 
be dropped. Among other things, it currently only records the upstream 
version number of a wrapper. On a distro which uses the existing update 
mechanism, any patch which changes the wrapper help will not update any 
wrappers, breaking those plugins. If plugin-config has its own logic, it's 
possible you don't have this bug.

(And since it's been ages since the last upstream version number bump, I 
suspect few have actually tested their wrapper upgrade paths. Perhaps 
that's an argument for getting this dealt with in my first release because 
packagers will want to revisit the migration path anyway.)


> Thanks for your work on this project! I don't mind to take any changes 
> and merge them with recent Fedora packages. And I'd love to get rid of 
> plugin-config ;-)

Thanks for the support. :-) I should ping the Debian and Ubuntu 
maintainers, (Hey guys, do you happen to be on this list already?), so 
they're aware of this effort and can chime in about what they need for 
wrapper management.


David




More information about the Nspluginwrapper-devel-list mailing list