place.sqlite-shm and places.sqlite-wal files not being removed upon exit, causes problems when copying bookmarks to other profiles
I have 5 profiles I am using with Firefox (32.0.3) in multiple computers running Win 7 or Win 8.1. I launch each profile from the "Choose user Profile" interface. I copy the places.sqlite file between those five profiles, so that EACH profile uses the same set of bookmarks. I do this on multiple computers as well.
This has been working well in the past. After terminating firefox, I would copy place.sqlite from one profile to the others and transfer via USB flash drive to all computers, and each profile showed the same set of bookmarks.
Recently (not sure when or after which firefox update was performed), this has not been working as well as it had been for years. Now, when I change bookmarks (delete or add) in the "primary" profile, I then exit firefox for the primary profile and copy the places.sqlite to the other profile's folder (just as I have in the past), but when I launch the other profiles, the bookmarks are messed up (individual or a whole set of bookmarks in the same "folder" do not work).
I have been noticing that when exiting firefox, I see 3 versions of place.sqlite left in the profile's folder (sometimes):
places.sqlite places.sqlite-shm places.sqlite-wal
When I notice those "secondary" files (places.sqlite-shm and places.sqlite-wal), I can relaunch firefox for the same profile, and then exit, and the secondary files MIGHT go away. But other times they might NOT.
If the two "secondary" places.sqlite files are present when I copy the main place.sqlite file to the other profiles, that appears to be when the bookmarks get messed up.
So NOW I have to make sure when I exit my primary profile, that there is only the PRIMARY places.sqlite file present. Plus, I have to make sure that when I copy the primary place.sqlite file to the other profiles that I DELETE the secondary files (places.sqlite-shm and places.sqlite-wal) for those profiles as well (if they exist) before launching firefox for those profile, or again, the bookmarks are messed up.
Why is this now happening when it didn't for soooo long?
Is it a (new) firefox bug?
Todas as respostas (2)
places.sqlite-shm and places.sqlite-wal files are temporary SQLite files that are used to make it possible to keep track of changes made. You can possibly copy those two files as well if they are present or you have to make sure that the profile folder where you copy the places.sqlite file to do not have them.
I've also noticed that Firefox is leaving these *.wal and *.shm files behind; even though it closed down cleanly. This is, IMHO, a bug...
Provided Firefox has been closed those files may safely be deleted.
They are used by sqlite for Write Ahead Logging and should be removed when the last connection to the database is closed... so, perhaps a bug with sqlite?
Quoting from: https://www.sqlite.org/tempfiles.html
Write-Ahead Log (WAL) Files: The WAL file is created when the first connection to the database is opened and is normally removed when the last connection to the database closes. However, if the last connection does not shutdown cleanly, the WAL file will remain in the filesystem and will be automatically cleaned up the next time the database is opened.
Shared-Memory (SHM) Files: The shared-memory file has the same lifetime as its associated WAL file."