In v153 addressbooks don't show in UI, sqlite files contain data, addressbook creation fails. SQLite WAL failures on smb network drive.
Categories
(Core :: SQLite and Embedded Database Bindings, defect, P1)
Tracking
()
| Tracking | Status | |
|---|---|---|
| thunderbird_esr140 | --- | unaffected |
| thunderbird_esr153 | --- | affected |
| firefox-esr115 | --- | unaffected |
| firefox-esr140 | --- | unaffected |
| firefox-esr153 | --- | fixed |
| firefox155 | --- | wontfix |
| firefox156 | --- | wontfix |
| firefox157 | --- | wontfix |
| firefox158 | --- | fixed |
People
(Reporter: abittner, Assigned: mkmelin)
References
(Regression)
Details
(Keywords: regression, Whiteboard: [datalossy])
Attachments
(4 files, 1 obsolete file)
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0
Steps to reproduce:
thunderbird 153.1.1 ESR x64, windows build, official, long time profile, coming from long time ago, probably like win7 upgraded to win10, then win11, thunderbird user profile most of the time or always on a network drive (network drive letter) on a windows server operating system.
current thunderbird 153.1.1 ESR x64 "suddenly?" doesnt show any addressbook objects any more (also no main addressbook containers in the addressbook gui inside TB), i can also noet create any more? new? local addressbook via the gui any more it always simply prints inside these rather new fancy gui places that no addressbook could have been created no matter how simple term i enter as the name for the addressbook, for example: "addr1"
anyhow, so i took the abook.sqlite and history.sqlite (files were both from august 10, 2026, then was some vacation time over here) and there were some -wal files (empty/zero bytes) and some .sqlite-shm files (they had some kilobytes) for both of these files.
i put all six of these files into a separate folder and tried to repair (sqlite3.exe command line) and check them, the sqlite3 never printed any errors and i exported into a new .sqlite file both of the main .sqlite files and then tried to import them inside the addressbook gui import area inside thunderbird 153.1.1 esr, it asks if it should create a new local addressbook with the name of this new sqlite file, i press okay and it should run... the mouse cursor briefly flickers as if it was working and nothing else happens, this last? third? step stays visible the gui doesnt disappear and does not finish....
when checking the files in the thunderbird user profile then i suddenly now see tons (tens...) of new abook-01.sqlite , sqlite-shm and .sqlite-wal files and file numbers running up to 10, 20 30 40 inside the profile directory...
but all of these new/additional .sqlite and sqlite-shm files are only 32kilobytes of size, all the -wal files are only zero bytes... as if the imports fail right after the initial 32kilobytes and never finish ... pending whatever....
so there is something seriously amiss...
during the vacation time maybe there was the upgrade from the 140something thunderbird ESR that was current before... to this 153.x ESR level i think... maybe thats what we did during that time or right in the beginning of august, and now we notice that the addressbook are not present visible and being able to use or fix or re-add etc...
also noticed maybe somewhat related: i used to have quicktext addon working nicely in tb ESR previously before, in 153.x ESR it was marked grey and incompatible for a while, then the quicktext author released a newer version, i have seen some little blue dot at those three-dots area of the addon for quicktext and it printed update the addon, but it never does... so eventually i have removed the quicktext completely on this machine wanted to re-add it again via AMO (addon mozilla org) normally from inside the 153.x.x ESR thunderbirg, is shows up as a hit and as details when searching for quicktext... but the green big button to add it into TB ESR does nothing... clicking it... never adds... never comes up with the popup that normally happens if i really want it to be added etc etc..
i have some machines where the bigger ESR upgrade happened nicely and also quicktext became/stayed usable, but i have this machine where quicktext (and this addressbook issue) is now a major problem / bug.
thanks for helping!
Comment 1•1 month ago
|
||
If you started with a "long ago" profile created in a very old version of Thunderbird, and didn't go through the version update sequence, then your address books will not have been migrated to the new format. https://support.mozilla.org/en-US/kb/upgrading-older-version-thunderbird
is has been migrated i dont know where you read that i didnt migrate. i only wanted to point out that this user profile is long grown. i always only use the thunderbird integrated update construct inside the about dialogbox and similar. nothing fancy. but the userprofile of thunderbird has been mostly on the network drive ever since, not as UNC path concept. but with normal drive letters concept
the addressbook was working fine a few weeks ago. this is a kind of a simple office business pc. thanks.
Comment 3•1 month ago
|
||
i have some machines where the bigger ESR upgrade happened nicely and also quicktext became/stayed usable, but i have this machine where quicktext (and this addressbook issue) is now a major problem / bug.
Please keep bug reports to one issue only. Addon issues should be addressed with the addon's support site. And general support issues at https://support.mozilla.org/en-US/questions/new/thunderbird
(In reply to abittner from comment #0)
...
current thunderbird 153.1.1 ESR x64 "suddenly?" doesnt show any addressbook objects any more (also no main addressbook containers in the addressbook gui inside TB), i can also noet create any more? new? local addressbook via the gui any more it always simply prints inside these rather new fancy gui places that no addressbook could have been created no matter how simple term i enter as the name for the addressbook, for example: "addr1"
You tested Help > Troubleshoot Mode?
And what errors are seen in Tools > Developer > Console?
yes troubleshootmode / safemode? its the same the whole addressbook is kind of empty one single root object or default object on the left but no entries/addressbooks creatable (local addressbok) its all very simple, win11 pro x64, german, german TB ESR ever since. developer console i will need to try.
what am i supposed to be looking for in there? any special lines, messages, objects or types? to filter or so? not very familiar with this.
it shows a number of various error lines with sub-errors or details
NS_ERROR_STORAGE_IOERR: Component returned failure code: 0x80630002 (NS_ERROR_STORAGE_IOERR) [mozIStorageService.openDatabase]
...
(six of these types)
and then follows the corruption message:
NS_ERROR_FILE_CORRUPTED: Component returned failure code: 0x8052000b (NS_ERROR_FILE_CORRUPTED) [mozIStorageService.openDatabase]
...
when i try to add a single new address (not trying to add an addressbook though) it shows these errors right thereafter:
NS_ERROR_MALFORMED_URI: Unexpected uri:
Uncaught (in promise) NS_ERROR_MALFORMED_URI: Unexpected uri:
NS_ERROR_FAILURE: No directory for uri=jsaddrbook://abook.sqlite
NS_ERROR_FAILURE: No directory for uri=jsaddrbook://abook.sqlite
so what can i do now? delete the two sqlite files (abook.sqlite , history.sqlite)? would this give me a fresh situation still inside my thuderbird profile? and maybe then the import would work again?
there is data inside the sqlite files and sqlite3.exe with following some basic checks from (ai-chat results for sqlite repair)
sqlite3 broken.db "PRAGMA integrity_check;"
sqlite3 broken.db "PRAGMA quick_check;"
sqlite3 broken.db "VACUUM;"
never showed any errors?
i dont progress anywhere, when i delete the abook.sqlite (and current -shm and -wal files if present) and the same for history.sqlite and restart thunderbird, go into the addressbook gui and try to create a new local addressbook from scratch? it gives a simple error that it couldnt be created in these new overlay kind of gui for this addressbook stuff.
the error messages from the error-console show lots of problems:
Browser-Konsolenmodus
Nur รผbergeordneter Prozess(Schnell)
Multiprozess(Langsamer)
1788197856533 addons.xpi WARN Checking C:\Program Files\Mozilla Thunderbird\distribution\extensions for addons
IndexedDB UnknownErr in ClampResultCode: \builds\worker\checkouts\gecko\dom\indexedDB\ActorsParent.cpp:580
services.settings: UnknownError: IndexedDB: thunderbird/moz-essential-domain-fallbacks getLastModified() IndexedDB: The operation failed for reasons unrelated to the database itself and not covered by any other error code. RemoteSettingsClient.sys.mjs:585
services.settings: UnknownError: IndexedDB: thunderbird/remote-permissions getLastModified() IndexedDB: The operation failed for reasons unrelated to the database itself and not covered by any other error code. RemoteSettingsClient.sys.mjs:585
services.settings: UnknownError: IndexedDB: thunderbird/url-parser-default-unknown-schemes-interventions getLastModified() IndexedDB: The operation failed for reasons unrelated to the database itself and not covered by any other error code. RemoteSettingsClient.sys.mjs:585
services.settings: UnknownError: IndexedDB: thunderbird/anti-tracking-url-decoration getLastModified() IndexedDB: The operation failed for reasons unrelated to the database itself and not covered by any other error code. RemoteSettingsClient.sys.mjs:585
services.settings: UnknownError: IndexedDB: thunderbird/fingerprinting-protection-overrides getLastModified() IndexedDB: The operation failed for reasons unrelated to the database itself and not covered by any other error code. RemoteSettingsClient.sys.mjs:585
NS_ERROR_STORAGE_IOERR: Component returned failure code: 0x80630002 (NS_ERROR_STORAGE_IOERR) [mozIStorageService.openDatabase] CalStorageDatabase.sys.mjs:35:39
calendar: Can't create calendar for 80302292-6f23-475c-b60d-8b61c73abafc (storage, moz-storage-calendar://): [Exception... "Component returned failure code: 0x80630002 (NS_ERROR_STORAGE_IOERR) [mozIStorageService.openDatabase]" nsresult: "0x80630002 (NS_ERROR_STORAGE_IOERR)" location: "JS frame :: resource:///modules/calendar/CalStorageDatabase.sys.mjs :: openConnectionTo :: line 35" data: no] CalCalendarManager.sys.mjs:544:18
NS_ERROR_STORAGE_IOERR: Component returned failure code: 0x80630002 (NS_ERROR_STORAGE_IOERR) [mozIStorageService.openDatabase] 2 CalStorageDatabase.sys.mjs:35:39
services.settings: UnknownError: IndexedDB: thunderbird/hijack-blocklists getLastModified() IndexedDB: The operation failed for reasons unrelated to the database itself and not covered by any other error code. RemoteSettingsClient.sys.mjs:585
Uncaught (in promise) NS_ERROR_STORAGE_IOERR: Component returned failure code: 0x80630002 (NS_ERROR_STORAGE_IOERR) [mozIStorageService.openDatabase]
openConnectionTo resource:///modules/calendar/CalStorageDatabase.sys.mjs:35
connect resource:///modules/calendar/CalStorageDatabase.sys.mjs:127
prepareInitDB resource:///modules/CalStorageCalendar.sys.mjs:165
set id resource:///modules/CalStorageCalendar.sys.mjs:131
registerCalendar resource:///modules/CalCalendarManager.sys.mjs:348
initHomeCalendar chrome://calendar/content/calendar-management.js:403
loadCalendarManager chrome://calendar/content/calendar-management.js:129
loadCalendarComponent chrome://calendar/content/calendar-chrome-startup.js:50
_loadComponentsAtStartup chrome://messenger/content/messenger.js:288
_delayedStartup chrome://messenger/content/messenger.js:270
CalStorageDatabase.sys.mjs:35:39
services.settings: UnknownError: IndexedDB: thunderbird/search-config-v2 getLastModified() IndexedDB: The operation failed for reasons unrelated to the database itself and not covered by any other error code. RemoteSettingsClient.sys.mjs:585
services.settings: UnknownError: IndexedDB: thunderbird/search-config-overrides-v2 getLastModified() IndexedDB: The operation failed for reasons unrelated to the database itself and not covered by any other error code. RemoteSettingsClient.sys.mjs:585
TypeError: 'arguments' member of WindowsJumpListShortcutDescription can't be converted to a sequence. WindowsJumpLists.sys.mjs:129:27
UnknownError: IndexedDB: blocklists/addons-bloomfilters list() IndexedDB: The operation failed for reasons unrelated to the database itself and not covered by any other error code. IDBHelpers.sys.mjs:16:5
NS_ERROR_STORAGE_IOERR: Component returned failure code: 0x80630002 (NS_ERROR_STORAGE_IOERR) [mozIStorageService.openDatabase] SQLiteDirectory.sys.mjs:36:35
NS_ERROR_STORAGE_IOERR: Component returned failure code: 0x80630002 (NS_ERROR_STORAGE_IOERR) [mozIStorageService.openDatabase]
openConnectionTo resource:///modules/SQLiteDirectory.sys.mjs:36
get _dbConnection resource:///modules/SQLiteDirectory.sys.mjs:193
init resource:///modules/SQLiteDirectory.sys.mjs:176
createDirectoryObject resource:///modules/AddrBookManager.sys.mjs:75
ensureInitialized resource:///modules/AddrBookManager.sys.mjs:152
get directories resource:///modules/AddrBookManager.sys.mjs:234
connectedCallback chrome://messenger/content/addressbook/aboutAddressBook.js:495
<anonymous> chrome://messenger/content/addressbook/aboutAddressBook.js:1206
AddrBookManager.sys.mjs:164:15
NS_ERROR_STORAGE_IOERR: Component returned failure code: 0x80630002 (NS_ERROR_STORAGE_IOERR) [mozIStorageConnection.executeSimpleSQL] SQLiteDirectory.sys.mjs:55:20
NS_ERROR_STORAGE_IOERR: Component returned failure code: 0x80630002 (NS_ERROR_STORAGE_IOERR) [mozIStorageConnection.executeSimpleSQL]
openConnectionTo resource:///modules/SQLiteDirectory.sys.mjs:55
get _dbConnection resource:///modules/SQLiteDirectory.sys.mjs:193
init resource:///modules/SQLiteDirectory.sys.mjs:176
createDirectoryObject resource:///modules/AddrBookManager.sys.mjs:75
ensureInitialized resource:///modules/AddrBookManager.sys.mjs:152
get directories resource:///modules/AddrBookManager.sys.mjs:234
connectedCallback chrome://messenger/content/addressbook/aboutAddressBook.js:495
<anonymous> chrome://messenger/content/addressbook/aboutAddressBook.js:1206
AddrBookManager.sys.mjs:164:15
NS_ERROR_STORAGE_IOERR: Component returned failure code: 0x80630002 (NS_ERROR_STORAGE_IOERR) [mozIStorageConnection.executeSimpleSQL] SQLiteDirectory.sys.mjs:55:20
NS_ERROR_STORAGE_IOERR: Component returned failure code: 0x80630002 (NS_ERROR_STORAGE_IOERR) [mozIStorageConnection.executeSimpleSQL]
openConnectionTo resource:///modules/SQLiteDirectory.sys.mjs:55
get _dbConnection resource:///modules/SQLiteDirectory.sys.mjs:193
init resource:///modules/SQLiteDirectory.sys.mjs:176
createDirectoryObject resource:///modules/AddrBookManager.sys.mjs:75
ensureInitialized resource:///modules/AddrBookManager.sys.mjs:152
get directories resource:///modules/AddrBookManager.sys.mjs:234
connectedCallback chrome://messenger/content/addressbook/aboutAddressBook.js:495
<anonymous> chrome://messenger/content/addressbook/aboutAddressBook.js:1206
AddrBookManager.sys.mjs:164:15
NS_ERROR_STORAGE_IOERR: Component returned failure code: 0x80630002 (NS_ERROR_STORAGE_IOERR) [mozIStorageConnection.executeSimpleSQL] SQLiteDirectory.sys.mjs:55:20
NS_ERROR_STORAGE_IOERR: Component returned failure code: 0x80630002 (NS_ERROR_STORAGE_IOERR) [mozIStorageConnection.executeSimpleSQL]
openConnectionTo resource:///modules/SQLiteDirectory.sys.mjs:55
get _dbConnection resource:///modules/SQLiteDirectory.sys.mjs:193
init resource:///modules/SQLiteDirectory.sys.mjs:176
createDirectoryObject resource:///modules/AddrBookManager.sys.mjs:75
ensureInitialized resource:///modules/AddrBookManager.sys.mjs:152
get directories resource:///modules/AddrBookManager.sys.mjs:234
connectedCallback chrome://messenger/content/addressbook/aboutAddressBook.js:495
<anonymous> chrome://messenger/content/addressbook/aboutAddressBook.js:1206
AddrBookManager.sys.mjs:164:15
NS_ERROR_STORAGE_IOERR: Component returned failure code: 0x80630002 (NS_ERROR_STORAGE_IOERR) [mozIStorageConnection.executeSimpleSQL] SQLiteDirectory.sys.mjs:55:20
NS_ERROR_STORAGE_IOERR: Component returned failure code: 0x80630002 (NS_ERROR_STORAGE_IOERR) [mozIStorageConnection.executeSimpleSQL]
openConnectionTo resource:///modules/SQLiteDirectory.sys.mjs:55
get _dbConnection resource:///modules/SQLiteDirectory.sys.mjs:193
init resource:///modules/SQLiteDirectory.sys.mjs:176
createDirectoryObject resource:///modules/AddrBookManager.sys.mjs:75
ensureInitialized resource:///modules/AddrBookManager.sys.mjs:152
get directories resource:///modules/AddrBookManager.sys.mjs:234
connectedCallback chrome://messenger/content/addressbook/aboutAddressBook.js:495
<anonymous> chrome://messenger/content/addressbook/aboutAddressBook.js:1206
AddrBookManager.sys.mjs:164:15
NS_ERROR_STORAGE_IOERR: Component returned failure code: 0x80630002 (NS_ERROR_STORAGE_IOERR) [mozIStorageConnection.executeSimpleSQL] SQLiteDirectory.sys.mjs:55:20
NS_ERROR_STORAGE_IOERR: Component returned failure code: 0x80630002 (NS_ERROR_STORAGE_IOERR) [mozIStorageConnection.executeSimpleSQL]
openConnectionTo resource:///modules/SQLiteDirectory.sys.mjs:55
get _dbConnection resource:///modules/SQLiteDirectory.sys.mjs:193
init resource:///modules/SQLiteDirectory.sys.mjs:176
createDirectoryObject resource:///modules/AddrBookManager.sys.mjs:75
ensureInitialized resource:///modules/AddrBookManager.sys.mjs:152
get directories resource:///modules/AddrBookManager.sys.mjs:234
connectedCallback chrome://messenger/content/addressbook/aboutAddressBook.js:495
<anonymous> chrome://messenger/content/addressbook/aboutAddressBook.js:1206
AddrBookManager.sys.mjs:164:15
NS_ERROR_STORAGE_IOERR: Component returned failure code: 0x80630002 (NS_ERROR_STORAGE_IOERR) [mozIStorageConnection.executeSimpleSQL] SQLiteDirectory.sys.mjs:55:20
NS_ERROR_STORAGE_IOERR: Component returned failure code: 0x80630002 (NS_ERROR_STORAGE_IOERR) [mozIStorageConnection.executeSimpleSQL]
openConnectionTo resource:///modules/SQLiteDirectory.sys.mjs:55
get _dbConnection resource:///modules/SQLiteDirectory.sys.mjs:193
init resource:///modules/SQLiteDirectory.sys.mjs:176
createDirectoryObject resource:///modules/AddrBookManager.sys.mjs:75
ensureInitialized resource:///modules/AddrBookManager.sys.mjs:152
get directories resource:///modules/AddrBookManager.sys.mjs:234
connectedCallback chrome://messenger/content/addressbook/aboutAddressBook.js:495
<anonymous> chrome://messenger/content/addressbook/aboutAddressBook.js:1206
AddrBookManager.sys.mjs:164:15
TypeError: can't access property "hasChildNodes", this.menupopup is null
_rebuild chrome://messenger/content/addressbook/menulist-addrbooks.js:236
connectedCallback chrome://messenger/content/addressbook/menulist-addrbooks.js:35
<anonymous> chrome://global/content/customElements.js:211
customElements.js:214:19
services.settings: UnknownError: IndexedDB: thunderbird/url-classifier-exceptions getLastModified() IndexedDB: The operation failed for reasons unrelated to the database itself and not covered by any other error code. RemoteSettingsClient.sys.mjs:585
NS_ERROR_STORAGE_IOERR: Component returned failure code: 0x80630002 (NS_ERROR_STORAGE_IOERR) [mozIStorageConnection.executeSimpleSQL] 2 SQLiteDirectory.sys.mjs:55:20
mail.setup: Account setup error: Local address book creation failed. undefined Error: Local address book creation failed
#handleForwardAction chrome://messenger/content/accountcreation/views/address-book.mjs:384
handleEvent chrome://messenger/content/accountcreation/views/address-book.mjs:272
handleEvent chrome://messenger/content/accountcreation/content/widgets/account-hub-footer.mjs:49
Caused by: NS_ERROR_STORAGE_IOERR: Component returned failure code: 0x80630002 (NS_ERROR_STORAGE_IOERR) [mozIStorageConnection.executeSimpleSQL]
openConnectionTo resource:///modules/SQLiteDirectory.sys.mjs:55
get _dbConnection resource:///modules/SQLiteDirectory.sys.mjs:193
init resource:///modules/SQLiteDirectory.sys.mjs:176
createDirectoryObject resource:///modules/AddrBookManager.sys.mjs:75
newAddressBook resource:///modules/AddrBookManager.sys.mjs:450
#handleForwardAction chrome://messenger/content/accountcreation/views/address-book.mjs:373
handleEvent chrome://messenger/content/accountcreation/views/address-book.mjs:272
handleEvent chrome://messenger/content/accountcreation/content/widgets/account-hub-footer.mjs:49
account-hub-header.mjs:123:27
IndexedDB UnknownErr in ClampResultCode: \builds\worker\checkouts\gecko\dom\indexedDB\ActorsParent.cpp:580
undefined history-persistence.js:36:15
NS_ERROR_UNEXPECTED
Comment 7•1 month ago
|
||
You're also getting errors on calendar, so not just on address book. But I hope you have a backup of files before the problem started.
Do you have an sqlite package installed in your OS?
You're not limiting Thunderbird's virtual memory?
its all very simple, simple windows machine, i dont deliberately mess stuff up ;) backups.. maybe there are some of those older generation abook files, dont know how to convert them? but then again there is the contents inside the sqlite file still.
but i am quite sure that this isnt about the files being corrupt or so as the main problem but tb can not make use of its own profile folder in all situations it seems.
i know absolutely for sure that in the past, when it was still thunderbird 32bit on winxp or somewhen win7 days, and on a SMB 1.0 file share that there were hugeloads of thunderbird problems back then as well, so that i move the whole profile back to the local disk of windows (c:) and only much later with samba 2.0 or samba 3 or so i was able to put it back on the network share again.
so what do i do now? where to begin the debugging?
calendar i dont use dont worry this is only about the addressbook gui not showing anything any more and the related stuff with the addressbook data files.
Comment 9•1 month ago
|
||
- I missed that you are Windows.
- I'm not asking you to guess how to convert backups - I'm simply asking whether you make backups on a regular basis, and what backups you have available to you today.
- Can you open any of the sqlite files using a standalone tool like DB Browser for SQLite or HeidiSQL ?
Hold other questions until we have more information for you.
| Reporter | ||
Comment 10•1 month ago
|
||
lets focus on the situation why? i can not start over with an empty normally working local addressbook or how to create one. i have a strong that there is a generic problem of accessing certain types or kinds of files and objects in the local user profile in various situations and combinations.
it doesnt make sense that i can not add a new addressbook, forget about the addressbook loss i can fetch addresses maybe from a different machine, that is not the main culprit here, the problem is that this thunderbird and or its profile or its internals seems to be confused or messed up or corrupted regarding certain operations all of a sudden.
i see all my mails (pop3, local storage) and all folders subfolders in the mail tree etc
but the addressbook as whole is messed up
(and then there is the extensions / addon problem)
i have a strong feeling this is all related. thanks.
Comment 11•1 month ago
|
||
The answer to "why" in part relies on your answers to questions that we decide are important. If you decide not to answer important questions, then it will be difficult to make progress.
| Reporter | ||
Comment 12•1 month ago
|
||
on the affected machine, i tried a webbrowser based sqlite browser/viewer:
i can open both, abook.sqlite and history.sqlite with it, the original (corrupted? problematic?) files with it. it shows entries, lot of the address book entries mailaddresses postal addresses etc.
thanks for helping.
| Reporter | ||
Comment 13•29 days ago
|
||
real native win32 (x64) non-installer program
https://sqlitebrowser.org/dl/
can also open the abook.sqlite (9xxx something properties, my addressbook entries / data looks normal i say) and history.sqlite (4xxx something properties) in there.
looks normal. not corrupt? thanks.
Comment 14•29 days ago
|
||
- Start Windows in safe mode with networking enabled - https://support.microsoft.com/en-us/help/12376/windows-10-start-your-pc-in-safe-mode
- Still In Windows safe mode, start Thunderbird in Troubleshoot Mode - https://support.mozilla.org/en-US/kb/troubleshoot-mode-thunderbird
Does problem change?
| Reporter | ||
Comment 15•29 days ago
|
||
will see how quickly i can revisit the machine and execute the steps (-safe-mode is the command line switch, for TB, right?) there personally on premise, there are other "identical" (hardware, software) machines in the network with the same win11 same TB that dont have this problem. oh well.
| Reporter | ||
Comment 16•29 days ago
|
||
in safe mode (win11 and thunderbird) with networking the tb profile loads the same way the addressbook doesnt work (adding new clean addressbook) error console brings all kinds of sql creation and path and file stuff fails
odd thing is, the whole gui of TB is kind of showing an empty space above the menu bar (when menu activated) and at the right corner there is the sandwich / burger menu, but clicking it doesnt bring up any entries actual menu there no objects nothing.
is there maybe something amiss with the cache of TB or anything? this is very odd
| Reporter | ||
Comment 17•29 days ago
|
||
error console snip but still from normal windows11 mode but tb -safe-mode
| Reporter | ||
Comment 18•29 days ago
|
||
this time: error console from inside win11 safe mode boot and tb -safe-mode, camera photo
since snipping tool apparently doesnt work in win11 safe mode booted :/ i had to take a camera photo.
uploaded.
| Reporter | ||
Comment 19•28 days ago
|
||
i have some idea about the network drive (samba share, from a microsoft server 2019) where the tb profile resides ever since (had some trouble years ago) there is a special software needing a special samba share settings to be set (and it is set) for another third party software
and the tb profile is also inside a subdirectory inside this toplevel share (for which the samba settings are active)
\server\data\directorynames\mozillathunderbird\profiles\profilename.....
| Reporter | ||
Comment 20•28 days ago
|
||
the thirdparty software requires to set the following:
Set-SmbShare data -LeasingMode None
(on the ms server 2019, via powershell)
and i have checked, and this setting is set to none
Get-SmbShare data | Select *
results in a table with all the settings valid for this share, containing
....
LeasingMode : None
so i think before the thunderbird ESR update to 153.x.x there was the 140.x.x ESR branch installed on this win11 machine. probably? something fundamental and low level when writing these addressbook and other? (sqlite affected only?) stuff now in 153 ESR there seems to be something not working smoothly any more. i have found in the TB settings, update history, that on august 12th 2026, thunderbird 153.0.3 ESR became installed (from previously 140.13.0 ESR (installed on July 28th, 2026)
can anyone quickly tell if there is something really fundamentally different in handling, using, accessing and writing those sqlite files, or more specially the addressbook files? thanks.
| Reporter | ||
Comment 21•28 days ago
|
||
documentation microsoft server smb shares stuff
https://learn.microsoft.com/en-us/powershell/module/smbshare/set-smbshare?view=windowsserver2025-ps
leasing mode, needs to be set (for that third party software which is in use there as well) to behave like smb1 share concepts :(((
i can not change this setting, all i could do is to move the place of the TB profile somewhere else, on a different independent share (where this oldschool smb1 setting stuff it NOT set/enforced) ...
but, TB has worked nicely during the recent years, 140.x ESR did have addressbook access just normally ;)
but as i wrote before, i used to have TB profile/functionality trouble in the past years (longer time ago) which required me to to go for nasty workarounds :(
any chance of getting this TB 153ESR (and later?) functionality on this low level file based concepts working again similar or same as when it was still working with 140 ESR?
thanks.
| Assignee | ||
Comment 22•28 days ago
|
||
How long is the file path to the share? Could it go over the limit? IIRC there were some changes "recently" in that regard.
| Reporter | ||
Comment 23•28 days ago
|
||
i have just verified at this location, the second (other) machine that is win11 pro as well, with TB ESR as well, is having the exact same problem with its own TB ESR user-profile. the addressbook(s) are completely unusable not there any more no addressbook interaction any more possible.
i have yet another completely different network at a different place with the same kind of third party software and samba share requirements on the windows server side, that have Thunderbird ESR installations (win11 pro, TB x64 ESR as well) the same, i will check there as well, i am pretty sure those TB ESR installations have the very same problem, will report back.
the folder/file name path length is not that very deep or long, i know about these historic 255 char length limitations and what not from ancient ages and apis and stuff in the windows world and so on, but i am pretty sure it is not the reason for this situation.
as i said, TB ESR 140.x.x before was working nicely still in july of this year and all.
outside of business hours, i might actually try to set that smbshare leasing mode back to normal/default just to make sure, i think the addressbook trouble will be gone with that setting, only i can not keep that setting that way because of that sad oldschool third party software making use of that share. will report back with path length and all as quickly as possible
maybe someone can look into how TB ESR 140.x handled those sqlite addressbook files and all low-level if there is any possibility to keep the way it worked before? my gut feeling. thanks.
Comment 24•28 days ago
|
||
pretty sure it is not the reason for this situation.
That doesn't sound very convincing.
But knowing for a fact that setting the share to SMB2 causes the problem will be hugely helpful.
Is your personal usage of Thunderbird not configured to use the same file shares as those who are seeing the problem?
| Reporter | ||
Comment 25•28 days ago
|
||
yes i can verify and say absolutely sure (also import from not actually corrupt abook.sqlite file succeeded), i simply logged out of the windows11 user session and re-logged into the desktop again, that re-connects re-creates the network drive letters to the windows server 2019, and then simply firing up the thunderbird
gives me lot of addressbooks huge mess (with my yesterdays trials of import, add01, addy01 etc... names on the top level , distinct addressbooks but all empty / hosed, but i can now import there into a new addressbook and it imports me (the import wizard has more following steps) and it imports me 1100 of my addresses from the backuped abook.sqlite (even the version before i tried to "fix" the "corrupt" abook.sqlite with commandline sqlite3.exe tool.
nothing else needed but only executing that flag/setting inside a powershell with:
set-smbshare data -LeasingMode Full
nothing else but re-logging into the win11 machines user and then using tb profile right away....
so there must be some fundamental low level file handling changes between TB ESR 140.x.x and TB ESR 153.x.x how it handles the .sqlite files or that very specific context of the addressbook files and all, maybe even more file handling, reading, locking, writing etc changed... maybe some new api, or libraries or layers or SDK or something has been changed and introduced?
would be really great if you could bring back the functionality from before, as this doesnt work for SMB1 functionality level of samba shares apparently :(
thanks.
| Reporter | ||
Comment 26•28 days ago
|
||
ah, and some more, the sandwich menu now on the top right corner, now shows and works again as well, shows the modern style menus and options and stuff in there, also the whole bar right next to it, all the way towards the left side of the TB window, is now also populated, showing the search area and some shortcut icons (default?) with stuff like fetch-mails, chat, addressbook, quickfilter, view (all mails, unread etc... submenu)
so that was missing as well when the SMB1 share level functionality was set.
and even some more: the addons... i can now successfully... go to addons/extensions and then AMO search for quicktext again, and pressing the huge green button now brings up the functionality to re-add the quicktext successfully, it gets installed into the TB profile and is visible and clickable and normal just as other addons as well.
so there are quite a number of places where new TB ESR 153.x.x now can not read/use/write stuff properly any more inside its userprofile when the profile is being stored on SMB samba shares (windows server 2019 here)
can anyone look into this matter? would be a great help, this is a dealbreaker to me.
i only visit here and try to help, this is not where i reside or dwell or work or so.
also tried the second/other win11pro machine in this network (where i didnt bother with addressbook so far, no trials to create new addressbooks no import trials etc..) that machine now also immediately shows the addressbook just like back in July 2026 or like normal.
thanks.
| Reporter | ||
Comment 27•28 days ago
|
||
the actual file/folder path length is raw 57characters, no fancy stuff or funny business, no special characters, no spaces, with the drive letter and the colon its 59chars
so its exactly like this example (all slashes included into the 57, plus colon, plus driveletter at the front, makes 59)
G:\foldername\MozillaThunderbird\Profiles\abcdefgh.default\
and in there is the place where the prefs.js file is and all the mail and whatnot subfolders and also the abook.sqlite and so on....
| Reporter | ||
Comment 28•28 days ago
|
||
just to make very sure that this is the situation, i revert the smbleasingmode back to setting "none"
with running inside powershell on the ms server 2019
Set-SmbShare data -LeasingMode None
and re-login into the win11pro machine and fire up the TB ESR 153.2.x (meanwhile today, it updated itself) and the situation is back to the same. the addressbook(s) is immediately gone again nothing seen as root objects, the sandwich menu does show or do anything any more again.
the extensions (also quicktext are still there though, so once you manage to actually install them, they kinda? keep working or so) but the bar left of the sandwich menu now only showss a quicktext icon and the search area, but none of those other icons about fetching mails or composing mails nor addressbook nor view of mails etc.
so thats the situation and debugging i could come up with. i still have this other place (company) where i have the same situation with this third party software that needs the leasingmode set to none with the windows servers, i havent checked there yet, they are still on vacation or so over there, i could report from there as well but i think its pretty clear by now whats happening.
thanks for helping and considering to fix this stuff if possible, would be really great. thanks.
Comment 29•27 days ago
|
||
sqlite is known to not behave well, or not at all, with smb file share. But I still don't know why a change is being seen between v140 and v153.
Can you share the name of this third party software?
Updated•27 days ago
|
| Reporter | ||
Comment 30•27 days ago
|
||
well its a medical software, medical company producing, patient management system, they ever since have it in their installation documents etc, ever since microsoft moved with samba to SMB2 and higher levels, they have had this requirement to set to the samba share where the software resides (gets executed from), its called dswin (dampsoft company) they have it in all their documents right up to ms server 2025 even :(
they have installation documents for very small 'peer-to-peer' networking situations win10-with-win10 workstation level and creating shares there (also win11-with-win11) and then the windows-client with windows-server situations, and its in all of their installation documents stated the same way
technical manual section (technische handbuecher), operating system and network installation (betriebssystem und netzwerkinstallation)
e.g.
https://www.dampsoft.de/service/ds-win/anleitungen-downloads
https://www.dampsoft.de/storage/anleitungen/technische-handbuecher/betriebssystem-netzwerkinstallation/installation-windows-workstations-2019.pdf
https://www.dampsoft.de/storage/anleitungen/technische-handbuecher/betriebssystem-netzwerkinstallation/ds_inst_win-2022-server-workstations.pdf
https://www.dampsoft.de/storage/anleitungen/technische-handbuecher/betriebssystem-netzwerkinstallation/ds-inst-win2025workstations.pdf
their software (file based patient management system and only file based databases etc) apparently doesnt work properly any other way
anyhow, so as i have said before, there wasnt a problem in recent years right up to TB ESR 140.x.x releases.
i still remember having had profile problems a longer while back with much older TB versions, back then still being on win7, then later in win10. but not recently, and this only started right now after the switch to TB ESR 153.x.x
| Assignee | ||
Comment 31•27 days ago
|
||
Some deep diving says this bug is an sqlite upstream bug bug, exposed from m-c uplift in bug 1969325 . See bug 2016438 - which tried to fix it but misses the case for mapped drives.
If the theory holds, SQLite is currently broken on mapped network drives for any application using WAL.
Reporter, you can probably work around the bug by changing the settings so it uses the UNC path directly, instead of your mapped G: drive which doesn't get recognized as an UNC path.
| Reporter | ||
Comment 32•27 days ago
|
||
is the broken sandwich menu, the broken extensions and parts of the gui of TB ESR all also caused and based on sqlite stuff that fails? or is this by chance only a consequential error because of the addressbook fail?
| Assignee | ||
Comment 33•27 days ago
|
||
SQLite 3.50 split Windows WAL shared-memory locking across two file handles:
winShmNode.hSharedShm for the DMS lock, truncation and the MapViewOfFile
mapping, plus a per-connection winShm.hShm for the eight WAL lock bytes.
That does not work on network filesystems, so 3.51.0 added
winShmNode.bUseSharedLockHandle to restore the previous single-handle
scheme -- gated on winIsUNCPath(), a string test for a leading "\".
A profile on a drive letter mapped to an SMB share is on a network
filesystem but has no "\" prefix, so the mitigation never engages and WAL
locking fails with SQLITE_IOERR. Thunderbird 140 shipped SQLite 3.49.1,
which always used a single handle for every *-shm lock, which is why this
only appears after the upgrade to 153.
Ask the OS rather than parsing the path: GetDriveTypeW() == DRIVE_REMOTE,
for both "X:..." and "\?\X:...". winIsUNCPath() is left untouched --
what the caller actually needs to know is whether the file lives on a
network filesystem, not whether the path is UNC-shaped, so the two
questions are kept separate.
Bug 2016438 is preserved: "\?\C:..." on a local volume still takes the
fast path. GetDriveTypeW() is called once per winShmNode, i.e. once per
*-shm file, not per lock.
Assisted by: Claude
| Assignee | ||
Comment 34•27 days ago
|
||
Artur, might you be able to take this further? It's not my cup of tea.
| Assignee | ||
Updated•27 days ago
|
Comment 35•27 days ago
|
||
Looking at the patch, this is something that should be submitted upstream. While we take simple patches locally, this kind of more complex change must be approved and merged upstream first, as we can't know of possible consequences with the change.
Let me reach out to the SQLite team through our communication channel.
Updated•27 days ago
|
Updated•27 days ago
|
Comment 36•27 days ago
|
||
I posted about this bug to our dedicated channel, will report back.
Comment 37•27 days ago
|
||
Set release status flags based on info from the regressing bug 1969325
Comment 38•27 days ago
|
||
What if the bUseSharedLockHandle flag is always 1? That would seem to resolve this issue. My only concern is that it might cause a performance issue, since it would serialize access to -shm file handle across multiple database connections in multiple threads on Windows. I'm not sure that is really an issue, though. In my tests here, hard coding bUseSharedLockHandle to 1 actually makes it run faster! On the other hand, multi-threaded access to the same WAL-mode database using different database connections on Windows is not something our performance tests where ever designed to measure, so perhaps a bottleneck is being missed.
Can y'all try an experiment? Can you rig the winIsUNCPath() function in sqlite3.c so that it always returns 1, then run all your tests and see if you can detect a performance regression?
If we can get away with always using a shared file handle for the -shm file, that would be a big win. It means that we have a single code path that applies to all Window systems, rather than multiple code paths depending on the file pathname and drive type. Less code to test. Less to go wrong.
Updated•27 days ago
|
Comment 39•26 days ago
|
||
SQLite team put up a patch at https://sqlite.org/src/info/52ed3b490a4d03ef, that we can port to a .patch file in our tree.
Magnus, would you have time to test it?
| Assignee | ||
Comment 40•26 days ago
|
||
The patch doesn't apply as such so I had Claude back-port it for testing. Will create a try build the reporter can test.
Backporting, Claude says one deliberate deviation:
I kept WINAPI in the function-pointer cast:
#define osGetDriveTypeW ((UINT(WINAPI*)(LPCWSTR))aSyscall[81].pCurrent) /* ours /
#define osGetDriveTypeW ((UINT()(LPCWSTR))aSyscall[59].pCurrent) /* upstream */GetDriveTypeW is __stdcall. Calling it through a __cdecl pointer on x86-32 means both callee (ret 4) and caller (add esp,4) pop the argument, drifting ESP by 4 bytes per call. Every other genuine Win32 entry in that table carries WINAPI โ the only ones without it are the POSIX/Cygwin entries (getcwd, readlink, lstat, cygwin_conv_path), which are correctly __cdecl. And taskcluster/kinds/build/windows.yml still has win32-shippable/opt, so we do ship 32-bit x86.
Harmless on x64, so it likely went unnoticed. Worth reporting back to drh.
Comment 41•24 days ago
|
||
Last 156 beta uplifts are Sept 9 -- is this still a candidate for uplift to 156 beta or release?
Comment 42•24 days ago
|
||
(In reply to D. Richard Hipp from comment #38)
Can y'all try an experiment? Can you rig the winIsUNCPath() function in sqlite3.c so that it always returns 1, then run all your tests and see if you can detect a performance regression?
I know this wasn't necessary, but I still ran through our tryserver.
No improvemento to the indexeddb tests comparing SQLite trunk and release.
Forcing winIsUNCPath() shows the same regression for which we patched it before.
| Assignee | ||
Comment 43•23 days ago
|
||
Here is a thunderbird try build to test: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/MhY9Vm5YQ3SrWErwRC5HPg/runs/0/artifacts/public/build/target.installer.exe
| Reporter | ||
Comment 44•23 days ago
|
||
can I use this on a win11 pro system to try as a replacement for the current thunderbird 153 ESR x64 replacement? this is probably en-US local i presume, doesnt hurt to install over a german localized version?
| Assignee | ||
Comment 45•23 days ago
|
||
This is an en-US Daily v157 build. It's best to install it into another folder (and then uninstall once you're done).
You have two options:
- start with "thunderbird.exe -p" and select the original profile. (Make a copy first, see https://support.mozilla.org/en-US/kb/profiles-where-thunderbird-stores-user-data). The profile is slightly modified when you start. To again use it with v153 you'd have to start with --allow-downgrade.
- start normally, and let it create a dedicated profile for this install. Then configure the things you need again
| Reporter | ||
Comment 46•23 days ago
|
||
okay just to ask this because we use TB ESR everywhere, so that stays on 153 for quite a longer while now, doesnt it and we use some extensions (warn attachment, lookout, quicktext, something else i dont remember right now) will there be a 153 ESR fixed release as well? ty.
| Assignee | ||
Comment 47•23 days ago
|
||
Possible uplifts is something that needs to be considered after we have it working on Daily first.
Comment 48•23 days ago
|
||
Please let us know asap if the test version solves the problem so we can proceed fixing it on trunk and then start the process to also fix ESR.
| Reporter | ||
Comment 49•23 days ago
|
||
can probably test the earlierst in about three hours from now, will report asap. thanks all.
Comment 50•23 days ago
•
|
||
In my opinion, the patch looks fine.
I also considered using an OS system call, but I was mainly focused on performance regression and one specific edge case.
I think it's worth running ./mach try perf (let's hope the system call doesn't cause a performance regression, otherwise we can use a hash map to store known results in order to avoid extra sys calls).
Thanks!
Comment 51•23 days ago
|
||
:RyanVM, since you are the author of the regressor, bug 1969325, could you take a look?
For more information, please visit BugBot documentation.
Updated•23 days ago
|
| Reporter | ||
Comment 52•23 days ago
|
||
i can confirm, just tried, installer/build from comment 43
https://bugzilla.mozilla.org/show_bug.cgi?id=2067771#c43
i used on this win11 pro machine, i simply created from this daily-TB build running it with parameter -p (profilemanager) from the command line from its own distinct installation path
and created simply new TB profile and put/pointed it as well to the same (affected) network-drive from the normal TB-ESR build (production) and i double checked, the product TB-ESR still has all the problems with addressbook and toolbar and sandwich menu etc, as described in this bug.
the daily TB from here, doesnt have a problem, i could create a fake/example pop3 account and create/use the default personal addressbook and put some entries (example/test) into there and also could create/add another second local-addressbook as well
all the abook.sqlite and abook-1.sqlite file(s) appeared inside this new daily-TB-profile on the network drive and I was also able to find my example/test entries in there with e.g. a web-based sqlite browser e.g. from
so i can confirm, that this build daily-TB (157) does fix the .sqlite problem stuff (with at least the addressbook stuff) being usable again on the network-drive (letter based) profile concept.
thanks for quickly bringing this for current TB ESR 153 branch as well? hopefully. thanks a lot everybody.
| Reporter | ||
Comment 53•23 days ago
|
||
also i like the trouble-shooting information page where it points to the user-profile folder via that button, and in this daily-157 build there is now? an additional hint that the place is a "network-drive" or so, in TB-ESR-153 there was no such information given next to the button there just yet?
thanks.
| Reporter | ||
Comment 54•23 days ago
|
||
in tb-daily-157 i was also able to at least add two new / fresh addons from scratch, quicktext and dkim-verifier added successfully there and became visible usable icons and functionality it seems.
| Reporter | ||
Comment 55•23 days ago
|
||
just as an additional test-profile, i created a new network-drive (letter-based) TB-153-ESR profile still from within the current productuon TB-153-ESR, and whose addressbook and other stuff was defunct.
then i used the installed tb-daily-157 instance with -p and migrated/upleveled that previously created test-profile to the 157 version level, and the addressbook(s) became usable, being able to add actual addresses into the default personal addressbook and create new local addressbooks.
(addtl note here but maybe that needs to get looked into separately), when going into the 157 addressbook area from within 157, it looked fine but adding a new address-book explicitly via the icon (upper left area inside the addressbooks area) actually rather brought up more kind of a adding-new-addressbook-entry.... with two lines of text-entries, only during a second or third attempt it looked like normal single text-field asking only for a name and then the bigger buttons following if i wanted to add a local-addresssbook kind.... looked odd initially, maybe some workflow problem?)
Updated•23 days ago
|
Comment 56•19 days ago
|
||
Set release status flags based on info from the regressing bug 1969325
| Reporter | ||
Comment 57•18 days ago
|
||
is there anything else i can do with this bug and fix progressing for current TB ESR 153? thanks.
| Assignee | ||
Comment 58•15 days ago
|
||
@mak, so how do you want to proceed with this? Are we waiting for a sqlite upstream release including the fix, to update to? Or should we patch it locally until such a release arrives? Especially for v153esr that is likely not an option.
Comment 59•14 days ago
|
||
(In reply to Magnus Melin [:mkmelin] from comment #58)
@mak, so how do you want to proceed with this? Are we waiting for a sqlite upstream release including the fix, to update to? Or should we patch it locally until such a release arrives? Especially for v153esr that is likely not an option.
No, I was expecting a local .patch file mirroring the upstream fix.
Would you have time for that?
| Assignee | ||
Comment 60•13 days ago
|
||
Sure.
| Assignee | ||
Comment 61•13 days ago
|
||
Upstream commit: https://github.com/sqlite/sqlite/commit/28fe5623286bdb4eaf543e7be4dddee5762ee51b
SQLite 3.50 split Windows WAL shared-memory locking across two file handles:
winShmNode.hSharedShm for the DMS lock, truncation and the MapViewOfFile
mapping, plus a per-connection winShm.hShm for the eight WAL lock bytes. That
does not work on network filesystems, so 3.51.0 added
winShmNode.bUseSharedLockHandle to restore the single-handle scheme -- but
selects it with winIsUNCPath(), a string test for a leading "\".
A drive letter mapped to an SMB share is on a network filesystem and has no
"\" prefix, so the mitigation never engages and WAL locking fails with
SQLITE_IOERR.
Import the upstream fix as a local patch until we vendor a release that
contains it. It asks the OS rather than parsing the path:
GetDriveTypeW() == DRIVE_REMOTE, for both "X:..." and "\?\X:...".
One deliberate divergence from upstream: the osGetDriveTypeW cast keeps
WINAPI, since GetDriveTypeW is __stdcall and calling it through a __cdecl
pointer drifts ESP by 4 bytes per call on win32.
Bug 2016438 is preserved: "\?\C:..." on a local volume still takes the fast
path. GetDriveTypeW() is called once per winShmNode, i.e. once per *-shm
file, not per lock.
Updated•9 days ago
|
Comment 62•8 days ago
|
||
Comment 63•7 days ago
|
||
| bugherder | ||
Updated•1 day ago
|
| Reporter | ||
Comment 64•21 hours ago
|
||
i am unfamiliar with the whole TB and FFX and in general of the whole mozilla software platform proceedings, but will there ever be a fix for tb 153esr for which i have been reporting this bug? thanks for clarification.
Updated•15 hours ago
|
Comment 65•15 hours ago
|
||
firefox-esr153 Uplift Approval Request
- User impact if declined/Reason for urgency: Broken db access for profiles on mapped shared drives.
- Code covered by automated testing?: no
- Fix verified in Nightly?: yes
- Needs manual QE testing?: yes
- Steps to reproduce for manual QE testing: Set up shared drive on the network, and map it to (e.g.) X:
Use the profile manager (start with firefox.exe -p) and set up a profile to reside on the shared drive. All functionality should still work. Especially check anything where databases are involved.
If testing Thunderbird, address book access especially is affected. - Risk associated with taking this patch: medium
- Explanation of risk level: Ultimately a small change, but it's for a central code place so possible problems could be severe.
- String changes made/needed?: none
- Is Android affected?: no
| Assignee | ||
Comment 66•15 hours ago
|
||
Upstream commit: https://github.com/sqlite/sqlite/commit/28fe5623286bdb4eaf543e7be4dddee5762ee51b
SQLite 3.50 split Windows WAL shared-memory locking across two file handles:
winShmNode.hSharedShm for the DMS lock, truncation and the MapViewOfFile
mapping, plus a per-connection winShm.hShm for the eight WAL lock bytes. That
does not work on network filesystems, so 3.51.0 added
winShmNode.bUseSharedLockHandle to restore the single-handle scheme -- but
selects it with winIsUNCPath(), a string test for a leading "\".
A drive letter mapped to an SMB share is on a network filesystem and has no
"\" prefix, so the mitigation never engages and WAL locking fails with
SQLITE_IOERR.
Import the upstream fix as a local patch until we vendor a release that
contains it. It asks the OS rather than parsing the path:
GetDriveTypeW() == DRIVE_REMOTE, for both "X:..." and "\?\X:...".
One deliberate divergence from upstream: the osGetDriveTypeW cast keeps
WINAPI, since GetDriveTypeW is __stdcall and calling it through a __cdecl
pointer drifts ESP by 4 bytes per call on win32.
Bug 2016438 is preserved: "\?\C:..." on a local volume still takes the fast
path. GetDriveTypeW() is called once per winShmNode, i.e. once per *-shm
file, not per lock.
Original Revision: https://phabricator.services.mozilla.com/D326859
Updated•2 hours ago
|
Updated•2 hours ago
|
Comment 67•2 hours ago
|
||
| uplift | ||
Description
•