Bug 2266184 - camel-lock-helper using 100% cpu
Summary: camel-lock-helper using 100% cpu
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Fedora
Classification: Fedora
Component: evolution-data-server
Version: 40
Hardware: x86_64
OS: Linux
unspecified
urgent
Target Milestone: ---
Assignee: Milan Crha
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-02-26 21:56 UTC by David Hampton
Modified: 2024-02-27 07:47 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2024-02-27 07:47:44 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
GNOME Gitlab GNOME evolution-data-server issues 528 0 None opened Camel: Fix possible busy loop in camel-lock-helper 2024-02-27 07:47:43 UTC

Description David Hampton 2024-02-26 21:56:43 UTC
(gdb) thread apply all where

Thread 1 (Thread 0x7f9bac9a9800 (LWP 278437) "camel-lock-help"):
#0  main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/evolution-data-server-3.51.2-1.fc40.x86_64/src/camel/camel-lock-helper.c:394
(gdb) 

Line 394 is the while statement in this C code.

	d (fprintf (stderr, "parent exited, clsoing down remaining id's\n"));
	while (lock_info_list)
		unlock_id (lock_info_list->id);


Reproducible: Always

Steps to Reproduce:
I wish I had better steps:

1. Start evolution and leave it running 
2. Walk away
3. Come back some time later

Actual Results:  
camel-load-helper process is using 100% cpu.

Expected Results:  
camel-load-helper process should exit

$ rpm -qf /usr/libexec/camel-lock-helper-1.2
evolution-data-server-3.51.2-1.fc40.x86_64

(gdb) i r
rax            0x1                 1
rbx            0x0                 0
rcx            0x7f9bacca3cd1      140306595593425
rdx            0x10                16
rsi            0x7ffd20ff8010      140725157068816
rdi            0x0                 0
rbp            0x7ffd20ff8170      0x7ffd20ff8170
rsp            0x7ffd20ff7fe0      0x7ffd20ff7fe0
r8             0x7ffd20ff7f80      140725157068672
r9             0x0                 0
r10            0x0                 0
r11            0x246               582
r12            0x7ffd20ff8010      140725157068816
r13            0x10                16
r14            0x7ffd20ff8020      140725157068832
r15            0x0                 0
rip            0x564f6c1e85e0      0x564f6c1e85e0 <main+432>
eflags         0x246               [ PF ZF IF ]
cs             0x33                51
ss             0x2b                43
ds             0x0                 0
es             0x0                 0
fs             0x0                 0
gs             0x0                 0
fs_base        0x7f9bac9a9800      140306592471040
gs_base        0x0                 0

Comment 1 Milan Crha 2024-02-27 07:47:44 UTC
Thanks for a bug report. I recalled I noticed this possibility upstream at [1]. I forgot of it afterwards, unfortunately. I opened [2] to track it upstream. Please see it for any further updates

[1] https://gitlab.gnome.org/GNOME/evolution-data-server/-/merge_requests/149#note_1966246
[2] https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/528


Note You need to log in before you can comment on or make changes to this bug.