graysky2 / profile-sync-daemon

Symlinks and syncs browser profile dirs to RAM thus reducing HDD/SDD calls and speeding-up browsers.
https://wiki.archlinux.org/index.php/Profile-sync-daemon
Other
899 stars 84 forks source link

Firefox 82 thinks it's already running #280

Closed jkemp814 closed 3 years ago

jkemp814 commented 3 years ago

PSD 6.34 from Ubuntu 20.04 repository Firefox 82

I have an issue when I start Firefox I get the message that Firefox is already running, to use another profile. Are there some things I can check to find out why this is happening? I tried with and without overlayfs. All profiles copy over to /run/user/1002 and create symbolic links to .mozilla/Firefox directory with .backups and .ovfs files

I can start Firefox after stopping PSD

Chromium start and runs okay

graysky2 commented 3 years ago

With psd disabled and stopped, what is the output of: ps aux | grep firefox

Also, 6.34 is nearly 2 years old... you can update to the latest?

jkemp814 commented 3 years ago

Hello, graysky2

Sorry for the late response. I noticed Firefox nightly downloaded straight from Mozilla does start okay in /opt directory. I installed psd from Ubuntu 20.04 repository. Apparently it's an old version in their repository.

I will try and install using other means. And will report back. I need to close this browser, shut down psd and run your command on regular Firefox.

jkemp814 commented 3 years ago

When I run grep I get:

james 1831064 0.0 0.0 11656 736 pts/12 S+ 09:16 0:00 grep --color=auto firefox

That's with Firefox closed and psd stopped and disabled.

jkemp814 commented 3 years ago

Okay, I downloaded and built package from this project page to v6.42. Still does the same. Firefox thinks it's already running, but Firefox Nightly, and Chromium will run fine. When I stop psd, release version of Firefox starts normally.

graysky2 commented 3 years ago

What is the difference between the two firefox packages? I am unfamiliar with ubuntu packaging. The for psd is using pgrep pgrep -x -u james firefox to see if the binary is running. Do we know what the binary name is for each of the firefox packages?

  1. Stop psd
  2. Run firefox from the ubuntu repo
  3. Post the output of ps aux | grep firef
  4. Exit firefox
  5. Run firefox nightly
  6. Post the output of ps aux | grep firef
jkemp814 commented 3 years ago

None of the Firefox's were running. I did get the release version of Firefox that Ubuntu distributes, via their installation or repository, running. (which was the initial complaint) By moving the Firefox Nightly profiles to its own directory it now loads.

When you download Firefox Nightly straight from Mozilla it uses the same profile directory as the release version. Ubuntu's Firefox Nightly PPA creates a separate directory called Firefox-Trunk. All of these under .mozilla . Even though all the profiles have different names, somehow PSD thinks two of those profiles are the same. With the profiles in different directories they all load into RAM.

Appreciate all your hard work and time responding, great program!

jkemp814 commented 3 years ago

Release version of Firefox: firefox Beta version: firefox-beta Nightly version: firefox-trunk

Those are the binaries, so we need to add those to the list of browsers

graysky2 commented 3 years ago

I am provided 2/3 of them: https://github.com/graysky2/profile-sync-daemon/blob/master/common/browsers/firefox https://github.com/graysky2/profile-sync-daemon/blob/master/common/browsers/firefox-trunk

You can drop in the missing one for beta.

jkemp814 commented 3 years ago

Excellent!

graysky2 commented 3 years ago

Please let me know if that solves your issue

jkemp814 commented 3 years ago

Absolutely.

jkemp814 commented 3 years ago

Hello graysky2,

PSD is still giving me trouble on three different Ubuntu 20.04 and 21.04 systems. I have to stop PSD in order to use Firefox. It must be something in the way the browser is install. It was initially working on the 21.04 Ubuntu. But after a restart it stopped working. I even tried deleting the .lock and .parentlock files in each profile to no avail. Looking for any suggestions I could try. I have verified Firefox is not running but I get the message it is already running. It only works when I shut PSD down.

graysky2 commented 3 years ago

Please update to the latest version first. https://github.com/graysky2/profile-sync-daemon/commit/227ff1439647cf811d73755df0170406fe518f4d

jkemp814 commented 3 years ago

Install version Profile-sync-daemon v6.43

Same prompt. Indicates Firefox is already running. As soon as I stop PSD I can start the browser normally.

graysky2 commented 3 years ago

OK... let's figure out what ubuntu is calling the various executable you have. To be clear you are still running 3 versions, correctly?

Release version of Firefox: firefox Beta version: firefox-beta Nightly version: firefox-trunk

Those are the binaries or the package names?

  1. Stop psd
  2. Run "firefox"
  3. Post the output of ps aux | grep firef
  4. Exit firefox

Repeat for firefox-beta and firefox-trunk.

jkemp814 commented 3 years ago

Also when using sudo make uninstall it does ot completely remove all files install.

ln: failed to create symbolic link '/usr/share/man/man1/profile-sync-daemon.1': File exists

I had to manually remove '/usr/share/man/man1/profile-sync-daemon.1'

jkemp814 commented 3 years ago

No, I am only using the installed version now to see if all those other versions were the problem. I only have one Firefox install with six profiles.

graysky2 commented 3 years ago

I had to manually remove '/usr/share/man/man1/profile-sync-daemon.1'

I will fix that ... left over from when I gzip'ed them. Thanks for pointing it out.

jkemp814 commented 3 years ago

Firefox from Ubuntu 20.04.1 repository

jkemp814 commented 3 years ago
ps aux | grep firef
james     294266 20.6  1.2 3776112 630908 ?      Sl   13:10   2:33 /usr/lib/firefox/firefox -new-window
james     294370  0.3  0.3 2521456 176572 ?      Sl   13:10   0:02 /usr/lib/firefox/firefox -contentproc -childID 1 -isForBrowser -prefsLen 1 -prefMapSize 239589 -parentBuildID 20201112153044 -appdir /usr/lib/firefox/browser 294266 true tab
james     294433 19.4  0.7 28206612 350540 ?     Sl   13:10   2:24 /usr/lib/firefox/firefox -contentproc -childID 2 -isForBrowser -prefsLen 7007 -prefMapSize 239589 -parentBuildID 20201112153044 -appdir /usr/lib/firefox/browser 294266 true tab
james     294538 14.2  0.8 2772464 401000 ?      Sl   13:10   1:44 /usr/lib/firefox/firefox -contentproc -childID 3 -isForBrowser -prefsLen 7805 -prefMapSize 239589 -parentBuildID 20201112153044 -appdir /usr/lib/firefox/browser 294266 true tab
james     294595  0.0  0.2 2404576 98684 ?       Sl   13:10   0:00 /usr/lib/firefox/firefox -contentproc -childID 4 -isForBrowser -prefsLen 7886 -prefMapSize 239589 -parentBuildID 20201112153044 -appdir /usr/lib/firefox/browser 294266 true tab
james     294932  0.0  0.1 2402236 85292 ?       Sl   13:14   0:00 /usr/lib/firefox/firefox -contentproc -childID 5 -isForBrowser -prefsLen 8050 -prefMapSize 239589 -parentBuildID 20201112153044 -appdir /usr/lib/firefox/browser 294266 true tab
james     295111 16.0  0.1 288636 66296 ?        Sl   13:16   1:07 /usr/lib/firefox/firefox -contentproc -parentBuildID 20201112153044 -prefsLen 8050 -prefMapSize 239589 -appdir /usr/lib/firefox/browser 294266 true rdd
james     295728  0.0  0.0  11656   724 pts/6    S+   13:23   0:00 grep --color=auto firef
jkemp814 commented 3 years ago

ps aux | grep firef james 295874 0.0 0.0 11524 732 pts/6 S+ 13:24 0:00 grep --color=auto firef

with Firefox and PSD stopped

graysky2 commented 3 years ago

OK. So there is just one firefox package installed and you have 6 profiles. Please start PSD and post the output of psd p

jkemp814 commented 3 years ago
psd p
Profile-sync-daemon v6.43

 systemd service: active
 resync-timer:    active
 sync on sleep:   enabled
 use overlayfs:   enabled

Psd will manage the following per /home/james/.config/psd/.psd.conf:

 browser/psname:  firefox/firefox
 owner/group id:  james/1002
 sync target:     /home/james/.mozilla/firefox/7t1otrrd.darc
 tmpfs dir:       /run/user/1002/james-firefox-7t1otrrd.darc
 profile size:    64M
 overlayfs size:  0
 recovery dirs:   none

 browser/psname:  firefox/firefox
 owner/group id:  james/1002
 sync target:     /home/james/.mozilla/firefox/9y4b7xom.default
 tmpfs dir:       /run/user/1002/james-firefox-9y4b7xom.default
 profile size:    4.0K
 overlayfs size:  0
 recovery dirs:   none

 browser/psname:  firefox/firefox
 owner/group id:  james/1002
 sync target:     /home/james/.mozilla/firefox/1otqkqhw.default-release
 tmpfs dir:       /run/user/1002/james-firefox-1otqkqhw.default-release
 profile size:    16M
 overlayfs size:  0
 recovery dirs:   none

 browser/psname:  firefox/firefox
 owner/group id:  james/1002
 sync target:     /home/james/.mozilla/firefox/ympclfi5.netscape
 tmpfs dir:       /run/user/1002/james-firefox-ympclfi5.netscape
 profile size:    66M
 overlayfs size:  0
 recovery dirs:   none

 browser/psname:  firefox/firefox
 owner/group id:  james/1002
 sync target:     /home/james/.mozilla/firefox/51l77rck.communicator
 tmpfs dir:       /run/user/1002/james-firefox-51l77rck.communicator
 profile size:    29M
 overlayfs size:  0
 recovery dirs:   none

 browser/psname:  firefox/firefox
 owner/group id:  james/1002
 sync target:     /home/james/.mozilla/firefox/5r1gtjcc.navigator
 tmpfs dir:       /run/user/1002/james-firefox-5r1gtjcc.navigator
 profile size:    52M
 overlayfs size:  0
 recovery dirs:   none

 browser/psname:  firefox/firefox
 owner/group id:  james/1002
 sync target:     /home/james/.mozilla/firefox/e2pgdhrz.james
 tmpfs dir:       /run/user/1002/james-firefox-e2pgdhrz.james
 profile size:    258M
 overlayfs size:  0
 recovery dirs:   none
graysky2 commented 3 years ago

OK that all looks normal. On my system, I open a shell, type firefox and I am presented with the "Firefox - Choose User Profile" dialog. I can click whichever I like from that and click the "Start Firefox" button. When I want to switch profiles, I just exit, and repeat. How are you doing it?

jkemp814 commented 3 years ago

The same. Most of the time I hit ALT-F2 and use 'firefox -p --no-remote' because I have three profiles open at the same time using a 4K monitor. But I can't get any profiles to open. Not even the first one, whether I use the ALT-F2 method or the Firefox icon then choose a profile

graysky2 commented 3 years ago

I tried the same on my system and I am able to load them fine..

  1. start psd
  2. firefox -p --no-remote (select a profile and "start firefox")
  3. open a new shell and firefox -p --no-remote (select my 2nd profile and "start firefox")

Now I have 2 firefox windows open each with its own profile.

You're able to do only step 1 and 2? What is the output from the shell when you try step 3?

jkemp814 commented 3 years ago

firefox -p --no-remote

!!! [Child][RunMessage] Error: Channel closing: too late to send/recv, messages will be lost

I get that message even when starting Firefox with PSD stopped.

The only thing that happens is the dialog box pops up stating Firefox is already running, please choose another profile, but no matter which one I choose it does the same thing. Except when I stop PSD

jkemp814 commented 3 years ago

Screenshot from 2020-12-14 14-00-47

jkemp814 commented 3 years ago

I can't get pass step two, first profile will not load. It's doing the exact same thing on two other laptops. One laptop has a brand new clean install of Ubuntu 21.04 which hasn't been released but does the exact same thing.

graysky2 commented 3 years ago

That dialog box is not in my code, it is part of firefox. I have no insights into it.

jkemp814 commented 3 years ago

I have gotten that dialog box a while back when I didn't have PSD installed. Mozilla's knowledge base instructs the user to delete the .lock and .parentlock files. I tried that in this case, but it made no difference

graysky2 commented 3 years ago

I am going to close the issue since it is unrelated to psd.