https://bugs.kde.org/show_bug.cgi?id=528126
Bug ID: 528126
Summary: With full-text indexing enabled, akonadi_html_to_text
(from akonadi-search) aborts with SIGABRT while
converting certain HTML messages. The indexing agent
retries the same message indefinitely, producing a
crash loop: ~2 core dumps per second, ~1.4 MB eac
Classification: Frameworks and Libraries
Product: Akonadi
Version First 6.8.2
Reported In:
Platform: Fedora RPMs
OS: Linux
Status: REPORTED
Severity: crash
Priority: NOR
Component: general
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected]
Target Milestone: ---
Created attachment 197902
--> https://bugs.kde.org/attachment.cgi?id=197902&action=edit
dump
Steps to reproduce
1. Configure a Google/Gmail account in KMail (IMAP, XOAUTH2) and let Akonadi
sync mail.
2. Keep the Akonadi indexing agent online (full-text search indexing enabled).
3. Sync a mailbox containing marketing/newsletter HTML with absolutely
positioned, hidden tables, e.g.:
<body bgcolor="#ffffff" style="family:calibri; border-collapse: collapse;
margin: 0px auto;">
<table cellpadding="0" cellspacing="0"
style="border: 0px; padding: 0px; margin: 0px; position: absolute;
display: none; float: left">
...
<a href="https://...etb.com/proteccion_de_datos_personales/"
target="_blank">...</a>
Watch journalctl: akonadi_html_to_text aborts in a loop.
Actual behavior
akonadi_html_to_text gets SIGABRT. The crash is a double panic inside the Rust
HTML conversion (cxx bridge):
Code block
thread '<unnamed>' panicked at library/core/src/panicking.rs:233:5:
panic in a destructor during cleanup
#12 cxx::unwind::prevent_unwind<...htmlparser::ffi::__convert_to_text...>
#13 cxxbridge1$200$convert_to_text
#14 main
The indexing agent restarts the helper immediately, so this repeats several
times per second. Workaround in place: set the indexing agent offline
(setAgentInstanceOnline(akonadi_indexing_agent, false)) and LimitCORE=0.
Expected behavior
HTML parts are converted to plain text (or skipped) without aborting; a
malformed message must not crash the helper or loop.
Additional evidence
Same signature in 26.08.1 and 26.08.2 (only cxxbridge index 199 -> 200
changed).
Upstream commits between the two versions updated the Rust html2text crate to
0.17 and cxx to 1.0.205 (invent.kde.org/pim/akonadi-search, commits d0fbf40a
and eb3967a5), but the abort persists.
The panic happens in a destructor during unwinding, so the original panic
message is masked; core dump available.
Sample core: /var/lib/systemd/coredump/core.akonadi_html_to.1000.*.zst (~1.4 MB
each).
--
You are receiving this mail because:
You are watching all bug changes.