What would it do exactly? It sounds like not much more than aBApplication, in fact. I would just have complex enough add-ons spawn their
This server could also expose the add-ons through a command-line
interface, turning all add-ons into command-line tools even if they
were not originally coded for that (I know some are also applications
as well as add-ons.)
Le 25 mars 2019 02:26:35 GMT+01:00, Ryan Leavengood <leavengood@xxxxxxxxx>
a écrit :
Badly coded Tracker add-ons can crash Tracker. Tracker can be blamed
for add-ons crashing, such as in this forum post:
https://discuss.haiku-os.org/t/tracker-crashing-in-hrev52989/8364
I suggest a new server, tracker_addon_host (or maybe
tracker_addon_server) which hosts these add-ons, the same way the
media_addon_server does for media_server.
This server could also expose the add-ons through a command-line
interface, turning all add-ons into command-line tools even if they
were not originally coded for that (I know some are also applications
as well as add-ons.)
The benefits are obviously Tracker can't crash from add-on bugs, and
maybe there is a way for Tracker to inspect the stack trace when the
tracker_addon_host crashes and blacklist the offending add-on.
The drawbacks are of course another server running and more memory
usage, though I doubt it would be too bad. Maybe running the add-ons
over IPC will be slightly slower, but I think the Tracker add-on
protocol is fairly simple, and BMessage passing between apps is well
optimized.
I mention it here to get other opinions on the idea.
This would probably be a fairly fun project. Obviously I am interested
in it, though would not get around to it for a while.
What would it do exactly? It sounds like not much more than a
BApplication, in fact. I would just have complex enough add-ons spawn their
own app if that's appropriate.
And let's just fix that crash, no matter where it comes from. Given the
plans for TrackGit (icon overlays comes to mind) there will be a need for
deeper customization of Tracker, which makes sandboxing difficult at least
for some parts of the code.
I would just write some guidelines for people writing Tracker add-ons to
keep the add-on part to a minimum and spawn another app as needed. In a lot
of cases the app would be started only when the user interacts with the
add-on, so no need for a permanently running server.
Also, if an addon crashes your addon host, you still get a crash dialog,
and users will still blame the os. So I'm not sure it even solves the
initial problem. With launch daemon, Tracker is restarted on a crash
anyway, so it's not that bad?