Skip to content

Client freezes in infinite loop trying to read .sync-exclude.lst before marking itself as available to Windows #10308

Description

@Xaymar

⚠️ Before submitting, please verify the following: ⚠️

Bug description

At some point in the past a Nextcloud version seems to have uploaded .sync-exclude.lst unexpectedly. This causes the Windows client to infinitely retry trying to load information from it instead of giving up after the first attempt and continuing as if nothing was wrong. The API Monitor output below shows the behavior, sadly I lack the pdb files to track each call down to its actual code line.

Steps to reproduce

  1. Install Nextcloud Desktop on Windows
  2. Attempt to synchronize
  3. Random chance to be stuck, seems higher if .sync-exclude.lst was ever modified on the server.

Expected behavior

Nextcloud should not enter an infinite loop trying to load the file and continue as if it didn't exist.

Which files are affected by this bug

.sync-exclude.lst

Operating system

Windows

Which version of the operating system you are running.

Windows 11

Installation method

Official Windows MSI

Nextcloud Server version

34.0.1

Nextcloud Desktop Client version

33.0.7

Did this occur after an update or on a clean installation?

Major version update (i.e. 4.0.0 → 33.0.0)

Are you using the Nextcloud Server Encryption module?

No

Are you using an external user-backend?

  • Default internal user-backend
  • LDAP or Active Directory
  • SSO - SAML
  • Other

Nextcloud Server logs

Additional info

Output of API Monitor
#	Time of Day	Thread	Module	API	Return Value	Error	Duration
169543	4:52:57.283 PM	1	Qt6Core.dll	GetFullPathNameW ( "C:\Users\Xaymar\Nextcloud\.sync_d15739995b5c.db", 260, 0x0000003b78bf94f8, 0x0000003b78bf9488 )	47		0.0000015
169544	4:52:57.283 PM	1	Qt6Core.dll	GetFileAttributesExW ( "\\?\C:\Users\Xaymar\Nextcloud\.sync_d15739995b5c.db", GetFileExInfoStandard, 0x0000003b78bf9a90 )	TRUE		0.0001112
169545	4:52:57.283 PM	1	Qt6Core.dll	GetFullPathNameW ( "C:\Users\Xaymar\Nextcloud\.sync_d15739995b5c.db", 260, 0x0000003b78bf93d8, 0x0000003b78bf9368 )	47		0.0000008
169546	4:52:57.284 PM	1	Qt6Core.dll	GetFileAttributesExW ( "\\?\C:\Users\Xaymar\Nextcloud\.sync_d15739995b5c.db", GetFileExInfoStandard, 0x0000003b78bf9970 )	TRUE		0.0000214
169547	4:52:57.284 PM	1	libsqlite.dll	LockFileEx ( 0x0000000000000874, LOCKFILE_FAIL_IMMEDIATELY, 0, 1, 0, 0x0000003b78bfa730 )	TRUE		0.0000034
169548	4:52:57.284 PM	1	libsqlite.dll	UnlockFileEx ( 0x0000000000000874, 0, 1, 0, 0x0000003b78bfa790 )	TRUE		0.0000017
169549	4:52:57.284 PM	1	KERNELBASE.dll	wcscpy_s ( 0x00007ffd99589cc4, 32, "W. Europe Standard Time" )	0		0.0000001
169550	4:52:57.284 PM	1	KERNELBASE.dll	wcscpy_s ( 0x00007ffd99589d18, 32, "W. Europe Summer Time" )	0		0.0000000
169551	4:52:57.284 PM	1	Qt6Core.dll	GetFullPathNameW ( "C:\Users\Xaymar\Nextcloud\.sync_d15739995b5c.db", 260, 0x0000003b78bf9318, 0x0000003b78bf92a8 )	47		0.0000004
169552	4:52:57.284 PM	1	Qt6Core.dll	GetFileAttributesExW ( "\\?\C:\Users\Xaymar\Nextcloud\.sync_d15739995b5c.db", GetFileExInfoStandard, 0x0000003b78bf98b0 )	TRUE		0.0000214
169553	4:52:57.284 PM	1	libsqlite.dll	LockFileEx ( 0x0000000000000874, LOCKFILE_FAIL_IMMEDIATELY, 0, 1, 0, 0x0000003b78bfa670 )	TRUE		0.0000015
169554	4:52:57.284 PM	1	libsqlite.dll	UnlockFileEx ( 0x0000000000000874, 0, 1, 0, 0x0000003b78bfa6d0 )	TRUE		0.0000010
169555	4:52:57.284 PM	1	KERNELBASE.dll	wcscpy_s ( 0x00007ffd99589cc4, 32, "W. Europe Standard Time" )	0		0.0000001
169556	4:52:57.284 PM	1	KERNELBASE.dll	wcscpy_s ( 0x00007ffd99589d18, 32, "W. Europe Summer Time" )	0		0.0000000
169557	4:52:57.284 PM	1	KERNELBASE.dll	wcscpy_s ( 0x00007ffd99589cc4, 32, "W. Europe Standard Time" )	0		0.0000000
169558	4:52:57.284 PM	1	KERNELBASE.dll	wcscpy_s ( 0x00007ffd99589d18, 32, "W. Europe Summer Time" )	0		0.0000000
169559	4:52:57.284 PM	1	Qt6Core.dll	GetFullPathNameW ( "C:\Users\Xaymar\Nextcloud\.sync-exclude.lst", 260, 0x0000003b78bfa488, 0x0000003b78bfa418 )	43		0.0000003
169560	4:52:57.284 PM	1	Qt6Core.dll	GetFileAttributesExW ( "\\?\C:\Users\Xaymar\Nextcloud\.sync-exclude.lst", GetFileExInfoStandard, 0x0000003b78bfaa20 )	TRUE		0.0000374
169561	4:52:57.284 PM	1	Qt6Core.dll	GetFullPathNameW ( "C:\Users\Xaymar\AppData\Roaming\Nextcloud\sync-exclude.lst", 260, 0x0000003b78bfa448, 0x0000003b78bfa3d8 )	58		0.0000003
169562	4:52:57.284 PM	1	Qt6Core.dll	GetFileAttributesExW ( "\\?\C:\Users\Xaymar\AppData\Roaming\Nextcloud\sync-exclude.lst", GetFileExInfoStandard, 0x0000003b78bfa9e0 )	TRUE		0.0000202
169563	4:52:57.284 PM	1	Qt6Core.dll	CreateFileW ( "\\?\C:\Users\Xaymar\AppData\Roaming\Nextcloud\sync-exclude.lst", GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL )	0x0000000000001228		0.0000120
169564	4:52:57.285 PM	1	Qt6Core.dll	GetFileType ( 0x0000000000001228 )	FILE_TYPE_DISK		0.0000006
169565	4:52:57.285 PM	1	Qt6Core.dll	GetFileInformationByHandle ( 0x0000000000001228, 0x0000003b78bfabd0 )	TRUE		0.0000077
169566	4:52:57.285 PM	1	Qt6Core.dll	ReadFile ( 0x0000000000001228, 0x00000171611f49f0, 16384, 0x0000003b78bfaad0, NULL )	TRUE		0.0000077
169567	4:52:57.285 PM	1	Qt6Core.dll	ReadFile ( 0x0000000000001228, 0x00000171611f4c4f, 15777, 0x0000003b78bfaad0, NULL )	TRUE		0.0000023
169568	4:52:57.285 PM	1	Qt6Core.dll	GetFileInformationByHandle ( 0x0000000000001228, 0x0000003b78bfabd0 )	TRUE		0.0000039
169569	4:52:57.285 PM	1	Qt6Core.dll	GetFullPathNameW ( "C:\Users\Xaymar\Nextcloud\.sync-exclude.lst", 260, 0x0000003b78bfa448, 0x0000003b78bfa3d8 )	43		0.0000008
169570	4:52:57.285 PM	1	Qt6Core.dll	GetFileAttributesExW ( "\\?\C:\Users\Xaymar\Nextcloud\.sync-exclude.lst", GetFileExInfoStandard, 0x0000003b78bfa9e0 )	TRUE		0.0000571
169571	4:52:57.285 PM	1	Qt6Core.dll	FindFirstFileW ( "\\?\C:\Users\Xaymar\Nextcloud\.sync-exclude.lst", 0x0000003b78bfac30 )	0x0000017161034020		0.0000365
169572	4:52:57.285 PM	1	Qt6Core.dll	FindClose ( 0x0000017161034020 )	TRUE		0.0000079
169573	4:52:57.285 PM	1	Qt6Core.dll	CreateFileW ( "\\?\C:\Users\Xaymar\Nextcloud\.sync-exclude.lst", GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL )	0x0000000000001228		0.0000159
169574	4:52:57.285 PM	1	Qt6Core.dll	GetFileType ( 0x0000000000001228 )	FILE_TYPE_DISK		0.0000005
169575	4:52:57.285 PM	1	Qt6Core.dll	GetFileInformationByHandle ( 0x0000000000001228, 0x0000003b78bfabd0 )	TRUE		0.0000063
169576	4:52:57.285 PM	1	Qt6Core.dll	ReadFile ( 0x0000000000001228, 0x00000171611f49f0, 16384, 0x0000003b78bfaad0, NULL )	FALSE	395 = Access to the cloud file is denied. 	0.0000111
169577	4:52:57.285 PM	1	KERNELBASE.dll	wcslen ( "Access to the cloud file is denied.
" )	37		0.0000001
169578	4:52:57.285 PM	1	Qt6Core.dll	GetFileInformationByHandle ( 0x0000000000001228, 0x0000003b78bfabd0 )	TRUE		0.0000041
169579	4:52:57.285 PM	1	Qt6Core.dll	ReadFile ( 0x0000000000001228, 0x00000171611f49f0, 16384, 0x0000003b78bfaad0, NULL )	FALSE	395 = Access to the cloud file is denied. 	0.0000040
169580	4:52:57.285 PM	1	KERNELBASE.dll	wcslen ( "Access to the cloud file is denied.
" )	37		0.0000000
169581	4:52:57.286 PM	1	Qt6Core.dll	GetFileInformationByHandle ( 0x0000000000001228, 0x0000003b78bfabd0 )	TRUE		0.0000035
169582	4:52:57.286 PM	1	Qt6Core.dll	ReadFile ( 0x0000000000001228, 0x00000171611f49f0, 16384, 0x0000003b78bfaad0, NULL )	FALSE	395 = Access to the cloud file is denied. 	0.0000031
169583	4:52:57.286 PM	1	KERNELBASE.dll	wcslen ( "Access to the cloud file is denied.
" )	37		0.0000000
169584	4:52:57.286 PM	1	Qt6Core.dll	GetFileInformationByHandle ( 0x0000000000001228, 0x0000003b78bfabd0 )	TRUE		0.0000035
169585	4:52:57.286 PM	1	Qt6Core.dll	ReadFile ( 0x0000000000001228, 0x00000171611f49f0, 16384, 0x0000003b78bfaad0, NULL )	FALSE	395 = Access to the cloud file is denied. 	0.0000030
169586	4:52:57.286 PM	1	KERNELBASE.dll	wcslen ( "Access to the cloud file is denied.
" )	37		0.0000000
169587	4:52:57.286 PM	1	Qt6Core.dll	GetFileInformationByHandle ( 0x0000000000001228, 0x0000003b78bfabd0 )	TRUE		0.0000034
169588	4:52:57.286 PM	1	Qt6Core.dll	ReadFile ( 0x0000000000001228, 0x00000171611f49f0, 16384, 0x0000003b78bfaad0, NULL )	FALSE	395 = Access to the cloud file is denied. 	0.0000031
169589	4:52:57.286 PM	1	KERNELBASE.dll	wcslen ( "Access to the cloud file is denied.
" )	37		0.0000000
169590	4:52:57.286 PM	1	Qt6Core.dll	GetFileInformationByHandle ( 0x0000000000001228, 0x0000003b78bfabd0 )	TRUE		0.0000034
169591	4:52:57.286 PM	1	Qt6Core.dll	ReadFile ( 0x0000000000001228, 0x00000171611f49f0, 16384, 0x0000003b78bfaad0, NULL )	FALSE	395 = Access to the cloud file is denied. 	0.0000029
169592	4:52:57.286 PM	1	KERNELBASE.dll	wcslen ( "Access to the cloud file is denied.
" )	37		0.0000000
169593	4:52:57.286 PM	1	Qt6Core.dll	GetFileInformationByHandle ( 0x0000000000001228, 0x0000003b78bfabd0 )	TRUE		0.0000034
169594	4:52:57.286 PM	1	Qt6Core.dll	ReadFile ( 0x0000000000001228, 0x00000171611f49f0, 16384, 0x0000003b78bfaad0, NULL )	FALSE	395 = Access to the cloud file is denied. 	0.0000029
169595	4:52:57.286 PM	1	KERNELBASE.dll	wcslen ( "Access to the cloud file is denied.
" )	37		0.0000000
169596	4:52:57.286 PM	1	Qt6Core.dll	GetFileInformationByHandle ( 0x0000000000001228, 0x0000003b78bfabd0 )	TRUE		0.0000033
169597	4:52:57.286 PM	1	Qt6Core.dll	ReadFile ( 0x0000000000001228, 0x00000171611f49f0, 16384, 0x0000003b78bfaad0, NULL )	FALSE	395 = Access to the cloud file is denied. 	0.0000029
169598	4:52:57.286 PM	1	KERNELBASE.dll	wcslen ( "Access to the cloud file is denied.
" )	37		0.0000000
169599	4:52:57.286 PM	1	Qt6Core.dll	GetFileInformationByHandle ( 0x0000000000001228, 0x0000003b78bfabd0 )	TRUE		0.0000032
169600	4:52:57.286 PM	1	Qt6Core.dll	ReadFile ( 0x0000000000001228, 0x00000171611f49f0, 16384, 0x0000003b78bfaad0, NULL )	FALSE	395 = Access to the cloud file is denied. 	0.0000029
169601	4:52:57.286 PM	1	KERNELBASE.dll	wcslen ( "Access to the cloud file is denied.
" )	37		0.0000000
169602	4:52:57.286 PM	1	Qt6Core.dll	GetFileInformationByHandle ( 0x0000000000001228, 0x0000003b78bfabd0 )	TRUE		0.0000033
169603	4:52:57.286 PM	1	Qt6Core.dll	ReadFile ( 0x0000000000001228, 0x00000171611f49f0, 16384, 0x0000003b78bfaad0, NULL )	FALSE	395 = Access to the cloud file is denied. 	0.0000029
169604	4:52:57.286 PM	1	KERNELBASE.dll	wcslen ( "Access to the cloud file is denied.
" )	37		0.0000001
169605	4:52:57.286 PM	1	Qt6Core.dll	GetFileInformationByHandle ( 0x0000000000001228, 0x0000003b78bfabd0 )	TRUE		0.0000035
169606	4:52:57.286 PM	1	Qt6Core.dll	ReadFile ( 0x0000000000001228, 0x00000171611f49f0, 16384, 0x0000003b78bfaad0, NULL )	FALSE	395 = Access to the cloud file is denied. 	0.0000031
169607	4:52:57.286 PM	1	KERNELBASE.dll	wcslen ( "Access to the cloud file is denied.
" )	37		0.0000000
169608	4:52:57.286 PM	1	Qt6Core.dll	GetFileInformationByHandle ( 0x0000000000001228, 0x0000003b78bfabd0 )	TRUE		0.0000034
169609	4:52:57.286 PM	1	Qt6Core.dll	ReadFile ( 0x0000000000001228, 0x00000171611f49f0, 16384, 0x0000003b78bfaad0, NULL )	FALSE	395 = Access to the cloud file is denied. 	0.0000029
169610	4:52:57.286 PM	1	KERNELBASE.dll	wcslen ( "Access to the cloud file is denied.
" )	37		0.0000000
169611	4:52:57.286 PM	1	Qt6Core.dll	GetFileInformationByHandle ( 0x0000000000001228, 0x0000003b78bfabd0 )	TRUE		0.0000034
169612	4:52:57.286 PM	1	Qt6Core.dll	ReadFile ( 0x0000000000001228, 0x00000171611f49f0, 16384, 0x0000003b78bfaad0, NULL )	FALSE	395 = Access to the cloud file is denied. 	0.0000030
169613	4:52:57.287 PM	1	KERNELBASE.dll	wcslen ( "Access to the cloud file is denied.
" )	37		0.0000000
169614	4:52:57.287 PM	1	Qt6Core.dll	GetFileInformationByHandle ( 0x0000000000001228, 0x0000003b78bfabd0 )	TRUE		0.0000034
169615	4:52:57.287 PM	1	Qt6Core.dll	ReadFile ( 0x0000000000001228, 0x00000171611f49f0, 16384, 0x0000003b78bfaad0, NULL )	FALSE	395 = Access to the cloud file is denied. 	0.0000028
169616	4:52:57.287 PM	1	KERNELBASE.dll	wcslen ( "Access to the cloud file is denied.
" )	37		0.0000000
169617	4:52:57.287 PM	1	Qt6Core.dll	GetFileInformationByHandle ( 0x0000000000001228, 0x0000003b78bfabd0 )	TRUE		0.0000034
169618	4:52:57.287 PM	1	Qt6Core.dll	ReadFile ( 0x0000000000001228, 0x00000171611f49f0, 16384, 0x0000003b78bfaad0, NULL )	FALSE	395 = Access to the cloud file is denied. 	0.0000076
169619	4:52:57.287 PM	1	KERNELBASE.dll	wcslen ( "Access to the cloud file is denied.
" )	37		0.0000000
169620	4:52:57.287 PM	1	Qt6Core.dll	GetFileInformationByHandle ( 0x0000000000001228, 0x0000003b78bfabd0 )	TRUE		0.0000034
169621	4:52:57.287 PM	1	Qt6Core.dll	ReadFile ( 0x0000000000001228, 0x00000171611f49f0, 16384, 0x0000003b78bfaad0, NULL )	FALSE	395 = Access to the cloud file is denied. 	0.0000031
169622	4:52:57.287 PM	1	KERNELBASE.dll	wcslen ( "Access to the cloud file is denied.
" )	37		0.0000000
169623	4:52:57.287 PM	1	Qt6Core.dll	GetFileInformationByHandle ( 0x0000000000001228, 0x0000003b78bfabd0 )	TRUE		0.0000033
169624	4:52:57.287 PM	1	Qt6Core.dll	ReadFile ( 0x0000000000001228, 0x00000171611f49f0, 16384, 0x0000003b78bfaad0, NULL )	FALSE	395 = Access to the cloud file is denied. 	0.0000029
169625	4:52:57.287 PM	1	KERNELBASE.dll	wcslen ( "Access to the cloud file is denied.
" )	37		0.0000000
169626	4:52:57.287 PM	1	Qt6Core.dll	GetFileInformationByHandle ( 0x0000000000001228, 0x0000003b78bfabd0 )	TRUE		0.0000033
169627	4:52:57.287 PM	1	Qt6Core.dll	ReadFile ( 0x0000000000001228, 0x00000171611f49f0, 16384, 0x0000003b78bfaad0, NULL )	FALSE	395 = Access to the cloud file is denied. 	0.0000030
169628	4:52:57.287 PM	1	KERNELBASE.dll	wcslen ( "Access to the cloud file is denied.
" )	37		0.0000000
169629	4:52:57.287 PM	1	Qt6Core.dll	GetFileInformationByHandle ( 0x0000000000001228, 0x0000003b78bfabd0 )	TRUE		0.0000033

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions