![]() |
#31 | |
null operator (he/him)
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 21,681
Karma: 29711016
Join Date: Mar 2012
Location: Sydney Australia
Device: none
|
Quote:
Sigil's the same, even though I relocate it's Preferences from C:\Users\<??????>\AppData\Local via its EnvVar directive, I still get a sigil-ebook folder in C:\Users\<??????>\AppData\Roaming. FTR: I have no problems running multiple instances of Sigil 2.4.2… including via calibre's built-in Open with. BR |
|
![]() |
![]() |
![]() |
#32 |
Grand Sorcerer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 28,519
Karma: 204127028
Join Date: Jan 2010
Device: Nexus 7, Kindle Fire HD
|
@KevinH: I may have led you astray a bit. I did a full rebuild (without the latest off-the-record change) and I'm no longer getting the "deadline expired" message. It's still not deleting the empty 'Preview- +uuid' folders from C:/Users/<USER>/AppData/Roaming/sigil-ebook/sigil/QtWebEngine after Sigil closes, but the infinite loop does NOT seem to be happening with your previous change.
Sorry for any potential confusion. Should I still try the new off-the-record approach or do you want to revert and do more testing? I think the new QWebEngineProfileBuilder class in 6.9 is intended to fix this exact sort of issue: https://codereview.qt-project.org/c/...ngine/+/597808 Last edited by DiapDealer; 04-26-2025 at 07:38 PM. |
![]() |
![]() |
Advert | |
|
![]() |
#33 |
Grand Sorcerer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 28,519
Karma: 204127028
Join Date: Jan 2010
Device: Nexus 7, Kindle Fire HD
|
|
![]() |
![]() |
![]() |
#34 |
Sigil Developer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 8,651
Karma: 5703586
Join Date: Nov 2009
Device: many
|
Please try the off the record approach. If that works we at least have a safety net.
We can then revert and try to track down exactly where the damn cache files are going on Windows so that they are properly cleared. According to latest qtbase code it should go here: extracted from qtbase source in github from src/corelib/io/qstandardpaths_win.cpp Code:
QString QStandardPaths::writableLocation(StandardLocation type) { QString result; switch (type) { case CacheLocation: // Although Microsoft has a Cache key it is a pointer to IE's cache, not a cache // location for everyone. Most applications seem to be using a // cache directory located in their AppData directory result = sHGetKnownFolderPath(writableSpecialFolderId(AppLocalDataLocation)); if (!result.isEmpty()) { appendTestMode(result); appendOrganizationAndApp(result); result += "/cache"_L1; } break; Does this folder even exist? C:\Users\<??????>\AppData\Roaming\sigil-ebook\sigil\cache\ Last edited by KevinH; 04-26-2025 at 07:45 PM. |
![]() |
![]() |
![]() |
#35 | |
Grand Sorcerer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 28,519
Karma: 204127028
Join Date: Jan 2010
Device: Nexus 7, Kindle Fire HD
|
Quote:
In roaming, things are being written to C:\Users\<??????>\AppData\Roaming\sigil-ebook\sigil\QtWebEngine\ For the record: the 'cache' folder has been present in Sigil's regular prefs directory (C:\Users\<??????>\AppData\Local\sigil-ebook\sigil\) when we've been testing different strategies. But before your latest commit. It did not exist. I'll try the latest commit (off-the record cache) and get back to you. |
|
![]() |
![]() |
Advert | |
|
![]() |
#36 |
Grand Sorcerer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 28,519
Karma: 204127028
Join Date: Jan 2010
Device: Nexus 7, Kindle Fire HD
|
OK. That last commit seems to be working. Multiple instances can be launched with no 'deadline expired' messages logged. The only thing (re)created in C:/Users/<USER>/AppData/Roaming is an empty 'sigil-ebook/sigil' folder
Preview-Cache is still being created in Sigil's prefs location (C:/Users/<USER>/AppData/Local/sigil-ebook/sigil), but I see from master that it's still being created if it doesn't exist. Nothing is being written to it. No 'cache' folder and no 'QtWebEngine' folder has been (re)created. |
![]() |
![]() |
![]() |
#37 |
Sigil Developer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 8,651
Karma: 5703586
Join Date: Nov 2009
Device: many
|
Okay. So with some cleanups, we have a fallback safety net with off-the-record.
I have now hopefully pushed to master a fixed version of the previous attempt (named storage with unique names) and then we can decide which one to use later. If you have time, please give it a try and let me know if this one works. Otherwise I will study the code and try to figure out something else tomorrow. Thanks! Last edited by KevinH; 04-26-2025 at 09:18 PM. |
![]() |
![]() |
![]() |
#38 |
Grand Sorcerer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 28,519
Karma: 204127028
Join Date: Jan 2010
Device: Nexus 7, Kindle Fire HD
|
I think we might be closer. There are no infinite loops and multiple instances work.
The named storage is created in Sigils prefs directory (under the 'cache' folder) and they are cleaned up properly after Sigil exits. The only problem is that the named storage is being duplicated in a C:\Users\<??????>\AppData\Roaming\sigil-ebook\sigil\QtWebEngine (not the proper Sigil prefs location) and they are NOT being cleaned up after Sigil exits. They are being orphaned. There's never any content in the orphaned folders. Even when Sigil is still open. It's like they're being created there before the code that properly creates the caches in Sigil's prefs directory takes effect or something. Very weird. I think it might be the very act of trying to change these default locations that's introducing these anomalies on Windows. We'll have to revisit tomorrow sometime. EDIT: Sorry, I forgot to attach the debug output. It's reporting the correct paths (not the stuff in Roaming) by the way. Last edited by DiapDealer; 04-26-2025 at 10:05 PM. |
![]() |
![]() |
![]() |
#39 |
Sigil Developer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 8,651
Karma: 5703586
Join Date: Nov 2009
Device: many
|
Wow, I stopped trying to set it and instead just let it create itself. Then I ask the profile what cachePath it will be using and it reports the local app data instead of the roaming one, and it adds the "cache" as well. This only happens with Windows. It reports correctly on Linux and MacOS.
But we know this is not correct at all. So QtWebEngine for windows is saying its cache is one place but it is actually in another! I will have to either hard code in the roaming bit or try to find where that path is being created somehow. This is a mess. Tomorrow, I will try to track down where this is being set in the Windows code in QtWebEngine. Last edited by KevinH; 04-26-2025 at 10:50 PM. |
![]() |
![]() |
![]() |
#40 | |
Grand Sorcerer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 28,519
Karma: 204127028
Join Date: Jan 2010
Device: Nexus 7, Kindle Fire HD
|
Quote:
|
|
![]() |
![]() |
![]() |
#41 |
Bibliophagist
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 45,620
Karma: 168959522
Join Date: Jul 2010
Location: Vancouver
Device: Kobo Sage, Libra Colour, Lenovo M8 FHD, Paperwhite 4, Tolino epos
|
For what it may be worth, I am still seeing the Debug: View Preview Cache Clear failed - deadline expired on the code I downloaded from GitHub this evening.
|
![]() |
![]() |
![]() |
#42 |
Grand Sorcerer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 28,519
Karma: 204127028
Join Date: Jan 2010
Device: Nexus 7, Kindle Fire HD
|
Are you doing a full rebuild, or are you using an existing build directory and doing a partial build with just the changed files? I was still seeing the deadline expired messages until I deleted everything in my build directory, did a new cmake configure and a full rebuild.
|
![]() |
![]() |
![]() |
#43 |
Bibliophagist
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 45,620
Karma: 168959522
Join Date: Jul 2010
Location: Vancouver
Device: Kobo Sage, Libra Colour, Lenovo M8 FHD, Paperwhite 4, Tolino epos
|
I delete the contents of my sigil-src directory and then unzip the sigil-master directory in the downloaded .zip file into that directory. Run cmake/nmake/nmake makeinstaller and install the output file.
I also deleted the contents of the Program Files\Sigil directory and re-installed and still no joy. |
![]() |
![]() |
![]() |
#44 |
Grand Sorcerer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 28,519
Karma: 204127028
Join Date: Jan 2010
Device: Nexus 7, Kindle Fire HD
|
Well shoot. That indicates there might be a race condition that one of us is losing/winning.
|
![]() |
![]() |
![]() |
#45 | |
Sigil Developer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 8,651
Karma: 5703586
Join Date: Nov 2009
Device: many
|
Quote:
|
|
![]() |
![]() |
![]() |
Thread Tools | Search this Thread |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Multiple content-server instances possible ? | Tuxracer | Server | 15 | 05-28-2022 02:09 PM |
Running 2 instances in order to merge/combine two very different libraries? | manawydan | Library Management | 1 | 12-28-2020 06:41 PM |
Way to open multiple instances of calibre? | charlweed | Server | 1 | 12-28-2018 09:24 PM |
Two instances of calibre running | BetterRed | Calibre | 2 | 06-19-2017 04:18 AM |
Two or multiple instances of Calibre on one computer | clockmaker | Library Management | 2 | 06-30-2012 01:55 PM |