mozilla / notes

DEPRECATED - A notepad for Firefox
https://testpilot.firefox.com/experiments/notes
Mozilla Public License 2.0
496 stars 132 forks source link

Notes panel completely blank #512

Closed kpuljek closed 6 years ago

kpuljek commented 6 years ago

Notes just updated to 2.1.0 and now when I open the sidepanel, I have the title "Notes" and nothing else, it's entirely empty.

Firefox 57.0.1 on Ubuntu 17.10

vladikoff commented 6 years ago

@kpuljek could you please provide any information by opening about:debugging and finding "Firefox Notes" in there. Press Debug, please tell us if you see any errors in that console. Sorry about that :(

kpuljek commented 6 years ago

This is what I get in the console view when I try to open Notes in the sidebar:

IndexedDB UnknownErr: ActorsParent.cpp:598 (unknown) UnknownError kinto.js:5546:22 Unchecked lastError value: Error: Could not establish connection. Receiving end does not exist. ExtensionCommon.jsm:407 Unchecked lastError value: Error: Could not establish connection. Receiving end does not exist. ExtensionCommon.jsm:407 Unhandled promise rejection null kinto-http.js:596:2166 Editor migration started... migration.js:18:3 Use of Mutation Events is deprecated. Use MutationObserver instead. quill.js:7:149483 Already migrated. migration.js:32:7 IndexedDB UnknownErr: ActorsParent.cpp:598 (unknown) UnknownError

Natim commented 6 years ago

Looks like you are hitting this bug: https://stackoverflow.com/a/32548082/186202

kpuljek commented 6 years ago

This is what I get when I disable/enable Notes:

Unknown property ‘user-select’. Declaration dropped. menu.css:130:13 Unknown property ‘visiblity’. Declaration dropped. styles.css:228:11 Unknown property ‘visiblity’. Declaration dropped. styles.css:237:11 Error in parsing value for ‘visibility’. Declaration dropped. styles.css:338:14 Webconsole context has changed Use of Mutation Events is deprecated. Use MutationObserver instead. quill.js:7:149483 IndexedDB UnknownErr: ActorsParent.cpp:598 (unknown) UnknownError kinto.js:5546:22 Source map error: TypeError: NetworkError when attempting to fetch resource. Resource URL: moz-extension://66e2d66b-f186-4d42-8a29-f3cf5271a6f8/sidebar/vendor/ckeditor.js Source Map URL: ckeditor.js.map[Learn More] (unknown) Source map error: TypeError: NetworkError when attempting to fetch resource. Resource URL: moz-extension://66e2d66b-f186-4d42-8a29-f3cf5271a6f8/sidebar/vendor/quill.js Source Map URL: quill.min.js.map[Learn More] (unknown) Source map error: TypeError: NetworkError when attempting to fetch resource. Resource URL: moz-extension://66e2d66b-f186-4d42-8a29-f3cf5271a6f8/sidebar/vendor/material.js Source Map URL: material.min.js.map[Learn More]`

Natim commented 6 years ago

I created https://bugzilla.mozilla.org/show_bug.cgi?id=1425146 in order to figure out how to help you.

My understanding is that your profile directory permissions doesn't allow us to create the IndexedDB database file.

Can you check that the storage/default/ directory in your profile exists and has got write permissions with your user running Firefox?

kpuljek commented 6 years ago

Everything looks okay permission-wise, I'm the owner of everything in my .mozilla folder inside home. There is a storage/default, but there's nothing about notes there

Natim commented 6 years ago

Do you see any QuotaManager related messages in the console?

kpuljek commented 6 years ago

Nope, I tried to capture every single message related to Notes (enabling/disabling the panel, enabling/disabling the extension) - attached screenshot:

screenshot from 2017-12-14 11-06-26

Natim commented 6 years ago

Apparently this bug occurs when you used a profile with a new version of Firefox and then came back to an older version. You might want to drop your current profile and create a new one.

You can plan to use Sync in the meantime to migrate your data to the new profile.

Natim commented 6 years ago

Ok I was able to reproduce a similar error locally

Apparently if a file exists and shouldn't in the IDB repository it makes the loading to fail.

@kpuljek Can you check if you have a file ending with a . in your .mozilla/firefox/PROFILE.default/storage/default/moz-extension+++*/idb/

kpuljek commented 6 years ago

Hey! I have two moz-extension+++* folders, but neither has the id of the notes extension, both contain only an .sqlite file and an additional folder. not a single file ending with "."

The only file actually connected to notes i found is in profile/browser-extension-data/notes@mozilla.com/storage.js (the js file contains everything my notes used to show when the panel was opened). I made a backup of this file and am ready to refresh my profile, but I didn't want to do it yet in case you need any additional debugging information

Natim commented 6 years ago

Ok so maybe it wasn't the same error.

Can you send me zipped the moz-extension+++ folders that contains the idb repository? Is one of the sqlite file named 3350367306aesgyanrcoSt.sqlite?

kpuljek commented 6 years ago

3593252786Vyieoklneonmt.sqlite and 1671402671ueBglaorcokt0SCeahc.sqlite

I don't have a 3350367306aesgyanrcoSt anywhere in my profile

Edit: previewing these two sqlite files reveals that one is from the adblocker and the other is violentmonkey

Natim commented 6 years ago

Ok I've got a way to figure out something.

Can you download that zip file and load it as a temporary module in about:debugging

Then can you start the debugger and go to the storage / IndexedDB tab.

It should show the following:

demo

What do you have?

The sidebar needs to be open for you to see anything.

Natim commented 6 years ago

If this doesn't work, can you checkout the code of the add-on, use npm install and then npm start to see if it shows?

kpuljek commented 6 years ago

This is the only one containing anything, everything else is empty. Edit: Actually, if I disable the notes I have and then load the one from the zip file, everything is completely empty

notes

kpuljek commented 6 years ago

When I build it from source and run firefox from the terminal, it works! Can I somehow just install that one into my profile?

Natim commented 6 years ago

Yes you can use npm run package to build the XPI

kpuljek commented 6 years ago

and please let me know what's the difference between the Notes on testpilot and notes on Mozilla addons? I see that it's a different version, and it installs separately, but besides that? Because I had the one from testpilot, the one from the addon store works (it says it's packaged by you, apparently) but that one is only at version 1.3 and it appears twice in the sidebar menu (separately for the 2.1.0 from testpilot and 1.3)

I'll try to make an xpi now, thanks!

Natim commented 6 years ago

Yes the one in AMO is the version we had before Test Pilot.

kpuljek commented 6 years ago

I really can't say what's wrong with this. I made a new profile, synced it, notes appeared fine (even though there's a slight delay between opening the panel and interface actually showing. Something must be wrong with my old profile. I'll migrate to the new one, I really need notes in my workflow and this has been far too silly now. Thanks for all your help, if you want to debug this further I'll keep my old profile around

Natim commented 6 years ago

@kpuljek could you send me a zip with the two storage moz extension repository?

Natim commented 6 years ago

Apparently the file we are looking for should be called: 4213852584dseeftaounlFt2%.sqlite

phantom-tim commented 6 years ago

I experienced this today as well. I've been using Notes regularly, but today the sidebar won't load anything. I can see the contents of my notes in Profiles\PROFILE.default\browser-extension-data\notes@mozilla.com\storage.js

stripTM commented 6 years ago

The same behavior, I tried to uninstall Notes and Test pilot and then reinstall them. But it still doesn't work.

In a new profile works.

Natim commented 6 years ago

If you can try these steps it would help us: https://bugzilla.mozilla.org/show_bug.cgi?id=1425146#c35

phantom-tim commented 6 years ago

@Natim, I'm afraid I don't have a Linux environment to test with.

stripTM commented 6 years ago

@Natim done, but it is very difficult to use, only some Firefox elements are shown randomly.

I think this is the section of the log useful.

[Parent 12625, Main Thread] WARNING: Failed to open external DTD: publicId "-//W3C//DTD SVG 1.1//EN" systemId "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" base "jar:file:///home/fer/.mozilla/firefox/n476vrxq.sept2014/extensions/notes@mozilla.com.xpi!/sidebar/close.svg" URL "resource://gre/res/dtd/svg11.dtd": file /media/creaciones/aplicaciones_externas/firefox/parser/htmlparser/nsExpatDriver.cpp, line 588 [Parent 12625, Main Thread] WARNING: '!aSelection->RangeCount()', file /media/creaciones/aplicaciones_externas/firefox/editor/libeditor/EditorBase.cpp, line 4019 [Parent 12625, QuotaManager IO] WARNING: '!databaseFilenames.GetEntry(subdirNameBase)', file /media/creaciones/aplicaciones_externas/firefox/dom/indexedDB/ActorsParent.cpp, line 17758 [Parent 12625, QuotaManager IO] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x8000FFFF: file /media/creaciones/aplicaciones_externas/firefox/dom/quota/ActorsParent.cpp, line 4365 [Parent 12625, QuotaManager IO] WARNING: 'NS_FAILED(rv)', file /media/creaciones/aplicaciones_externas/firefox/dom/quota/ActorsParent.cpp, line 4277 [Parent 12625, QuotaManager IO] WARNING: 'NS_FAILED(rv)', file /media/creaciones/aplicaciones_externas/firefox/dom/quota/ActorsParent.cpp, line 5248 [Parent 12625, QuotaManager IO] WARNING: 'NS_FAILED(rv)', file /media/creaciones/aplicaciones_externas/firefox/dom/quota/ActorsParent.cpp, line 5168 [Parent 12625, QuotaManager IO] WARNING: 'NS_FAILED(rv)', file /media/creaciones/aplicaciones_externas/firefox/dom/quota/ActorsParent.cpp, line 5130 [Parent 12625, QuotaManager IO] WARNING: 'NS_FAILED(rv)', file /media/creaciones/aplicaciones_externas/firefox/dom/indexedDB/ActorsParent.cpp, line 21649 [Parent 12625, QuotaManager IO] WARNING: 'NS_FAILED(rv)', file /media/creaciones/aplicaciones_externas/firefox/dom/indexedDB/ActorsParent.cpp, line 21493 [Parent 12625, IPDL Background] WARNING: Converting non-IndexedDB error code (0x8000FFFF) to NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR: file /media/creaciones/aplicaciones_externas/firefox/dom/indexedDB/ActorsParent.cpp, line 593 ++DOMWINDOW == 7 (0x7fb305f4fc00) [pid = 12704] [serial = 13] [outer = 0x7fb321552010] [Parent 12625, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80070057: file /media/creaciones/aplicaciones_externas/firefox/netwerk/base/nsChannelClassifier.cpp, line 344

Natim commented 6 years ago

@phantom-tim no worries, if you can try to download a debug build for your OS from Treeherder it would help. What is your OS?

@stripTM thanks it is really useful, I have added the following logs to the Bugzilla issue: https://bugzilla.mozilla.org/show_bug.cgi?id=1425146#c44

phantom-tim commented 6 years ago

@Natim, I'm running Windows 10 x64.

Natim commented 6 years ago

I will copy the message from the Bugzilla issue here: @phantom-tim feel free to try it.

The most friendly option is about:support's "Refresh Firefox" option as documented at:

https://support.mozilla.org/en-US/kb/refresh-firefox-reset-add-ons-and-settings with the caveat that it doesn't bring all your data across, but it should bring your most important data across (passwords, bookmarks, other places contents). It leaves your old profile on your disk, so if it turns out the refresh did leave some stuff behind, you can still mess with your profiles.ini or use -p to try and use your old profile or try the options below.

If you're comfortable nuking folders yourself, your options are, for each thing:

1) Bug 1423917 (not your problem, per comment 39): Remove any directory beneath PROFILE/storage/{permanent,temporary} that starts with "chrome++++".

2) Your comment 39 problem. The overzealous fix is to remove any cache directory located at PROFILE/storage/{permanent,temporary}/*/cache. Less overzealous is to not do that for directories with padding files in them.

Aside: You likely encountered this problem due to trying the beta versions of Firefox we were pushing. Please see Bug 1373244 for the great hope to avoid this profile footgun.

phantom-tim commented 6 years ago

Hi @Natim. I'd like to try nuking folders myself, so I don't lose any add-ons/data from doing a refresh.

I can verify that there are no folders beneath PROFILE/storage/{permanent,temporary} that start with "chrome++++".

There are no folders named "cache" under PROFILE/storage/{permanent,temporary}/*. The only folders are named "idb" (under PROFILE/storage/permanent/*) or "asmjs" (under PROFILE/storage/temporary/*).

Additionally, I've never used a beta version of Firefox on this PC. So that couldn't be the cause in my case.

Natim commented 6 years ago

Thank you for looking at it. I guess you might have another issue. I would really like to find a debug version in windows so that we can find out what it is.

Natim commented 6 years ago

@phantom-tim Ok I managed to find a way for you to grab a debug enabled build.

For latest release build:

  1. Go to https://treeherder.mozilla.org/#/jobs?repo=mozilla-release
  2. Check the latest changeset (in the top)
  3. Find "Windows 2012 debug" or "Windows 2012 x64 debug" row
  4. Click on "tc (+3)"
  5. Click on "B"
  6. Find "artifact uploaded: target.zip" in the "Job Details" tab
  7. Click on target.zip
  8. Download target.zip
  9. Unpack target.zip

Then can you open the cmd tool and drag and drop firefox.exe to run it and see the log in the console. We need the log talking about QuotaManager, ActorsParent or kinto.

phantom-tim commented 6 years ago

The attached log has lines referring to QuotaManager and ActorsParent. I hope it's helpful. firefox-log.txt

Natim commented 6 years ago

Did you try to open the sidebar? I don't see anything about kinto :/

UTexas80 commented 6 years ago

Hi Natim - I got up to the "Then can you open the cmd tool" step but am unsure by which cmd tool? Do you mean the windows command prompt? BTW, I am able to read my notes using my home PC running Windows 7.

marniepw commented 6 years ago

Feedback from January survey:

Natim commented 6 years ago

Thanks to @sebastienbarbier we were able to investigate that a little bit.

  1. In your profile folder
  2. In the storage folder
  3. Look for files called caches.sqlite

In our case we had a http+++localhost+3000 folder that was containing a caches.sqlite file.

Removing that folder altogether fixed notes for us

I encourage you to save this folder before removing it.

If you have multiple storage folder that contains caches.sqlite files you can try to open them one by one with SQLite sqlite3 caches.sqlite and look at the entries table to see if the response_padding_size column is missing.

I put together this file to let you find out which files might be broken:

#!/bin/bash
for file in $(find "$1" -name 'caches.sqlite')
do
    if ([ -d $(dirname "$file")/../idb ] && sqlite3 "$file" '.schema entries' | egrep -v response_padding_size | egrep -v entries_request_match_index > /dev/null)
    then
        echo "$file"
    fi
done

To run it:

chmod +x test_cache_files.sh
./test_cache_files .mozilla/firefox/*.default/
phantom-tim commented 6 years ago

@Natim, your suggestion to @sebastienbarbier solved my problem as well. I closed Firefox, removed the offending caches.sqlite folder, restarted my browser, and the notes are working fine again.

Natim commented 6 years ago

Apparently there is even a safer way of doing so

You can remove all cache folder safely (PROFILE/storage/{default,permanent,temporary}/*/cache)

Natim commented 6 years ago

I guess the path forward with this issue is to detect when IndexedDB is broken and display a message telling how to fix it.

ApsOps commented 6 years ago

I'm hitting this as well. Firefox Quantum 58.0.2 (64-bit) on MacOS High Sierra 10.13.3 (17D47).

UTexas80 commented 6 years ago

Got it working! Thanks to all who helped resolve my issue.

vladikoff commented 6 years ago

I don't know if i replied to the most recent replies to my question (I'm new to this Github forum format). Yes, all i see is a blank panel (with a "Notes" icon, the word "Notes", and a drop-down carat symbol). Yes i think it's probably the same as described in issue #512 . No, i don't think I've switched between Nightly and Stable builds. I don't think I've ever installed the Nightly build at all. The edition i'm running is 59.0.2 (64-bit). However, a while back i did uninstall it a couple times, reinstalling the pre-Quantum edition (i still dislike the new Quantum changes, and i still wish i could get all my old extensions back, but i caved to the all the scary security warnings it kept throwing at me, and eventually re-upgraded to Quantum [59.0.2]).

Imported from https://github.com/mozilla/notes/issues/866#issuecomment-380193641

vladikoff commented 6 years ago

@HydrophobaHalibut could you run this test: https://firefox-storage-test.glitch.me/ and report results

ApsOps commented 6 years ago

I know you didn't ask me for the test, but I'm seeing a blank notes panel as well, and these results have left me scared 😐

image

Is this a normal thing? 🤔

ApsOps commented 6 years ago

Looks like it started working with today's release \o/

ghost commented 6 years ago

@vladikoff Yes, looks like it's working here too. If it matters, the test gave me the same results as what @ApsOps posted.

vladikoff commented 6 years ago

Fixed in v4!