Bug 504356

Summary: Adding any path to "Configure Elisa" > "Add New Location" causes "Qt Quick Layouts: Polish loop detected. Aborting after two iterations."
Product: [Applications] Elisa Reporter: Roke Julian Lockhart Beedell <4wy78uwh>
Component: generalAssignee: Matthieu Gallien <matthieu_gallien>
Status: REPORTED ---    
Severity: normal    
Priority: NOR    
Version First Reported In: 22.04.1   
Target Milestone: ---   
Platform: Other   
OS: Microsoft Windows   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: (Probably Useless) Dump Files For ntdll!NtWaitForWorkViaWorkerFactory+0x14 and win32u!NtUserMsgWaitForMultipleObjectsEx+0x14

Description Roke Julian Lockhart Beedell 2025-05-16 20:10:27 UTC
Created attachment 181396 [details]
(Probably Useless) Dump Files For ntdll!NtWaitForWorkViaWorkerFactory+0x14 and win32u!NtUserMsgWaitForMultipleObjectsEx+0x14

SUMMARY

When I add any path to Elisa "Configure Elisa" > "Add New Location", it crashes due to a QML loop.

STEPS TO REPRODUCE

1. "Menu"
2. "Configure Elisa"
3. "Add New Location"
4. In the System.Windows.Forms.FolderBrowserDialog GUI, I selected "\\wsl.localhost\fedoraremix", which caused it. Then, to ensure it wasn't WSL-specific, selected "C:\Users\rokej\OneDrive", which also did.

OBSERVED RESULT

It indefinitely hangs. In WinDbg, I see the undermentioned repeat hundreds of thousands of times:

> Qt Quick Layouts: Polish loop detected. Aborting after two iterations.

Occasionally, it's interspersed with:

> qrc:/qml/ElisaConfigurationDialog.qml:38:9: QML SettingsForm: possible QQuickItem::polish() loop
> qrc:/qml/ElisaConfigurationDialog.qml:38:9: QML SettingsForm: SettingsForm called polish() inside updatePolish() of SettingsForm
> Qt Quick Layouts: Polish loop detected. Aborting after two iterations.

I tried to capture a usable trace, but I doubt I did. Most of the time, I saw:

> (5ccc.66d8): Break instruction exception - code 80000003 (first chance)
> ntdll!DbgBreakPoint:
> 00007fff`29a03110 cc              int     3
> 0:032> k
>  # Child-SP          RetAddr               Call Site
> 00 000000a1`f39ffdd8 00007fff`29a151ce     ntdll!DbgBreakPoint
> 01 000000a1`f39ffde0 00007fff`28e4e8d7     ntdll!DbgUiRemoteBreakin+0x4e
> 02 000000a1`f39ffe10 00007fff`299bfbcc     KERNEL32!BaseThreadInitThunk+0x17
> 03 000000a1`f39ffe40 00000000`00000000     ntdll!RtlUserThreadStart+0x2c

However, once, I saw:

> (6680.6fec): Break instruction exception - code 80000003 (first chance)
> ntdll!LdrpDoDebuggerBreak+0x35:
> 00007fff`29a013f9 cc              int     3
> 0:000> k
>  # Child-SP          RetAddr               Call Site
> 00 000000d1`cbb4f130 00007fff`2998db4f     ntdll!LdrpDoDebuggerBreak+0x35
> 01 000000d1`cbb4f170 00007fff`2998bdc0     ntdll!LdrpInitializeProcess+0x1a93
> 02 000000d1`cbb4f550 00007fff`299feadb     ntdll!LdrpInitialize+0x16c
> 03 000000d1`cbb4f5d0 00007fff`299d233e     ntdll!LdrpInitializeInternal+0xd7
> 04 000000d1`cbb4f620 00000000`00000000     ntdll!LdrInitializeThunk+0xe

The most potentially useful one thus far was:

> ntdll!NtWaitForWorkViaWorkerFactory+0x14:
> 00007fff`29a43364 c3              ret
> 0:053> k
>  # Child-SP          RetAddr               Call Site
> 00 0000000c`dd5ff418 00007fff`29931d7e     ntdll!NtWaitForWorkViaWorkerFactory+0x14
> 01 0000000c`dd5ff420 00007fff`28e4e8d7     ntdll!TppWorkerThread+0x37e
> 02 0000000c`dd5ff780 00007fff`299bfbcc     KERNEL32!BaseThreadInitThunk+0x17
> 03 0000000c`dd5ff7b0 00000000`00000000     ntdll!RtlUserThreadStart+0x2c

> win32u!NtUserMsgWaitForMultipleObjectsEx+0x14:
> 00007fff`26d7acb4 c3              ret
> 0:055> k
>  # Child-SP          RetAddr               Call Site
> 00 000000e2`a9effc28 00007fff`27f866c6     win32u!NtUserMsgWaitForMultipleObjectsEx+0x14
> 01 000000e2`a9effc30 00007fff`27f85ade     shcore!WorkThreadManager::CThread::WaitForWork+0x7a
> 02 000000e2`a9effcb0 00007fff`27f84e97     shcore!WorkThreadManager::CThread::ThreadProc+0xda
> 03 000000e2`a9effd50 00007fff`28e4e8d7     shcore!<lambda_9844335fc14345151eefcc3593dd6895>::<lambda_invoker_cdecl>+0x17
> 04 000000e2`a9effd80 00007fff`299bfbcc     KERNEL32!BaseThreadInitThunk+0x17
> 05 000000e2`a9effdb0 00000000`00000000     ntdll!RtlUserThreadStart+0x2c

SOFTWARE/OS VERSIONS

> OsName: Microsoft Windows 11 Pro
> OsOperatingSystemSKU: 48
> OsVersion: 10.0.26120
> OsBuildNumber: 26120

ADDITIONAL INFORMATION

The first time I did it, I saw an entirely different problem. A crash:

> Description
> Faulting Application Path: C:\Program Files\WindowsApps\KDEe.V.Elisa_22.401.1150.0_x64__7vt06qxq7ptv8\bin\elisa.exe
> Creation Time: 2025-05-16 19:54:12
> Problem: Stopped responding and was closed
> Status: Report sent
> 
> Problem signature
> Problem Event Name:           MoAppHangXProc
> Package Full Name:            KDEe.V.Elisa_22.401.1150.0_x64__7vt06qxq7ptv8
> Application Name:             praid:KDEe.V.Elisa
> Application Version:          0.0.0.0
> Application Timestamp:        6294b491
> Hang Signature:               5bbe
> Hang Type:                    134217760
> Waiting on Package Full Name: FilesPreview_3.9.9.0_x64__1y0xx7n9077q4
> Waiting on Application Name:  praid:App
> Waiting on Application Version: 1.0.0.0
> 
> Extra information about the problem
> Bucket ID: 85cbdc41c763c8451d087892b09a7c9b (2092054598337068187)

I don't think it's related, but IDK.