Bug 458188 - Failure to launch while using VPN
Summary: Failure to launch while using VPN
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: General (show other bugs)
Version: 5.1.0
Platform: Microsoft Windows Microsoft Windows
: NOR minor
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-08-23 00:49 UTC by izu-3
Modified: 2022-08-25 16:29 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Debug log - VPN was disabled at entry 50, wherein it proceeds normally (87.61 KB, image/png)
2022-08-23 00:49 UTC, izu-3
Details
Stacktrace of network share enumeration inside Qt (4.93 KB, text/plain)
2022-08-23 12:39 UTC, amyspark
Details

Note You need to log in before you can comment on or make changes to this bug.
Description izu-3 2022-08-23 00:49:50 UTC
Created attachment 151509 [details]
Debug log - VPN was disabled at entry 50, wherein it proceeds normally

SUMMARY
Using Krita 5.1, the software will fail to get past the very first initialization stop on the launcher for Resources if the user is on a VPN. This may be a specific Private Internet Access issue, or it may be a broader issue where Krita fails to start if the DNS resolution is nonstandard. Either way, it's a bug which prevents the software from starting entirely with a Failed to read DNSConfig error produced until the VPN is disabled.

STEPS TO REPRODUCE
1. Run a VPN which modifies DNS settings (PIA used)

OBSERVED RESULT
Krita's launcher will get perpetually stuck on the first initialization with debugging reporting Failed to read DnsConfig

EXPECTED RESULT
Presumably on failing to gain network access after a few retries, the program should abort trying and boot normally.

SOFTWARE/OS VERSIONS
Windows: 10

ADDITIONAL INFORMATION
PIA as tested uses 'WireGuard' VPN. This may be the culprit as an edge case, or it may be a wider issue with abnormal VPN/DNS configurations. As such I've listed it as 'minor'. It's easily resolvable by an end user by split tunnelling however it's a very strange issue which requires some effort to discover by the end user.
Comment 1 Tiar 2022-08-23 00:54:03 UTC
Is that a Windows Store or Steam package or just standard Krita downloaded from the website?
Comment 2 izu-3 2022-08-23 08:21:45 UTC
(In reply to Tiar from comment #1)
> Is that a Windows Store or Steam package or just standard Krita downloaded
> from the website?

Apologies, it's a standard download from the Krita website.
Comment 3 amyspark 2022-08-23 11:38:23 UTC
Can confirm indirectly, I've noticed since recently (probably one of Tiar's or Halla's MRs regarding resources) that the resource loader attempts to enumerate network resources when reading our data folder. I don't have the stack trace with me, but I recall it's actually a Qt problem.

This under Windows 10 21H2, master branch build.

Marking as confirmed, I will upload the stacktrace once I'm at my desktop.
Comment 4 amyspark 2022-08-23 12:39:37 UTC
Created attachment 151523 [details]
Stacktrace of network share enumeration inside Qt
Comment 5 Bug Janitor Service 2022-08-23 13:03:50 UTC
A possibly relevant merge request was started @ https://invent.kde.org/graphics/krita/-/merge_requests/1550
Comment 6 amyspark 2022-08-25 16:05:24 UTC
Git commit 99644fa7bee1f2ae1b6787a4b5c2ee79a7b528e2 by L. E. Segovia.
Committed on 25/08/2022 at 15:01.
Pushed by lsegovia into branch 'master'.

KoResourcePaths: fix regression when enumerating resource directories

Before commit 985ba60efb40f0cf46f50ab3803943d27c0dec55, all checks
for extra resource directories were made via QString::split with
SkipEmptyParts. This behaviour was removed, which means that if
EXTRA_RESOURCE_VARIABLES has an empty value, the resource loader will
try to hit an UNC network path for every non-empty folder.
Related: bug 457348

M  +6    -4    libs/resources/KoResourcePaths.cpp

https://invent.kde.org/graphics/krita/commit/99644fa7bee1f2ae1b6787a4b5c2ee79a7b528e2
Comment 7 amyspark 2022-08-25 16:29:29 UTC
Git commit f9eb1c6e8165063eba7293f91c728777439040b8 by L. E. Segovia.
Committed on 25/08/2022 at 16:29.
Pushed by lsegovia into branch 'krita/5.1'.

KoResourcePaths: fix regression when enumerating resource directories

Before commit 985ba60efb40f0cf46f50ab3803943d27c0dec55, all checks
for extra resource directories were made via QString::split with
SkipEmptyParts. This behaviour was removed, which means that if
EXTRA_RESOURCE_VARIABLES has an empty value, the resource loader will
try to hit an UNC network path for every non-empty folder.
Related: bug 457348
(cherry picked from commit 99644fa7bee1f2ae1b6787a4b5c2ee79a7b528e2)

M  +6    -4    libs/resources/KoResourcePaths.cpp

https://invent.kde.org/graphics/krita/commit/f9eb1c6e8165063eba7293f91c728777439040b8