-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Should categories which involve a booster trigger a booster restart? #418
Comments
My first, intuitive notion was "yes", but I have never analysed what the booster does in detail (some preloading of libraries, IIRC), hence I cannot tell if this is necessary. As I assume restarting the booster is costly (CPU and run-time), I think we should know for sure if this is needed. Asked the other way around: Is there some indication (ether technically or by testing) that things do not work well without restarting the specific booster service of Jolla's email or browser app? |
Bootser-browser is specific for apps using the WebView, which currently apart from the browser proper is Email. The exact working are hidden from us, but it somehow keeps resources in memory so that WebView launch is much improved. (One can check that by building a WebView-using application, and starting a I would assume that there is a case when relaunching the booster@ service is necessary: If a patch modifies anything the booster process has preloaded. Which would basically be things in the Mozilla profile directory. Which means there is one moment when a booster restart would be necessary: If the EMail booster is running (which it normally is), and none of its files have ever been patched, and then my abovementioned patch is installed. If the booster has been restarted once, activating and deactivating (or modifying the contents of) the patch does not need a restart. And in theory, upon uninstallation of the patch one could restart the booster, but not doing so has no effect because the patch has been deactivated and does not exist any more. |
… but that is only because you implemented that cleanly, I assume: You patch a library to use your CSS file and … activating / deactivating only changes the CSS file? While writing this, I ask myself: How is this achieved? It is only a single unified diff (or not in this case?), so how can one alter two files upon installation (or enabling?), but only one when activating / deactivating? But no need to explain in detail: Give me a pointer to source at Git* and I will read, if there is no public repo then just do not care, because …
Sounds as if that again is due to a fail-safe implementation by you. Others might implement in a "quick & dirty" manner, hence I believe that restarting the booster for these two categories makes sense, both upon enabling and disabling such a Patch. |
Nono, the library I mean is the Patchmanager preload library. It goes somewhat like this:
|
I took my time, because it appears that you want another mind to check these considerations for correctness.
I reread the steps 1 to 11 multiple times, also trying to imagine that the many "it"s do not reference the last occurring noun or subject, but I still fail to comprehend them. Sorry. |
We are forcing all processes to preload the library through ld.so.preload. So in fact all are made to "know about" PM (at least subconsciously). |
I'm currently not sure how exactly the communication between the daemon and the library works. It is clear that doPrepareCache in the daemon does check for file existence, dangling symlinks etc. And that pm_name (from the library) gets the name it should redirect to from a connection to the daemon, and does no checking or managing of lists of existing files itself. |
We definitely have an issue with boosted apps. I frequently see patches not being in effect (despite being activated/applied) for Browser and Email. Patches like:
'randomly' stop working. Possibly after they, or their boosters, are restarted, killed, or OOM killed. Not sure when it triggers. |
Sorry that I cannot contribute to this, not even the discussion: It is beyond my current know-how and I lack the time to become more knowledgeable on this topic. |
No sweat at all. I'll open a separate issue about this soon, just so we have something to point to as a known issue, and so we have something to track. |
(To add a couple of other things that don't work, not booster related - changing the number of cameras in To the topic: randomly stopping working means that we need to add systemd dependencies on patchmanager service for those booster services I guess. But "stopping working" on a running system is not something I have an explanation for either. Regarding communication preload library <--> daemon, it's |
Some Apps, (Browser and Email) are tied to a browser booster service.
PM currently only restarts the app itself, not the booster.
Should PM also trigger a service restart of the booster?
The text was updated successfully, but these errors were encountered: