On Dec 8, 2024, at 16:39, Stephen Morris <steve.morris.au@xxxxxxxxx> wrote:
On 8/12/24 09:34, Jonathan Billings
wrote:
On Dec 6, 2024, at 22:14, Stephen Morris <steve.morris.au@xxxxxxxxx> wrote:
What determines that the lock file is valid? In the case of Thunderbird where it creates a lock file in folder for my profile and the folder where Thunderbird is installed to, the symlinks are dangling while Thunderbird is running, if firefox is the same while firefox is running the lock symlink is dangling and after firefox shuts down it is left there dangling, hence what determines whether or not it is valid?
I think you are being a bit too strict with this command.
The way Firefox and thunderbird encode a hostname and PID in a symlink is a reeeally old way of doing it, it predates Firefox entirely. It’s how Firefox can tell if a running instance already exists, so it can tell it to open a link instead of starting a brand new session. (The “remote” functionality). If the hostname matches and the pid is active, use the pid. If the hostname matches and the pid is not Firefox or doesn’t exist, start a new session and delete the old one. If the hostname doesn’t match, complain to the user that Firefox is running on another host (for shared home across systems). Firefox is *supposed* to clean it up but perhaps you killed it uncleanly or by a shutdown.
I think you are taking the “symlinks” command a bit too seriously. There’s nothing wrong with how Firefox uses a symlink like this. I’ve seen quite a few other apps use it that way. Don’t get bent out of shape about it, there’s nothing in the spec that says a symlink must point at a file.
I suspect you should rethink using it on $HOME. It’s fine for detecting broken software or in a specific directory.
I thought that might be how Firefox and Thunderbird might be using
that data, but I didn't understand what the number after the "+"
was. Given what you are saying is one of the uses of that data in
terms of cross system access, are you saying that sharing of app
data between Windows and Linux, in a dual boot situation shouldn't
be done? I was doing that a long time ago with Thunderbird, where I
was storing my profile in a location that was accessible by both
Linux and Windows, but abandoned that process because of case
sensitivity issues between Linux and Windows. If I created a local
folder in Thunderbird, Linux created the physical folder in the case
typed in for the folder name, which Thunderbird in Windows could use
because Windows didn't care about the case, but if I created the
folder the same way in Windows, Linux couldn't access the folder
because Windows behind the scenes creates the folder in all
uppercase, hence the physical folder was in a different case.
If what you have specified is how Firefox and Thunderbird are using
that data (cross system) then a shared profile will cause issues if
the IP lease expiration timeframes are different between Linux and
Windows and the expiration causes DHCP to allocate a different IP
address.
I have no idea how Windows works but I assume it doesn’t use a symlink. As you said, the bigger concern is case confusion.
It uses the computers hostname, so yes if DHCP changes your hostname (not IP) then it might cause issues. I’ve seen it happen when people manually change their hostname while the browser is running.
The concern I was talking about with shared home directories is when you might have two computers running at the same time with /home mounted from an NFS share, and the same user logged into both computers. Firefox would launch on one, create the symlink, and when you launch Firefox on the other, it complains because you can’t use the same profile on both. Not only would you run into issues with one browser stepping on changes the other made, but you’d have cache, cookies, session data, etc that would be shared. Firefox and Thunderbird just don’t support it. (It might be possible if they used a robust locking and sharing backend but they don’t)
|