User profiles in windows offline cache cause sqlite locking errors and corrupted places and bookmark dbs

RESOLVED INACTIVE

Status

()

--
major
RESOLVED INACTIVE
9 years ago
5 months ago

People

(Reporter: lohphat, Unassigned)

Tracking

(Blocks: 1 bug)

1.9.1 Branch
x86_64
Windows Vista
Points:
---
Dependency tree / graph
Bug Flags:
blocking-thunderbird3 -

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

9 years ago
User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1) Gecko/20090624 Firefox/3.5 (.NET CLR 3.5.30729)
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1) Gecko/20090624 Firefox/3.5 (.NET CLR 3.5.30729)

Scenario:

H: is mapped to file server share where user profile is kept.

The server share mapped to H: is marked as "Available offline" which tranparently copies files into the local offline cache (C:\Windows\CSC)

When FF starts is presents the sql lock error:

"The boolmarks and history system will not be functional because one of Firefox's files is in use by another application.  Some security software can cause this problem."


Reproducible: Always

Steps to Reproduce:
1. Setup FF with a profile on server share
2. Mark for offline availability.
3. Try to start FF while disconnected from server.
Actual Results:  
sql file errors

Expected Results:  
Transparent operation.
(Reporter)

Comment 1

9 years ago
Related to  Bug 484883
(Reporter)

Updated

9 years ago
Depends on: 484883
Assignee: nobody → Jan.Varga
Component: File Handling → SQL
Product: Firefox → Core
QA Contact: file.handling → irixman+bugzilla
Version: unspecified → 1.9.1 Branch

Updated

9 years ago
Assignee: Jan.Varga → nobody
Component: SQL → Storage
Product: Core → Toolkit
QA Contact: irixman+bugzilla → storage
It seems possible (likely?) that this will effect Thunderbird users on Windows once we turn on GloDa by default, so we may need this for Thunderbird 3.
Flags: blocking-thunderbird3?
(In reply to comment #0)
> 3. Try to start FF while disconnected from server.

When network drive of H: is not available, MS Windows guarantees access to H:\... by application transparently using offline cache?
When network drive of H: is not available, user can read/update files in local offline cache (C:\Windows\CSC), and MS Windows automatically synchronizes when H: is reconnected if next option is set, isn't it?
> 'automatically synchronize the offline files when I log on or log off my computer' 
http://www.met.reading.ac.uk/itmet/windows/windows-help/pcdatasync.html
http://support.microsoft.com/kb/214738
If H: can be access transparently while disconnected, get Process Monitor log for firefox's I/O request to files on H:.
> http://technet.microsoft.com/en-us/sysinternals/bb545027.aspx
> http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx
> Filter: if process name is firefox.exe, include
>         if path starts WITH H:\, include
Is there any file open/close error or write error or non-ordinal return code form MS Win in log for ....sqlite files?
As lohphat@earthlink.net refers to Bug 484883, and because message of "one of Firefox's files is in use by another application", I guess next. Right?
- H: is still network(remote) drive, so Tb/SQLite issues file lock request.
- However, MS Win's offline cache implementation is not transparent in such case.
So, in other words, windows tells SQLite that it cannot get the file lock when it's offline, right?
(Reporter)

Comment 7

9 years ago
Yes, the core problem is that Windows does not provide file locks for offline file and the documentation warns of db ops for files in the CSC (Client Side Cache).  And yes, the files are resync'ed when the file share is made available again (either when the user returns to the office or uses a VPN tunnel).

Until MS changes this behavior, it is a platform-specific behavior which must be accounted for.  Many corp environments use offline mode to manage user profiles to provide redundancy and transportability (e.g. when a laptop HD fails or the user's migrating to another system, all the user has to do is log into the new system to restore their user profile). 

Without an easy workaround for this issue, FF's penetration into the corp environment is handicapped (differently-abled?).  As we know, many people use at home what they're forced to use at work.  If FF can be made to paly nicely in the workplace, then we gain further market penetration.

Yes, I said "penetration" twice, dmose.  

<the_count>

TWO, TWO "penetrations" AH-AH-AH!!!

</the_count>

/thunder and lightning
Bienvenu & Standard8 say we have historically not done well (or promised) profiles on network shares.  Would be good to deal with, but can't block at this stage.
Flags: blocking-thunderbird3? → blocking-thunderbird3-
(Reporter)

Comment 9

9 years ago
This is not about profiles on network shares, this is on local storage in the CSC cache.  The profile content is local.

This is a core feature of the Windows platform and is impeding FFox/Thuderbird acceptance into the corporate environment.
(In reply to comment #9)
> This is a core feature of the Windows platform and is impeding FFox/Thuderbird
> acceptance into the corporate environment.
But it's a current problem that we wouldn't be making worse (or better!).
(Reporter)

Comment 11

9 years ago
Well I would consider "not working" to be a problem which needs to be "made better".
(In reply to comment #11)
> Well I would consider "not working" to be a problem which needs to be "made
> better".
Sure, but that's not in the scope of this bug.
(In reply to comment #12)
> Sure, but that's not in the scope of this bug.
Err, my last two comments, I thought this was a different bug.  Disregard them please!
(In reply to comment #9)
> This is not about profiles on network shares, this is on local storage in the
> CSC cache.  The profile content is local.

After a bit of Googling and poking around on MSDN, what little I could find out about the CSC is that it's a locally cached version of a network (SMB) share.  

If I'm misunderstanding, where exactly is the authoritative resource that's being cached on the local filesystem?
(Reporter)

Comment 15

9 years ago
e.g. If the user's windows or FFox profile is on an SMB share mounted to H: (like \\sambaserver\home\john.doe) and the share is marked for offline caching, the network path to the files is cached in an internal db format in c:\windows\CSC by the OS.  If the share is not available (e.g. when not connected to the network) the OS gets the files transparently from the CSC cache even though the app is using the UNC or the mounted path in the file I/O.

"In theory" the app doesn't (or shouldn't) know that the path is offline or not it just tries to open the file.

There is a caveat about db ops on an offline path that locking ops may fail.

http://www.microsoft.com/windowsxp/using/mobility/learnmore/offlinefiles.mspx

http://windowshelp.microsoft.com/Windows/en-US/help/93a550df-34cd-4497-85d0-8732602f59591033.mspx

http://en.wikipedia.org/wiki/Windows_Vista_I/O_technologies#Offline_Files
http://support.microsoft.com/kb/230739

Updated

9 years ago
Blocks: 123929

Comment 16

5 months ago
Per policy at https://wiki.mozilla.org/Bug_Triage/Projects/Bug_Handling/Bug_Husbandry#Inactive_Bugs. If this bug is not an enhancement request or a bug not present in a supported release of Firefox, then it may be reopened.
Status: UNCONFIRMED → RESOLVED
Last Resolved: 5 months ago
Resolution: --- → INACTIVE
You need to log in before you can comment on or make changes to this bug.