Places breaks if there is a single-quote character in the profile path, resulting in Firefox freezing, not responding, and bookmarks being inaccessible

RESOLVED FIXED in Firefox 55

Status

()

Toolkit
Places
RESOLVED FIXED
10 days ago
14 hours ago

People

(Reporter: PappyAce, Assigned: asuth)

Tracking

(Depends on: 1 bug, {regression})

55 Branch
mozilla57
All
Windows
regression
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(relnote-firefox 55+, firefox-esr52 unaffected, firefox55blocking fixed, firefox56+ fixed, firefox57+ fixed)

Details

(URL)

Attachments

(3 attachments)

(Reporter)

Description

10 days ago
User Agent: Mozilla/5.0 (Windows NT 10.0; rv:55.0) Gecko/20100101 Firefox/55.0
Build ID: 20170803103124

Steps to reproduce:

Occurred immediately after updating to ver. 55. And is constant issue.


Actual results:

Occurred immediately after updating to ver. 55. And is constant issue. Also found when checking 'About Firefox' asked to restart for the new version. I did this once with no change in performance errors. Now says up to date for version 55 and all problems still exist. Freezing and I have no bookmarks and I cannot restore  or import from my other computer or browsers.
[Tracking Requested - why for this release]:
this seems to be a severe regression with firefox 55 that should be looked into before updates are unthrottled.

i'm confirming this bug on the basis of seeing numerous similar reports on our support channels:
https://support.mozilla.org/en-US/questions/firefox?tagged=bug1388584&show=all
https://www.camp-firefox.de/forum/viewtopic.php?f=1&t=121260
Status: UNCONFIRMED → NEW
status-firefox55: --- → affected
status-firefox-esr52: --- → unaffected
tracking-firefox55: --- → ?
Ever confirmed: true
Keywords: regression
Hi PappyAce, can you tell us more about your configuration - which security software are you using on the affected device? 
when you type about:crashes into the address bar, are there any recently submitted crash reports in the "submitted" reports section - if so please copy and paste them here into the bug.
also go to the firefox menu ≡ > help ? > troubleshooting information, copy the contents of that page and paste them here as well? this might give us a clue what is going on...
Flags: needinfo?(AL_Guzzo)
Not tracking for now as it doesn't actionable. Please resubmit for tracking when we have something more concrete.
tracking-firefox55: ? → -
Hi Benjamin, given https://bugzilla.mozilla.org/show_bug.cgi?id=193749#c228, I wonder if you might have some insight as to who could look at this issue, thanks.
Flags: needinfo?(benjamin)
Benjamin is on pto currently. We should find someone else.
Andrei, can your team try to replicate the issue, based on the comments in SUMO? That might give us more useful info for developer investigation? Thanks.
Flags: needinfo?(andrei.vaida)
(In reply to Sylvestre Ledru [:sylvestre] from comment #5)
> Benjamin is on pto currently. We should find someone else.

The other two people recommended to me (standard8, ::mak are on PTO until Aug 20). Gonna leave bsmedbergs ni? since he'll be back sooner. Hopefully SV can provide some more insight as well.
Comment hidden (obsolete)
Comment hidden (offtopic)
Duplicate of this bug: 1388947
PappyAce, is there anything shown in the "browser console"? (Ctrl+Shift+J)

Comment 12

9 days ago
 1388940 is just like this one here is my browser console.

Unknown property ‘-moz-outline-style’.  Declaration dropped.  page.css:1:311202
Unknown property ‘-moz-border-radius’.  Declaration dropped.  page.css:1:320353
Expected ‘none’, URL, or filter function but found ‘alpha(’.  Error in parsing value for ‘filter’.  Declaration dropped.  page.css:1:321953
Unknown property ‘-moz-border-radius’.  Declaration dropped.  page.css:1:322947
Unknown property ‘-moz-border-radius’.  Declaration dropped.  page.css:1:323090
Unknown property ‘-moz-order’.  Declaration dropped.  page.css:1:326115
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:326242
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:326260
Unknown property ‘-moz-align-items’.  Declaration dropped.  page.css:1:326375
Unknown property ‘-moz-flex’.  Declaration dropped.  page.css:1:326504
Unknown property ‘-moz-align-self’.  Declaration dropped.  page.css:1:326587
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:330079
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:330097
Unknown property ‘-moz-align-items’.  Declaration dropped.  page.css:1:330212
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:330905
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:330923
Unknown property ‘-moz-justify-content’.  Declaration dropped.  page.css:1:331040
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:331314
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:331332
Unknown property ‘-moz-flex’.  Declaration dropped.  page.css:1:331434
Unknown property ‘-moz-align-items’.  Declaration dropped.  page.css:1:331671
Unknown property ‘-moz-align-self’.  Declaration dropped.  page.css:1:331782
Unknown property ‘-moz-flex-shrink’.  Declaration dropped.  page.css:1:331873
Unknown property ‘-moz-align-self’.  Declaration dropped.  page.css:1:332065
Unknown property ‘-moz-align-items’.  Declaration dropped.  page.css:1:335047
Error in parsing value for ‘-webkit-box-ordinal-group’.  Declaration dropped.  page.css:1:335375
Unknown property ‘-moz-order’.  Declaration dropped.  page.css:1:335416
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:336511
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:336529
Unknown property ‘-moz-order’.  Declaration dropped.  page.css:1:338558
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:339625
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:339643
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:340639
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:340657
Unknown property ‘-moz-align-items’.  Declaration dropped.  page.css:1:340772
Unknown property ‘-moz-justify-content’.  Declaration dropped.  page.css:1:340904
Unknown property ‘-moz-flex-wrap’.  Declaration dropped.  page.css:1:342283
Unknown property ‘-moz-flex’.  Declaration dropped.  page.css:1:342479
Unknown property ‘-moz-flex’.  Declaration dropped.  page.css:1:342637
Unknown property ‘-moz-order’.  Declaration dropped.  page.css:1:342733
Unknown property ‘-moz-align-items’.  Declaration dropped.  page.css:1:343208
Unknown property ‘-moz-align-items’.  Declaration dropped.  page.css:1:343510
Unknown property ‘-moz-justify-content’.  Declaration dropped.  page.css:1:343642
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:343772
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:343790
Unknown property ‘-moz-align-items’.  Declaration dropped.  page.css:1:343905
Unknown property ‘-moz-order’.  Declaration dropped.  page.css:1:345140
Unknown property ‘-moz-align-items’.  Declaration dropped.  page.css:1:346132
Unknown property ‘-moz-align-items’.  Declaration dropped.  page.css:1:346440
Unknown property ‘-moz-justify-content’.  Declaration dropped.  page.css:1:346572
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:346704
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:346722
Unknown property ‘-moz-align-items’.  Declaration dropped.  page.css:1:346837
Unknown property ‘-moz-align-items’.  Declaration dropped.  page.css:1:348974
Unknown property ‘-moz-align-items’.  Declaration dropped.  page.css:1:349291
Unknown property ‘-moz-justify-content’.  Declaration dropped.  page.css:1:349423
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:349558
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:349576
Unknown property ‘-moz-align-items’.  Declaration dropped.  page.css:1:349691
Unknown property ‘-moz-order’.  Declaration dropped.  page.css:1:351138
Unknown property ‘-moz-flex-shrink’.  Declaration dropped.  page.css:1:351204
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:352267
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:352285
Unknown property ‘-moz-align-items’.  Declaration dropped.  page.css:1:352400
Unknown property ‘-moz-justify-content’.  Declaration dropped.  page.css:1:352532
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:353946
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:353964
Unknown property ‘-moz-flex-grow’.  Declaration dropped.  page.css:1:354717
Unknown property ‘-moz-align-items’.  Declaration dropped.  page.css:1:355670
Unknown property ‘-moz-justify-content’.  Declaration dropped.  page.css:1:355793
Unknown property ‘-moz-flex-direction’.  Declaration dropped.  page.css:1:355939
Unknown property ‘-moz-justify-content’.  Declaration dropped.  page.css:1:359659
Unknown property ‘-moz-flex-direction’.  Declaration dropped.  page.css:1:359945
Unknown property ‘-moz-justify-content’.  Declaration dropped.  page.css:1:361344
Unknown property ‘-moz-flex-direction’.  Declaration dropped.  page.css:1:361556
Unknown property ‘-moz-justify-content’.  Declaration dropped.  page.css:1:362022
Unknown property ‘-moz-align-items’.  Declaration dropped.  page.css:1:362590
Unknown property ‘-moz-flex-direction’.  Declaration dropped.  page.css:1:362731
Unknown property ‘-moz-justify-content’.  Declaration dropped.  page.css:1:362883
Unknown property ‘-moz-flex-direction’.  Declaration dropped.  page.css:1:363059
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:363972
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:363990
Unknown property ‘-moz-align-items’.  Declaration dropped.  page.css:1:364105
Unknown property ‘-moz-order’.  Declaration dropped.  page.css:1:365399
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:366448
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:366466
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:368790
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:368808
Unknown property ‘-moz-align-items’.  Declaration dropped.  page.css:1:369023
Unknown property ‘-moz-flex-direction’.  Declaration dropped.  page.css:1:369164
Unknown property ‘-moz-justify-content’.  Declaration dropped.  page.css:1:369325
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:370016
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:370034
Unknown property ‘-moz-order’.  Declaration dropped.  page.css:1:370242
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:370417
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:370435
Unknown property ‘-moz-align-items’.  Declaration dropped.  page.css:1:370654
Unknown property ‘-moz-flex-direction’.  Declaration dropped.  page.css:1:370795
Unknown property ‘-moz-justify-content’.  Declaration dropped.  page.css:1:370956
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:371960
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:371978
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:372199
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:372217
Unknown property ‘-moz-align-items’.  Declaration dropped.  page.css:1:372442
Unknown property ‘-moz-flex-direction’.  Declaration dropped.  page.css:1:372583
Unknown property ‘-moz-justify-content’.  Declaration dropped.  page.css:1:372744
Unknown property ‘-moz-order’.  Declaration dropped.  page.css:1:373664
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:374061
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:374079
Unknown property ‘-moz-align-items’.  Declaration dropped.  page.css:1:374194
Unknown property ‘-moz-font-smoothing’.  Declaration dropped.  page.css:1:384092
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:391555
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:394354
Error in parsing value for ‘-webkit-box-flex’.  Declaration dropped.  page.css:1:395964
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:399849
Expected end of value but found ‘1’.  Error in parsing value for ‘-webkit-box-flex’.  Declaration dropped.  page.css:1:399893
Unknown property ‘user-select’.  Declaration dropped.  page.css:1:400429
Unknown pseudo-class or pseudo-element ‘-webkit-full-screen’.  Ruleset ignored due to bad selector.  page.css:1:400445
Unknown property ‘appearance’.  Declaration dropped.  page.css:1:402250
Unknown property ‘user-select’.  Declaration dropped.  page.css:1:402625
Error in parsing value for ‘-webkit-box-flex’.  Declaration dropped.  page.css:1:403989
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:404046
Error in parsing value for ‘-webkit-box-flex’.  Declaration dropped.  page.css:1:406655
Error in parsing value for ‘-webkit-box-flex’.  Declaration dropped.  page.css:1:408988
Error in parsing value for ‘-webkit-box-flex’.  Declaration dropped.  page.css:1:409111
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:409168
Error in parsing value for ‘-webkit-box-flex’.  Declaration dropped.  page.css:1:411375
Error in parsing value for ‘-webkit-box-flex’.  Declaration dropped.  page.css:1:415104
Unknown property ‘-moz-filter’.  Declaration dropped.  page.css:1:416076
Error in parsing value for ‘display’.  Declaration dropped.  page.css:1:417610
Unknown property ‘zoom’.  Declaration dropped.  page.css:1:418854
Unknown property ‘-moz-filter’.  Declaration dropped.  page.css:1:423360
Unknown property ‘-moz-font-smoothing’.  Declaration dropped.  page.css:1:428355
Unknown property ‘zoom’.  Declaration dropped.  page.css:1:428654
Unknown property ‘-moz-filter’.  Declaration dropped.  page.css:1:435040
Unknown property ‘-moz-font-smoothing’.  Declaration dropped.  page.css:1:439414
Unknown property ‘-moz-filter’.  Declaration dropped.  page.css:1:441420
Unknown property ‘user-select’.  Declaration dropped.  page.css:1:459901
Error in parsing value for ‘cursor’.  Declaration dropped.  page.css:1:460193
Unknown property ‘-moz-osx-font-smoothing’.  Declaration dropped.  page.css:1:461914
Unknown property ‘-moz-osx-font-smoothing’.  Declaration dropped.  page.css:1:462952
Expected media feature name but found ‘touch-enabled’.  www.espn.com:1:8
Expected media feature name but found ‘-webkit-touch-enabled’.  www.espn.com:1:24
Expected media feature name but found ‘-o-touch-enabled’.  www.espn.com:1:69
Expected media feature name but found ‘-ms-touch-enabled’.  www.espn.com:1:88
Expected media feature name but found ‘modernizr’.  www.espn.com:1:108
Unexpected end of file while searching for length value for matched media condition.  from DOM
Expected media feature name but found ‘-webkit-min-device-pixel-ratio’.  en-US:22:15034
Expected media feature name but found ‘min-device-pixel-ratio’.  en-US:22:15073
Expected media feature name but found ‘-webkit-min-device-pixel-ratio’.  en-US:22:16011
Expected media feature name but found ‘min-device-pixel-ratio’.  en-US:22:16050
Expected media feature name but found ‘-webkit-min-device-pixel-ratio’.  en-US:22:17071
Expected media feature name but found ‘min-device-pixel-ratio’.  en-US:22:17110
Expected media feature name but found ‘-webkit-min-device-pixel-ratio’.  en-US:22:18559
Expected media feature name but found ‘min-device-pixel-ratio’.  en-US:22:18598
Expected media feature name but found ‘-webkit-min-device-pixel-ratio’.  en-US:22:19247
Expected media feature name but found ‘min-device-pixel-ratio’.  en-US:22:19286
Expected media feature name but found ‘-webkit-min-device-pixel-ratio’.  en-US:22:19945
Expected media feature name but found ‘min-device-pixel-ratio’.  en-US:22:19984
Expected media feature name but found ‘-webkit-min-device-pixel-ratio’.  en-US:22:20635
Expected media feature name but found ‘min-device-pixel-ratio’.  en-US:22:20674
Expected media feature name but found ‘-webkit-min-device-pixel-ratio’.  en-US:22:22337
Expected media feature name but found ‘min-device-pixel-ratio’.  en-US:22:22376
Unknown pseudo-class or pseudo-element ‘-webkit-input-placeholder’.  Ruleset ignored due to bad selector.  en-US:22:32347
Unknown pseudo-class or pseudo-element ‘-ms-input-placeholder’.  Ruleset ignored due to bad selector.  en-US:22:32795
Error in parsing value for ‘display’.  Declaration dropped.  en-US:22:33963
Error in parsing value for ‘display’.  Declaration dropped.  en-US:22:35433
Unknown pseudo-class or pseudo-element ‘-webkit-input-placeholder’.  Ruleset ignored due to bad selector.  en-US:22:41769
Unknown pseudo-class or pseudo-element ‘-ms-input-placeholder’.  Ruleset ignored due to bad selector.  en-US:22:42213
Unknown property ‘appearance’.  Declaration dropped.  en-US:22:44490
Unknown pseudo-class or pseudo-element ‘-webkit-input-placeholder’.  Ruleset ignored due to bad selector.  en-US:22:44672
Unknown pseudo-class or pseudo-element ‘-ms-input-placeholder’.  Ruleset ignored due to bad selector.  en-US:22:45088
Unknown pseudo-class or pseudo-element ‘-webkit-inner-spin-button’.  Ruleset ignored due to bad selector.  en-US:22:45280
Unknown pseudo-class or pseudo-element ‘-ms-clear’.  Ruleset ignored due to bad selector.  en-US:22:45716
Unknown property ‘appearance’.  Declaration dropped.  en-US:22:46130
Unknown pseudo-class or pseudo-element ‘-ms-expand’.  Ruleset ignored due to bad selector.  en-US:22:46662
Expected media feature name but found ‘-webkit-min-device-pixel-ratio’.  en-US:22:48223
Expected media feature name but found ‘min-device-pixel-ratio’.  en-US:22:48262
Unknown pseudo-class or pseudo-element ‘selection’.  Ruleset ignored due to bad selector.  en-US:22:51701
Unknown pseudo-class or pseudo-element ‘-webkit-input-placeholder’.  Ruleset ignored due to bad selector.  en-US:22:87432
Unknown pseudo-class or pseudo-element ‘-ms-input-placeholder’.  Ruleset ignored due to bad selector.  en-US:22:87962
Unknown pseudo-class or pseudo-element ‘-webkit-input-placeholder’.  Ruleset ignored due to bad selector.  en-US:25:6453
Unknown pseudo-class or pseudo-element ‘-ms-input-placeholder’.  Ruleset ignored due to bad selector.  en-US:25:6643
Unknown pseudo-class or pseudo-element ‘-webkit-input-placeholder’.  Ruleset ignored due to bad selector.  en-US:25:7455
Unknown pseudo-class or pseudo-element ‘-ms-input-placeholder’.  Ruleset ignored due to bad selector.  en-US:25:7614
Found invalid value for media feature.  en-US:25:8070
Expected media feature name but found ‘-webkit-min-device-pixel-ratio’.  from DOM
Expected media feature name but found ‘-o-min-device-pixel-ratio’.  from DOM
Unknown property ‘user-select’.  Declaration dropped.  index.html
Unknown property ‘user-select’.  Declaration dropped.  index.html
Unknown property ‘enable-background’.  Declaration dropped.  9f314508-46ca-434c-a95e-fa222597be0a
Unknown property ‘enable-background’.  Declaration dropped.  b1123c64-c161-4dd1-8085-a88a786e0963
Unknown property ‘enable-background’.  Declaration dropped.  a8bf320b-6575-4a35-ba8d-05a7656022e8
Unknown property ‘enable-background’.  Declaration dropped.  8ec830f3-1b2b-4699-ac4f-53f3d8faf40e
Unknown property ‘enable-background’.  Declaration dropped.  59eb9035-b3ec-4ef4-9244-4e6d1013834f
Unknown property ‘enable-background’.  Declaration dropped.  e116cd0e-3c92-4419-bf16-6ef27c18c5f9
Unknown property ‘-moz-osx-font-smoothing’.  Declaration dropped.  index.html:2:74
Error in parsing value for ‘vertical-align’.  Declaration dropped.  index.html
Error in parsing value for ‘height’.  Declaration dropped.  index.html
Error in parsing value for ‘width’.  Declaration dropped.  index.html
Unknown pseudo-class or pseudo-element ‘-webkit-media-controls-start-playback-button’.  Ruleset ignored due to bad selector.  index.html:1:7
Property contained reference to invalid variable.  Error in parsing value for ‘color’.  Falling back to ‘inherit’.  browser.css:251:7560
[Tracking Requested - why for this release]:
i was chatting with a user close by who was able to consistently reproduce the error (in a new profile and with portable versions of the browser as well).
this was his output in the error console while trying to create a new bookmark: https://pastebin.mozilla.org/9029327

we ran the mozregression tool on the problem and he came up with this regression range: https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=b01f44c896b2472b154a48c68cf343ae2289d6bd&tochange=d80c517658f5048491b7bf27da25246a297ab50b - so bug 977177 seems to be the likely regressor.
Blocks: 977177
status-firefox56: --- → affected
status-firefox57: --- → affected
tracking-firefox55: - → ?
Tracking as it seems to be a new regression in 55.
Guys, can one you help with that? It is pretty urgent

Marco is in pto.
tracking-firefox55: ? → blocking
Flags: needinfo?(dolske)
Flags: needinfo?(adw)
Component: Untriaged → Places
Product: Firefox → Toolkit

Comment 15

9 days ago
(In reply to [:philipp] from comment #13)
> [Tracking Requested - why for this release]:
> i was chatting with a user close by who was able to consistently reproduce
> the error (in a new profile and with portable versions of the browser as
> well).
> this was his output in the error console while trying to create a new
> bookmark: https://pastebin.mozilla.org/9029327
> 
> we ran the mozregression tool on the problem and he came up with this
> regression range:
> https://hg.mozilla.org/integration/autoland/
> pushloghtml?fromchange=b01f44c896b2472b154a48c68cf343ae2289d6bd&tochange=d80c
> 517658f5048491b7bf27da25246a297ab50b - so bug 977177 seems to be the likely
> regressor.

For mozregression, with a new profile for each run, or persisting the same profile? Otherwise it sounds like you would just be running into bug 1356597, which will cause breakage if you created the profile in 55 and then try to run it on versions that don't have bug 977177.

The pastebinned errors indicate the favicons service is not available and/or failed to start. Are there errors immediately on startup that help clarify *why* it's not available / failed to start?
Flags: needinfo?(madperson)
mozregression with a clean profile each run - what we tested was if it's possible to create a new bookmark.
Flags: needinfo?(madperson)
and this was the console output right from starting the browser: https://pastebin.mozilla.org/9029335

Comment 18

9 days ago
Updates on some things we've tried:

- it seems pretty clear that the favicon, bookmarks and history - so all places - services are busted for users where this happens.
- at least for history, this suggests that Database::Init fails for some reason. It's not clear why.
- disabling antivirus doesn't help.
- crash report (explicitly crashed with crash-me add-on for the support data) from a user who can reproduce: https://crash-stats.mozilla.com/report/index/e65b6f2b-96ee-405a-a27b-3a19d1170810
- the new favicons db does get created (that is, the file exists on disk)
- when downgrading to 54, bookmarks / history are available again in the same profile
- user is using an admin windows account where it doesn't work, created a separate "normal" windows user and there the problem didn't reproduce
- no PLACES_DATABASE_CORRUPTION_HANDLING_STAGE telemetry data is visible in about:telemetry
Comment hidden (obsolete)
Comment hidden (obsolete)
(In reply to :Gijs from comment #18)
> - at least for history, this suggests that Database::Init fails for some
> reason. It's not clear why.

Hm. So for reference, here's mozilla-release's Database::Init:

https://dxr.mozilla.org/mozilla-release/rev/cace0357d40e875ea45b9ccad99f8785fc2cdb50/toolkit/components/places/Database.cpp#511-647
Comment hidden (obsolete)
(Assignee)

Comment 23

8 days ago
:philipp, any chance of getting the user who can reproduce this to run with MOZ_LOG=mozStorage:5?  This can be used in conjunction with MOZ_LOG_FILE to set a file to log the statements to.  The instructions at https://developer.mozilla.org/en-US/docs/Mozilla/Debugging/HTTP_logging#Windows provide an excellent explanation of how to do this, though we don't need/want any of the nsHttp:5 stuff.  We really just want MOZ_LOG=mozStorage:5 or MOZ_LOG=timestamp,mozStorage:5.

The log would be invaluable.  If we're talking about a fresh profile, there shouldn't be any private data *unless the problem is related to automated import of other discovered profiles on the machine* (I feel like we introduced some feature related to that at some point?).  If there's any concern about the potential for private data in the log, it's fine to send the log to me at asuth@mozilla.com. 


Aside: From the triggered crash cited in comment 18, we see "Thread 55, Name: mozStorage #28", 1 of only 2 mozStorage threads (the other is #7), which indicates a high amount of async database connection churn.  This may help shed some light on where the failures are actually happening, at least if there's not some JS consumer creating Sqlite.jsm connections with a high level of churn without regard for whether the places family of services is available.
Assignee: nobody → bugmail
Status: NEW → ASSIGNED
Flags: needinfo?(madperson)

Comment 24

8 days ago
reinstalled 54.0.1 all is good again. bookmarks work and so does the history.
places database: is now good.



> Integrity check
+ The database is sane
> Coherence check
+ The database is coherent
> Orphans expiration
+ Database cleaned up
> Vacuum
Duplicate of this bug: 1388940
Hi everyone,

It seems that I can't reproduce this issue by following the steps mentioned in comment 0 and by following the details mentioned by some users on https://support.mozilla.org/en-US/questions/firefox?tagged=bug1388584&show=all. 

I tried updating several 54.0.1 Firefox builds (both 32bit and 64bit) with different profiles (old ones and new ones) to Firefox 55.0.1 (which is the only 55 build available on "release-localtest" and on "release-cdntest") and  Firefox is working as intended (no freezes, history or bookmarks loss were encountered).

Please needinfo me if there are any other hints on how to reproduce this issue or if you have any question!
Flags: needinfo?(andrei.vaida)
Created attachment 8896273 [details]
log.txt

here's the log requested in comment #23 while opening a new profile and trying to create a bookmark.
Flags: needinfo?(madperson)

Comment 28

8 days ago
(In reply to [:philipp] from comment #27)
> Created attachment 8896273 [details]
> log.txt
> 
> here's the log requested in comment #23 while opening a new profile and
> trying to create a bookmark.

Hopefully :asuth can make sense of this. :-)
Flags: needinfo?(bugmail)

Comment 29

7 days ago
I don't have a lot to contribute here technically, but while we wait for Andrew to take a look to the log, I suggest capturing the same log on a working version on the same machine, in case it turns out to be useful for a comparison.
Flags: needinfo?(madperson)
First impression of the log:

* There don't seem to be any errors or warnings
* Comment 27 says the user tried to create a bookmark, but there's no INSERT logged for that, so it didn't even get that far
* This chunk logged over and over again, each time on a new thread, which would seem to confirm there's a problem with the new icon storage:

> 2017-08-11 13:33:06.331000 UTC - [Main Thread]: D/mozStorage TRACE_STMT on 000001CEA423BF20: 'PRAGMA wal_autocheckpoint = 62'
> 2017-08-11 13:33:06.331000 UTC - [Main Thread]: D/mozStorage TRACE_STMT on 000001CEA423BF20: 'PRAGMA journal_size_limit = 4096000'
> 2017-08-11 13:33:06.331000 UTC - [Main Thread]: D/mozStorage TRACE_STMT on 000001CEA423BF20: 'PRAGMA auto_vacuum = INCREMENTAL'
> 2017-08-11 13:33:06.331000 UTC - [Main Thread]: D/mozStorage TRACE_STMT on 000001CEA423BF20: 'BEGIN DEFERRED'
> 2017-08-11 13:33:06.331000 UTC - [Main Thread]: D/mozStorage TRACE_STMT on 000001CEA423BF20: 'CREATE TABLE moz_icons ( id INTEGER PRIMARY KEY, icon_url TEXT NOT NULL, fixed_icon_url_hash INTEGER NOT NULL, width INTEGER NOT NULL DEFAULT 0, root INTEGER NOT NULL DEFAULT 0, color INTEGER, expire_ms INTEGER NOT NULL DEFAULT 0, data BLOB ) '
> 2017-08-11 13:33:06.332000 UTC - [Main Thread]: D/mozStorage TRACE_TIME on 000001CEA423BF20: 1ms
> 2017-08-11 13:33:06.332000 UTC - [Main Thread]: D/mozStorage TRACE_STMT on 000001CEA423BF20: 'CREATE  INDEX IF NOT EXISTS moz_icons_iconurlhashindex ON moz_icons (fixed_icon_url_hash)'
> 2017-08-11 13:33:06.332000 UTC - [Main Thread]: D/mozStorage TRACE_STMT on 000001CEA423BF20: 'CREATE TABLE moz_pages_w_icons ( id INTEGER PRIMARY KEY, page_url TEXT NOT NULL, page_url_hash INTEGER NOT NULL ) '
> 2017-08-11 13:33:06.332000 UTC - [Main Thread]: D/mozStorage TRACE_STMT on 000001CEA423BF20: 'CREATE  INDEX IF NOT EXISTS moz_pages_w_icons_urlhashindex ON moz_pages_w_icons (page_url_hash)'
> 2017-08-11 13:33:06.332000 UTC - [Main Thread]: D/mozStorage TRACE_STMT on 000001CEA423BF20: 'CREATE TABLE moz_icons_to_pages ( page_id INTEGER NOT NULL, icon_id INTEGER NOT NULL, PRIMARY KEY (page_id, icon_id), FOREIGN KEY (page_id) REFERENCES moz_pages_w_icons ON DELETE CASCADE, FOREIGN KEY (icon_id) REFERENCES moz_icons ON DELETE CASCADE ) WITHOUT ROWID '
> 2017-08-11 13:33:06.332000 UTC - [Main Thread]: D/mozStorage TRACE_STMT on 000001CEA423BF20: 'COMMIT'
> 2017-08-11 13:33:06.336000 UTC - [Main Thread]: D/mozStorage TRACE_TIME on 000001CEA423BF20: 4ms
> 2017-08-11 13:33:06.336000 UTC - [Main Thread]: D/mozStorage Closing connection to 'favicons.sqlite'
Flags: needinfo?(adw)
Er, not on a new thread each time, but on the main thread.  Right after these chunks there's a "Closing connection to 'places.sqlite'" which is on a new/different thread.
That last COMMIT is from here: https://dxr.mozilla.org/mozilla-release/rev/cace0357d40e875ea45b9ccad99f8785fc2cdb50/toolkit/components/places/Database.cpp#709

And then in the log you can see the connection to favicons.sqlite close right after that, which happens when that function returns, and then after that, the connection to places.sqlite closes.
Comment hidden (obsolete)
Comment hidden (obsolete)
danny, PappyAce, philipp:

Do you see a notification box in the browser window that says (in English), "Browser Startup Error: The bookmarks and history system will not be functional because one of Firefox’s files is in use by another application"?
Flags: needinfo?(b1rdman)
no, this wasn't mentioned in any support thread and error messages are usually the first things users are picking up.

a number of them reported getting an "Unable to process the backup file." error when they tried to load an autogenerated bookmark backup.
Flags: needinfo?(madperson)
That points to this EnsureFaviconsDatabaseFile call site then: https://dxr.mozilla.org/mozilla-release/rev/cace0357d40e875ea45b9ccad99f8785fc2cdb50/toolkit/components/places/Database.cpp#907

There's only one other call site, and there, if EnsureFaviconsDatabaseFile fails, the "databased locked" notification is broadcasted, which nsBrowserGlue picks up and in response shows that locked notification box in the UI.  (Well, it shows that UI only if it receives the locked notification before the first browser window is shown.  I assume that will always happen, but I dunno.)

If that's the case, then Places has tried to attach the favicons DB to the main connection but failed, so it removes favicons.sqlite and recreates it, and then that fails too.

... except there are ATTACH statements in that log, so that doesn't seem possible...
(In reply to Drew Willcoxon :adw from comment #37)
> ... except there are ATTACH statements in that log, so that doesn't seem
> possible...

there are *no* ATTACH statements I meant
danny, PappyAce, philipp:

What's the full path of your profile folder?  The full path, starting with C: or whatever.  (To find it: open about:profiles, look under "Profile: <your profile name>", and "Root Directory".)
Flags: needinfo?(madperson)
(Assignee)

Updated

7 days ago
Depends on: 1389660
Andrew and I think the problem is here: https://dxr.mozilla.org/mozilla-release/rev/cace0357d40e875ea45b9ccad99f8785fc2cdb50/toolkit/components/places/Database.cpp#383

It's a simple string concat that would break if aPath were to contain an apostrophe (').  aPath is the user's profile folder path + "favicons.sqlite", so if the profile folder's name is like "Andrew's computer", boom.  I'm also wondering whether at least some of what's happening is that when aPath is converted to UTF-8, it contains an ' byte in one of its code points, and then this concated string is being treated as ASCII at some point.  If your OS isn't in English, that might be more likely to happen.
Several users have responded so far at https://support.mozilla.org/en-US/questions/firefox?tagged=bug1388584&show=all (thanks to philipp!), and all but one have apostrophes in their paths, in the Windows user name specifically.  I'm hoping the one exception is a mistake!  But certainly there could be more than one bug here.
So the summary at this point, to be clear, is that we've found the problem for at least some users.  One user's case doesn't fit our hypothesis, but I'm hoping they just provided us with the wrong info.  Andrew's working on most of the fix in bug 1389660, and he'll generate some try builds for testing.  His fix involves adding some new API, and we'll use that to fix this bug, or at least the part that is the problem we've identified.

Updated

7 days ago
Flags: needinfo?(madperson)
Flags: needinfo?(dolske)
Flags: needinfo?(bugmail)
Flags: needinfo?(benjamin)
(Assignee)

Comment 43

7 days ago
Created attachment 8896545 [details] [diff] [review]
Part 1: Bind ATTACH DATABASE path argument
Attachment #8896545 - Flags: review?(adw)
(Assignee)

Comment 44

7 days ago
Created attachment 8896546 [details] [diff] [review]
Part 2 - Debug only, do not land, more aggressive MOZ_LOG error logging
(Assignee)

Comment 45

7 days ago
https://treeherder.mozilla.org/#/jobs?repo=try&revision=904e3930432c22ceb7825eabe1e83c81a719fe80
(Assignee)

Comment 46

7 days ago
My fix for bug 1389660 quickly started veering off into "way too complicated for landing on a release branch", so I've shelved it.  The fix here, "part 1", very simply changes both ATTACH DATABASE calls to bind the path.  No effort is made to address the following existing deficiencies that already exist and are unrelated to the breakage we're correcting:
- mozStorage default pragmas are not run against freshly attached databases, so "cache_size" and "synchronous" will have SQLite's global defaults as built into SQLite and/or we configure in at startup.
- per-schema pragmas are not propagated across at initializeClone time.
I plan to address them in bug 1389660.  Practically speaking, the defaults are fine.


I've verified the fix locally by creating a profile in the profile manager named "b'ad" (b, apostrope/single quote, a, d) with the default directory which includes the apostrophe.  With the fix (part 1) and the improved error logging (part 2), my build works.  With just "part 2", the improved debugging, and MOZ_LOG=mozStorage:5, places is broken and I see the following (new) error log line in my mozlog output:
[Main Thread]: D/mozStorage SQLite Error 1 executing SQL 'ATTACH DATABASE '/home/visbrero/.mozilla/firefox/sxr0w6d0.b'ad/favicons.sqlite' AS favicons'

If all goes well, builds will start to show up at https://archive.mozilla.org/pub/firefox/try-builds/bugmail@asutherland.org-ed7e9fd3389a6ca77e625d8597651a6be5b1f286/ in a few hours.
(Assignee)

Comment 47

7 days ago
Comment on attachment 8896545 [details] [diff] [review]
Part 1: Bind ATTACH DATABASE path argument

Review of attachment 8896545 [details] [diff] [review]:
-----------------------------------------------------------------

Really, anyone who wants to a drive-by review should feel free to r+, but since it turns out I'm a Firefox peer and bkelly knows storage stuff and frequently seems to like to do reviews on the weekend...
Attachment #8896545 - Flags: review?(bkelly)
Comment on attachment 8896545 [details] [diff] [review]
Part 1: Bind ATTACH DATABASE path argument

Review of attachment 8896545 [details] [diff] [review]:
-----------------------------------------------------------------

drive-by to help get this out asap
Attachment #8896545 - Flags: review+
Guys, I appreciated the work during the week end!
Is the attachment 8896545 [details] [diff] [review] the only thing needed to fix the bug in the release?
If yes, could you please fill the uplift request to m-r?

thanks
Flags: needinfo?(email)
Flags: needinfo?(bugmail)
Comment on attachment 8896545 [details] [diff] [review]
Part 1: Bind ATTACH DATABASE path argument

Review of attachment 8896545 [details] [diff] [review]:
-----------------------------------------------------------------

Here's another r+.  Thanks Andrew!  I wonder whether there are known bugs due to the clone ATTACH that we either haven't looked at or didn't understand that this fixes.
Attachment #8896545 - Flags: review?(adw) → review+
Sylvestre, I think you needinfoed the wrong markh.
Flags: needinfo?(email)
(In reply to Sylvestre Ledru [:sylvestre] from comment #49)
> Is the attachment 8896545 [details] [diff] [review] the only thing needed to
> fix the bug in the release?
> If yes, could you please fill the uplift request to m-r?

It should fix the problem for many of the users we know about.  There's one user for whom, according to the info we have which I'm hoping is wrong, this won't fix the problem.

I'll fill out an uplift request now unless someone beats me to it.  Regardless of whether the problem we've identified is the only problem for these users, we should uplift Andrew's patch IMO.  Although ideally affected users could try his try builds first and confirm that they fix their problem.
Comment on attachment 8896545 [details] [diff] [review]
Part 1: Bind ATTACH DATABASE path argument

Approval Request Comment
[Feature/Bug causing the regression]:
Bug 977177, favicon reorganization in the Places database

[User impact if declined]:
Firefox is pretty broken; see above

[Is this code covered by automated tests?]:
Places and favicon code in general is covered, but obviously this specific problem was not covered, and it's still not covered with this patch

[Has the fix been verified in Nightly?]:
No but we're landing this directly on release.  Andrew has verified his fix according to comment 46

[Needs manual test from QE? If yes, steps to reproduce]:
That would be nice.  STR: (a) Create a Windows user name that contains an apostophe/single quote ('), or (b) manually create a Firefox profile directory that contains one and then create a Firefox profile based on that directory.  Then start Firefox.  Visiting web sites and bookmarking them should work.

[List of other uplifts needed for the feature/fix]:
None

[Is the change risky?]:
[Why is the change risky/not risky?]:
Not the change itself, but landing directly on release is?

[String changes made/needed]:
None
Attachment #8896545 - Flags: review?(bkelly) → approval-mozilla-release?
Are there tests/telemetry we can add to catch these issues in the future?
(Assignee)

Comment 55

6 days ago
(In reply to Drew Willcoxon :adw from comment #50)
> Here's another r+.  Thanks Andrew!  I wonder whether there are known bugs
> due to the clone ATTACH that we either haven't looked at or didn't
> understand that this fixes.

Bug 1283083, landed in Firefox 50, introduced the initial string-concatenating SQL building logic in mozilla::storage::Connection::initializeClone().  This landing occurred in future support of bug 977177 and had no in-tree consumers until bug 977177, at least based on a brief archaeology skim.
Flags: needinfo?(bugmail)
(Assignee)

Comment 56

6 days ago
(In reply to Drew Willcoxon :adw from comment #53)
> [Needs manual test from QE? If yes, steps to reproduce]:
> That would be nice.  STR: (a) Create a Windows user name that contains an
> apostophe/single quote ('), or (b) manually create a Firefox profile
> directory that contains one and then create a Firefox profile based on that
> directory.  Then start Firefox.  Visiting web sites and bookmarking them
> should work.

Elaborating because I already wrote this and am slower at filling out approval requests :)

1a) Run with a 55 release build with a profile that contains a single-quote character in the directory name.  This can be accomplished by using Profile Manager to create a profile named something like: "o'hai" or using any profile name with a Windows username with a single-quote character inside it.  Keep in mind that Windows has path length limitations which will result in QuotaManager and IndexedDB failures if the profile path starts getting too long, so don't try and stress test long names.
1b) Verify Places is very broken.
2) Download cool try builds from https://archive.mozilla.org/pub/firefox/try-builds/bugmail@asutherland.org-ed7e9fd3389a6ca77e625d8597651a6be5b1f286/ or fixed release (candidate?) builds with the fix in them.
3a) Run with the cool try build.
3b) Verify Places is now working.
FWIW I just locally verified both the problem and Andrew's fix in the try build.

Details:

(1) On Windows 10, I created a user with the name test'account.
(2) I logged on as that user, downloaded Firefox 55, installed it, ran it, verified that the browser was slow and bookmarking didn't work.
(3) I downloaded the try build zip, unzipped it, and ran it using the same profile I had used for the official 55 release.  No problems!
(Assignee)

Comment 58

6 days ago
(In reply to Ryan VanderMeulen [:RyanVM] from comment #54)
> Are there tests/telemetry we can add to catch these issues in the future?

This does suggest new opportunities going forward to run a cross-section of profile-directory-using consumers with profile directory names with various "special" characters in the name.  This could possibly just be a series of taskcluster jobs that don't run on every push.

Note that it turns out to be a little bit harder to get xpcshell tests to do this because they like to create synthetic directories for their profile, and use Python's tempdir module and/or your create a dir under your objdir for speed.  But xpcshell's stock do_get_profile() method can be overridden.  So naive taskcluster tasks should only run mochitests... and probably have at least one specialized test that asserts that the special characters are actually in the profile path.  (It could conditionalize itself by checking the ENV variable and maybe the taskcluster task name if it can get at that?)

In bug 1389660 which will be the "proper" trunk fix where mozStorage provides an explicit API to attach databases, we will absolutely create a synthetic subdirectory or family of them to verify single quotes don't pose a problem.
(Assignee)

Comment 59

6 days ago
Comment on attachment 8896545 [details] [diff] [review]
Part 1: Bind ATTACH DATABASE path argument

Approval Request Comment
See comment 53.

This should go on beta too.  I tested "hg graft"-ing the patch onto beta and it grafted cleanly.  This patch is very targeted with no extenuating context outside its hunks, so a clean graft means we're golden.

The plan would be:
- Land this fix on beta when we land it on release.
- When we get the fancier fix on trunk as part of bug 1388584, we can consider whether to uplift that to beta (reverting/clobbering this fix).
Attachment #8896545 - Flags: approval-mozilla-beta?
(Assignee)

Comment 60

6 days ago
> Comment on attachment 8896545 [details] [diff] [review]
> Part 1: Bind ATTACH DATABASE path argument
> 
> Approval Request Comment
> See comment 53.
... 
> The plan would be:
> - Land this fix on beta when we land it on release.
> - When we get the fancier fix on trunk as part of bug 1388584, we can
> consider whether to uplift that to beta (reverting/clobbering this fix).

I meant bug 1389660, not bug 1388584 which is this bug.

Also, I'm moving bug 1389660 to be a see-also since we will no longer depend on it.  I'm also going to look into landing the immediate fix on trunk, because nightly users deserve places too.  But I'll discuss with some humans on IRC about that.
No longer depends on: 1389660
See Also: → bug 1389660
Comment on attachment 8896545 [details] [diff] [review]
Part 1: Bind ATTACH DATABASE path argument

># HG changeset patch
># User Andrew Sutherland <asutherland@asutherland.org>
># Date 1502519589 14400
>#      Sat Aug 12 02:33:09 2017 -0400
># Node ID 908a4bb55a039985473e1565d88abebfe024c44c
># Parent  7241df9e83ed802c70a7cdce3cee5df344279cad
>Bug 1388584 - Part 1: Bind ATTACH DATABASE path argument.
>
>diff --git a/storage/mozStorageConnection.cpp b/storage/mozStorageConnection.cpp
>--- a/storage/mozStorageConnection.cpp
>+++ b/storage/mozStorageConnection.cpp
>@@ -1394,25 +1394,35 @@ Connection::initializeClone(Connection* 
>     while (stmt && NS_SUCCEEDED(stmt->ExecuteStep(&hasResult)) && hasResult) {
>       nsAutoCString name;
>       rv = stmt->GetUTF8String(1, name);
>       if (NS_SUCCEEDED(rv) && !name.Equals(NS_LITERAL_CSTRING("main")) &&
>                               !name.Equals(NS_LITERAL_CSTRING("temp"))) {
>         nsCString path;
>         rv = stmt->GetUTF8String(2, path);
>         if (NS_SUCCEEDED(rv) && !path.IsEmpty()) {
>-          rv = aClone->ExecuteSimpleSQL(NS_LITERAL_CSTRING("ATTACH DATABASE '") +
>-            path + NS_LITERAL_CSTRING("' AS ") + name);
>+          nsCOMPtr<mozIStorageStatement> attachStmt;
>+          rv = aClone->CreateStatement(
>+            NS_LITERAL_CSTRING("ATTACH DATABASE :path AS ") + name,
>+            getter_AddRefs(attachStmt));
>+          MOZ_ASSERT(NS_SUCCEEDED(rv));
>+          rv = attachStmt->BindUTF8StringByName(NS_LITERAL_CSTRING("path"),
>+                                                path);
>+          MOZ_ASSERT(NS_SUCCEEDED(rv));
>+          rv = attachStmt->Execute();
>           MOZ_ASSERT(NS_SUCCEEDED(rv), "couldn't re-attach database to cloned connection");
>         }
>       }
>     }
>   }
> 
>   // Copy over pragmas from the original connection.
>+  // LIMITATION WARNING!  Many of these pragmas are actually scoped to the
>+  // schema ("main" and any other attached databases), and this implmentation
>+  // fails to propagate them.  This is being addressed on trunk.
>   static const char * pragmas[] = {
>     "cache_size",
>     "temp_store",
>     "foreign_keys",
>     "journal_size_limit",
>     "synchronous",
>     "wal_autocheckpoint",
>     "busy_timeout"
>diff --git a/toolkit/components/places/Database.cpp b/toolkit/components/places/Database.cpp
>--- a/toolkit/components/places/Database.cpp
>+++ b/toolkit/components/places/Database.cpp
>@@ -374,18 +374,24 @@ SetupDurability(nsCOMPtr<mozIStorageConn
>   }
>   return NS_OK;
> }
> 
> nsresult
> AttachDatabase(nsCOMPtr<mozIStorageConnection>& aDBConn,
>                const nsACString& aPath,
>                const nsACString& aName) {
>-  nsresult rv = aDBConn->ExecuteSimpleSQL(
>-    NS_LITERAL_CSTRING("ATTACH DATABASE '") + aPath + NS_LITERAL_CSTRING("' AS ") + aName);
>+  nsCOMPtr<mozIStorageStatement> stmt;
>+  nsresult rv = aDBConn->CreateStatement(
>+    NS_LITERAL_CSTRING("ATTACH DATABASE :path AS ") + aName,
>+    getter_AddRefs(stmt));
>+  NS_ENSURE_SUCCESS(rv, rv);
>+  rv = stmt->BindUTF8StringByName(NS_LITERAL_CSTRING("path"), aPath);
>+  NS_ENSURE_SUCCESS(rv, rv);
>+  rv = stmt->Execute();
>   NS_ENSURE_SUCCESS(rv, rv);
> 
>   // The journal limit must be set apart for each database.
>   nsAutoCString journalSizePragma("PRAGMA favicons.journal_size_limit = ");
>   journalSizePragma.AppendInt(DATABASE_MAX_WAL_BYTES + DATABASE_JOURNAL_OVERHEAD_BYTES);
>   Unused << aDBConn->ExecuteSimpleSQL(journalSizePragma);
> 
>   return NS_OK;
Attachment #8896545 - Flags: approval-mozilla-release?
Attachment #8896545 - Flags: approval-mozilla-release+
Attachment #8896545 - Flags: approval-mozilla-beta?
Attachment #8896545 - Flags: approval-mozilla-beta+
(Assignee)

Comment 62

6 days ago
https://hg.mozilla.org/integration/mozilla-inbound/rev/e8799d84a76ccc9dc1f17dcafe7527386a87db18
Bug 1388584 - Part 1: Bind ATTACH DATABASE path argument. r=adw r=markh a=Aryx
(Assignee)

Comment 63

6 days ago
Thanks for the approvals!  I've already landed on trunk with a=Arynx from #sheriffs to make sure people were okay with it not having tests yet.

However, I see from https://wiki.mozilla.org/Tree_Rules#mozilla-beta that I need to stick around and watch the tree if I land it there, and I need to do real life stuff for ~8 hours, so I am not going to land on beta or release right now.  (Also I'm not sure if I should land directly on release myself.)  When I return I'll check the state of things.
(Assignee)

Comment 64

6 days ago
(In reply to Drew Willcoxon :adw from comment #52)
> It should fix the problem for many of the users we know about.  There's one
> user for whom, according to the info we have which I'm hoping is wrong, this
> won't fix the problem.

For posterity, this user's profile path did include a single-quote; the user was sanitizing the path for privacy reasons (both wise and commendable) and has since clarified.  As such, we believe this fix covers 100% of the known cases of this specific problem.

Comment 65

6 days ago
uplift
https://hg.mozilla.org/releases/mozilla-beta/rev/70f2f3497546cd2fff2e7d4eba9efb9e9805146e
https://hg.mozilla.org/releases/mozilla-release/rev/db35b8b566a33c2927bbc098ef37ab818c3a1a01
status-firefox55: affected → fixed
status-firefox56: affected → fixed
tracking-firefox56: --- → ?
tracking-firefox57: --- → ?
https://hg.mozilla.org/mozilla-central/rev/e8799d84a76c
Status: ASSIGNED → RESOLVED
Last Resolved: 6 days ago
status-firefox57: affected → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla57

Comment 67

5 days ago
Should the 55 get taken out of the bug title here? Thanks.
Summary: New Version 55, constantly freezes, not responding, bookmarks lost, all bookmark commands do not function. → Firefox constantly freezes, not responding, bookmarks lost, all bookmark commands do not function.

Updated

4 days ago
Flags: needinfo?(b1rdman)
Flags: needinfo?(AL_Guzzo)
(Assignee)

Updated

4 days ago
Summary: Firefox constantly freezes, not responding, bookmarks lost, all bookmark commands do not function. → Places breaks if there is a single-quote character in the profile path, resulting in Firefox freezing, not responding, and bookmarks being inaccessible
Added to release notes for 55.0.1 as a known issue.
relnote-firefox: --- → 55+

Updated

4 days ago
See Also: → bug 1389160
Tracked for 56+ as it's a very severe regression (dot release driver in 55)
tracking-firefox56: ? → +
tracking-firefox57: ? → +
We tried to reproduce this issue on 55.0.2-build1 as well, by following the steps given in comment 53 using "release-localtest" update channel, but we didn't managed to due so.
Added in the release notes as a fix:
Fix a potential issue when the username had some specific characters in the path
Depends on: 1391598
You need to log in before you can comment on or make changes to this bug.