Do

[Metabug] Plugins should not be able to block main UI

Bug #268362 reported by Chris Halse Rogers
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Do
Fix Released
High
Unassigned

Bug Description

We've had all sorts of problems with plugins blocking (or deadlocking) Do. Here's a metabug to track the problem and ideas for solving it. I'll target it at 0.7. We can break plugin ABI as much as we like, since we'll likely be doing it anyway, and I don't think we should be hesitant to break the API, too.

I'll start:
a) Spooling all plugin operations out to threads. This has the obvious problem that GTK isn't threadsafe, and this can cause problems. That said, GLib itself is (or claims to be) threadsafe - is there any reason why plugins need to be using GTK outside of the configuration dialog?

Changed in do:
importance: Undecided → High
milestone: none → 0.7
status: New → Confirmed
Revision history for this message
Chris Halse Rogers (raof) wrote :

Actually, it seems to have occured to a number of people that there's nothing that plugins do that's on Do's critical performance path. As such, it seems like we could enforce process separation between plugins and core, at least for the vast majority of plugins (live searching plugins may want to/need to remain in core's address space for performance).

This immediately and completely solves a couple of our big problems - namely, plugins deadlocking Do and plugins crashing Do. It moves from an impossible problem to one of input validation in core + a much less annoying problem involving solely plugins.

Presumably this would be implemented as a dbus interface on core + a new plugin loader binary.

Jason Smith (jassmith)
Changed in do:
status: Confirmed → Fix Committed
Changed in do:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.