blacksmithgu / obsidian-dataview

A data index and query language over Markdown files, for https://obsidian.md/.
https://blacksmithgu.github.io/obsidian-dataview/
MIT License
7.12k stars 419 forks source link

over 1000 "Uncaught (in promise) Error: No available storage method found. at driverPromiseLoop #1321

Open filmgal opened 2 years ago

filmgal commented 2 years ago

What happened?

Long story short, my two main (and large) vaults kept indexing whenever I opened them. This started just yesterday or the day before.

I just finished indexing my film vault (again) and saw this in Inspector: 1001 plugin:dataview:13561 Uncaught (in promise) Error: No available storage method found. at driverPromiseLoop (plugin:dataview:13561:33)

                    setDriverToConfig();
                    var error = new Error('No available storage method found.');
                    self._driverSet = Promise$1.reject(error);
                    return self._driverSet;

and 596 index.html errors

one of them being: index.html:1 Uncaught (in promise) Error: No available storage method found. at driverPromiseLoop (plugin:dataview:13561:33)

This is way beyond my capabilities. I don't even know what kind of info you need or how do got it to you.

I should add that it isn't quite consistent. I've been troubleshooting this indexing business since yesterday, and I can't quite see any rhyme or reason to it. About 15 minutes ago I opened the database and it was fine, with no errors in Inspector. I'll open it up again the next time or the one after that and the indexing will start again.

I'm tempted to just delete everything and re-install Obsidian and start from scratch again and I will if I have to.

DQL

No response

JS

No response

Dataview Version

0.5.21

Obsidian Version

0.15.9

OS

Windows

blacksmithgu commented 2 years ago

Another instance of localStorage failing for indiscernible reasons. Maybe it has a small file size limit that Dataview hits too easily. Regardless, looks like I need to swap to IndexedDB and to use an actual plain file for the index cache.

You can try the command Dataview: Force Drop Cache to see if it does anything; re-installing Obsidian is unlikely to do anything.

filmgal commented 2 years ago

I'll keep trying to figure out when it happens and when it doesn't. Maybe it just happens when I got from one large (5,000 files with lots of links and dataview) file to another (10,000 files). I'm pretty sure I saw a similar error once that wasn't dataview related but was in the app.js part if Inspector. NOt sure what to look for but I'll keep notes.

filmgal commented 2 years ago

It's as I suspected, but can't quite 'prove' or figure out, but if I open a 2nd vault from within an existing open vault using Obsidian's "Open another Vault", I get issues. Either I get "Loading Cache" that never stops, in which case I have to kill it" (there are no errors or anything in the Dev Console at that time, although it does say that "Dataview: version 0.5.41 (requires obsidian 0.13.11)".

BUT, all day yesterday I only opened vaults using desktop Icons I created for each one, and I had zero issues all day. The day before I only opened vaults from within Obsidian and had trouble all day long.

Not sure what that means.

filmgal commented 2 years ago

Latest update on this issue: It isn't happening anymore. My guess? I had a notice of a Windows Update. After I went ahead with the update, the problem has gone away. I don't know if it can be relevant, but I do know that whenever there is such an update warning, something (or multiple things) always go wonky on my system until I install the update. Always. Don't know why.

blacksmithgu commented 2 years ago

That's quite... interesting. I think it is still probably worth swapping to another cache (or even allow disabling the cache for people having problems).

Azzc0 commented 1 year ago

Had a very similar case on linux. Same unexpected caching and similar errors from console. Launching the application from commandline revealed some IO errors pointing to indexddb files outside vault folders (~/.config files on linux. Guess it's %APPDATA% on windows).

[683183:1212/183745.560596:ERROR:leveldb_factory.cc(88)] Failed to open LevelDB database from /home/azzco/.config/obsidian/IndexedDB/app_obsidian.md_0.indexeddb.leveldb,IO error: /home/azzco/.config/obsidian/IndexedDB/app_obsidian.md_0.indexeddb.leveldb/LOCK: File currently in use. (ChromeMethodBFE: 15::LockFile::2)

Removing said files resolved the issue for me. Not sure if this information is completely relevant but hopefully it might help someone. As a side note my main vault is synced with rclone over cloud storage for access from multiple computers.

filmgal commented 1 year ago

Edit: Well well... the old "your device needs to restart to install the latest update" just showed up, 1 day after writing this. Moral of the story: when things go wonky, wait 3-4 days for the Windows update to show up before saying anything.


Hmm. Interesting. I'm keeping an eye out... because in the last 2-3 days I've been getting an awful lot of "indexing your vault" again, and not just indexing 3 files, but the entire vault (15-20 minutes). Don't think I have a Windows Update to blame this time. I know that I have an issue of opening a 2nd vault and sometimes it stays stuck in "caching" mode forever, so I kill it, and then when I re-open it re-indexes the entire vault. This has happened about 5 times in the last 3 days. But I haven't spent much time trying to repro (busy with other stuff). I'll try to take a day off to try to figure it out before Christmas.