#1104598 libakonadisearch-bin: akonadi_html_to_text is crashing a lot

#1104598#5
Date:
2025-05-02 18:14:52 UTC
From:
To:
Here's the output of "coredumpctl info" for the latest of about 8000 crashes of
this program.  It's crashing about every 10 seconds.

Any suggetions about other information I could provide on this?

           PID: 886635 (akonadi_html_to)
           UID: 1001 (etbe)
           GID: 1001 (etbe)
        Signal: 6 (ABRT)
     Timestamp: Sat 2025-05-03 04:12:59 AEST (4s ago)
  Command Line: /usr/bin/akonadi_html_to_text
    Executable: /usr/bin/akonadi_html_to_text
 Control Group: /user.slice/user-1001.slice/user@1001.service/app.slice/app-org.kde.kmail2@c962e1552486463492b732335284830a.service
          Unit: user@1001.service
     User Unit: app-org.kde.kmail2@c962e1552486463492b732335284830a.service
         Slice: user-1001.slice
     Owner UID: 1001 (etbe)
       Boot ID: 44159a8b3dd7456a8a219f99866a20b2
    Machine ID: f48085f441fe5321dbffda3c00000008
      Hostname: xev
       Storage: /var/lib/systemd/coredump/core.akonadi_html_to.1001.44159a8b3dd7456a8a219f99866a20b2.886635.1746209579000000.zst (present)
  Size on Disk: 7.3M
       Message: Process 886635 (akonadi_html_to) of user 1001 dumped core.

                Module libblkid.so.1 from deb util-linux-2.41-4.amd64
                Module libmount.so.1 from deb util-linux-2.41-4.amd64
                Module libsystemd.so.0 from deb systemd-257.5-2.amd64
                Module libgomp.so.1 from deb gcc-14-14.2.0-19.amd64
                Module libatomic.so.1 from deb gcc-14-14.2.0-19.amd64
                Module libzstd.so.1 from deb libzstd-1.5.7+dfsg-1.amd64
                Module libudev.so.1 from deb systemd-257.5-2.amd64
                Module libstdc++.so.6 from deb gcc-14-14.2.0-19.amd64
                Module libgcc_s.so.1 from deb gcc-14-14.2.0-19.amd64
                Stack trace of thread 886635:
                #0  0x00007ffa7407195c __pthread_kill_implementation (libc.so.6 + 0x9495c)
                #1  0x00007ffa7401ccc2 __GI_raise (libc.so.6 + 0x3fcc2)
                #2  0x00007ffa740054ac __GI_abort (libc.so.6 + 0x284ac)
                #3  0x00005560b406035a n/a (/usr/bin/akonadi_html_to_text + 0x5d35a)
                #4  0x00005560b409a7f1 n/a (/usr/bin/akonadi_html_to_text + 0x977f1)
                #5  0x00005560b406dc46 n/a (/usr/bin/akonadi_html_to_text + 0x6ac46)
                #6  0x00005560b406daa9 n/a (/usr/bin/akonadi_html_to_text + 0x6aaa9)
                #7  0x00005560b409a2cd n/a (/usr/bin/akonadi_html_to_text + 0x972cd)
                #8  0x00005560b4051ead n/a (/usr/bin/akonadi_html_to_text + 0x4eead)
                #9  0x00005560b4051f95 n/a (/usr/bin/akonadi_html_to_text + 0x4ef95)
                #10 0x00005560b405207a n/a (/usr/bin/akonadi_html_to_text + 0x4f07a)
                #11 0x00005560b405634f n/a (/usr/bin/akonadi_html_to_text + 0x5334f)
                #12 0x00005560b40546ce n/a (/usr/bin/akonadi_html_to_text + 0x516ce)
                #13 0x00005560b405431f n/a (/usr/bin/akonadi_html_to_text + 0x5131f)
                #14 0x00007ffa74006ca8 __libc_start_call_main (libc.so.6 + 0x29ca8)
                #15 0x00007ffa74006d65 __libc_start_main_impl (libc.so.6 + 0x29d65)
                #16 0x00005560b4054501 n/a (/usr/bin/akonadi_html_to_text + 0x51501)

                Stack trace of thread 886639:
                #0  0x00007ffa740779ee __syscall_cancel_arch (libc.so.6 + 0x9a9ee)
                #1  0x00007ffa7406c668 __internal_syscall_cancel (libc.so.6 + 0x8f668)
                #2  0x00007ffa7406cc9c __futex_abstimed_wait_common64 (libc.so.6 + 0x8fc9c)
                #3  0x00007ffa7406f158 __pthread_cond_wait_common (libc.so.6 + 0x92158)
                #4  0x00007ffa5d9af91d n/a (libgallium-25.0.3-1.so + 0x5af91d)
                #5  0x00007ffa5d97af6b n/a (libgallium-25.0.3-1.so + 0x57af6b)
                #6  0x00007ffa5d9af84b n/a (libgallium-25.0.3-1.so + 0x5af84b)
                #7  0x00007ffa7406fb7b start_thread (libc.so.6 + 0x92b7b)
                #8  0x00007ffa740ed7b8 __clone3 (libc.so.6 + 0x1107b8)

                Stack trace of thread 886641:
                #0  0x00007ffa740779ee __syscall_cancel_arch (libc.so.6 + 0x9a9ee)
                #1  0x00007ffa7406c668 __internal_syscall_cancel (libc.so.6 + 0x8f668)
                #2  0x00007ffa7406cc9c __futex_abstimed_wait_common64 (libc.so.6 + 0x8fc9c)
                #3  0x00007ffa7406f158 __pthread_cond_wait_common (libc.so.6 + 0x92158)
                #4  0x00007ffa5d9af91d n/a (libgallium-25.0.3-1.so + 0x5af91d)
                #5  0x00007ffa5d97af6b n/a (libgallium-25.0.3-1.so + 0x57af6b)
                #6  0x00007ffa5d9af84b n/a (libgallium-25.0.3-1.so + 0x5af84b)
                #7  0x00007ffa7406fb7b start_thread (libc.so.6 + 0x92b7b)
                #8  0x00007ffa740ed7b8 __clone3 (libc.so.6 + 0x1107b8)

                Stack trace of thread 886644:
                #0  0x00007ffa740779ee __syscall_cancel_arch (libc.so.6 + 0x9a9ee)
                #1  0x00007ffa7406c668 __internal_syscall_cancel (libc.so.6 + 0x8f668)
                #2  0x00007ffa7406cc9c __futex_abstimed_wait_common64 (libc.so.6 + 0x8fc9c)
                #3  0x00007ffa7406f158 __pthread_cond_wait_common (libc.so.6 + 0x92158)
                #4  0x00007ffa5d9af91d n/a (libgallium-25.0.3-1.so + 0x5af91d)
                #5  0x00007ffa5d97af6b n/a (libgallium-25.0.3-1.so + 0x57af6b)
                #6  0x00007ffa5d9af84b n/a (libgallium-25.0.3-1.so + 0x5af84b)
                #7  0x00007ffa7406fb7b start_thread (libc.so.6 + 0x92b7b)
                #8  0x00007ffa740ed7b8 __clone3 (libc.so.6 + 0x1107b8)

                Stack trace of thread 886642:
                #0  0x00007ffa740779ee __syscall_cancel_arch (libc.so.6 + 0x9a9ee)
                #1  0x00007ffa7406c668 __internal_syscall_cancel (libc.so.6 + 0x8f668)
                #2  0x00007ffa7406cc9c __futex_abstimed_wait_common64 (libc.so.6 + 0x8fc9c)
                #3  0x00007ffa7406f158 __pthread_cond_wait_common (libc.so.6 + 0x92158)
                #4  0x00007ffa5d9af91d n/a (libgallium-25.0.3-1.so + 0x5af91d)
                #5  0x00007ffa5d97af6b n/a (libgallium-25.0.3-1.so + 0x57af6b)
                #6  0x00007ffa5d9af84b n/a (libgallium-25.0.3-1.so + 0x5af84b)
                #7  0x00007ffa7406fb7b start_thread (libc.so.6 + 0x92b7b)
                #8  0x00007ffa740ed7b8 __clone3 (libc.so.6 + 0x1107b8)

                Stack trace of thread 886637:
                #0  0x00007ffa740779ee __syscall_cancel_arch (libc.so.6 + 0x9a9ee)
                #1  0x00007ffa7406c668 __internal_syscall_cancel (libc.so.6 + 0x8f668)
                #2  0x00007ffa7406cc9c __futex_abstimed_wait_common64 (libc.so.6 + 0x8fc9c)
                #3  0x00007ffa7406f158 __pthread_cond_wait_common (libc.so.6 + 0x92158)
                #4  0x00007ffa73cdf7fb _ZN14QWaitCondition4waitEP6QMutex14QDeadlineTimer (libQt6Core.so.6 + 0x2df7fb)
                #5  0x00007ffa7016f527 n/a (libQt6WaylandClient.so.6 + 0x7a527)
                #6  0x00007ffa73ce11aa n/a (libQt6Core.so.6 + 0x2e11aa)
                #7  0x00007ffa7406fb7b start_thread (libc.so.6 + 0x92b7b)
                #8  0x00007ffa740ed7b8 __clone3 (libc.so.6 + 0x1107b8)

                Stack trace of thread 886636:
                #0  0x00007ffa740779ee __syscall_cancel_arch (libc.so.6 + 0x9a9ee)
                #1  0x00007ffa7406c668 __internal_syscall_cancel (libc.so.6 + 0x8f668)
                #2  0x00007ffa7406c6ad __syscall_cancel (libc.so.6 + 0x8f6ad)
                #3  0x00007ffa740e0e6e __GI_ppoll (libc.so.6 + 0x103e6e)
                #4  0x00007ffa7350660c n/a (libglib-2.0.so.0 + 0x5d60c)
                #5  0x00007ffa73506ca0 g_main_context_iteration (libglib-2.0.so.0 + 0x5dca0)
                #6  0x00007ffa73da62e3 _ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE (libQt6Core.so.6 + 0x3a62e3)
                #7  0x00007ffa73b98893 _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE (libQt6Core.so.6 + 0x198893)
                #8  0x00007ffa73c6a5bc _ZN7QThread4execEv (libQt6Core.so.6 + 0x26a5bc)
                #9  0x00007ffa7341df3e n/a (libQt6DBus.so.6 + 0x35f3e)
                #10 0x00007ffa73ce11aa n/a (libQt6Core.so.6 + 0x2e11aa)
                #11 0x00007ffa7406fb7b start_thread (libc.so.6 + 0x92b7b)
                #12 0x00007ffa740ed7b8 __clone3 (libc.so.6 + 0x1107b8)

                Stack trace of thread 886645:
                #0  0x00007ffa740779ee __syscall_cancel_arch (libc.so.6 + 0x9a9ee)
                #1  0x00007ffa7406c668 __internal_syscall_cancel (libc.so.6 + 0x8f668)
                #2  0x00007ffa7406cc9c __futex_abstimed_wait_common64 (libc.so.6 + 0x8fc9c)
                #3  0x00007ffa7406f158 __pthread_cond_wait_common (libc.so.6 + 0x92158)
                #4  0x00007ffa5d9af91d n/a (libgallium-25.0.3-1.so + 0x5af91d)
                #5  0x00007ffa5d97af6b n/a (libgallium-25.0.3-1.so + 0x57af6b)
                #6  0x00007ffa5d9af84b n/a (libgallium-25.0.3-1.so + 0x5af84b)
                #7  0x00007ffa7406fb7b start_thread (libc.so.6 + 0x92b7b)
                #8  0x00007ffa740ed7b8 __clone3 (libc.so.6 + 0x1107b8)

                Stack trace of thread 886643:
                #0  0x00007ffa740779ee __syscall_cancel_arch (libc.so.6 + 0x9a9ee)
                #1  0x00007ffa7406c668 __internal_syscall_cancel (libc.so.6 + 0x8f668)
                #2  0x00007ffa7406cc9c __futex_abstimed_wait_common64 (libc.so.6 + 0x8fc9c)
                #3  0x00007ffa7406f158 __pthread_cond_wait_common (libc.so.6 + 0x92158)
                #4  0x00007ffa5d9af91d n/a (libgallium-25.0.3-1.so + 0x5af91d)
                #5  0x00007ffa5d97af6b n/a (libgallium-25.0.3-1.so + 0x57af6b)
                #6  0x00007ffa5d9af84b n/a (libgallium-25.0.3-1.so + 0x5af84b)
                #7  0x00007ffa7406fb7b start_thread (libc.so.6 + 0x92b7b)
                #8  0x00007ffa740ed7b8 __clone3 (libc.so.6 + 0x1107b8)

                Stack trace of thread 886638:
                #0  0x00007ffa740779ee __syscall_cancel_arch (libc.so.6 + 0x9a9ee)
                #1  0x00007ffa7406c668 __internal_syscall_cancel (libc.so.6 + 0x8f668)
                #2  0x00007ffa7406c6ad __syscall_cancel (libc.so.6 + 0x8f6ad)
                #3  0x00007ffa740e09c6 __GI___poll (libc.so.6 + 0x1039c6)
                #4  0x00007ffa7016f587 n/a (libQt6WaylandClient.so.6 + 0x7a587)
                #5  0x00007ffa73ce11aa n/a (libQt6Core.so.6 + 0x2e11aa)
                #6  0x00007ffa7406fb7b start_thread (libc.so.6 + 0x92b7b)
                #7  0x00007ffa740ed7b8 __clone3 (libc.so.6 + 0x1107b8)

                Stack trace of thread 886640:
                #0  0x00007ffa740779ee __syscall_cancel_arch (libc.so.6 + 0x9a9ee)
                #1  0x00007ffa7406c668 __internal_syscall_cancel (libc.so.6 + 0x8f668)
                #2  0x00007ffa7406cc9c __futex_abstimed_wait_common64 (libc.so.6 + 0x8fc9c)
                #3  0x00007ffa7406f158 __pthread_cond_wait_common (libc.so.6 + 0x92158)
                #4  0x00007ffa5d9af91d n/a (libgallium-25.0.3-1.so + 0x5af91d)
                #5  0x00007ffa5d97af6b n/a (libgallium-25.0.3-1.so + 0x57af6b)
                #6  0x00007ffa5d9af84b n/a (libgallium-25.0.3-1.so + 0x5af84b)
                #7  0x00007ffa7406fb7b start_thread (libc.so.6 + 0x92b7b)
                #8  0x00007ffa740ed7b8 __clone3 (libc.so.6 + 0x1107b8)
                ELF object binary architecture: AMD x86-64

#1104598#10
Date:
2025-05-03 05:31:29 UTC
From:
To:
I run the program at the command-line (not an expected situation for it but
something that shouldn't crash) and then press CTRL-D and it core dumps.  I
don't know if this is related to the thousands of core dumps I'm getting, but
it is definitely a bug that should be fixed.

$ /usr/bin/akonadi_html_to_text

thread '<unnamed>' panicked at /usr/share/cargo/registry/html2text-0.12.6/src/
lib.rs:2436:10:
Failed to convert to HTML: TooNarrow
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

thread '<unnamed>' panicked at /usr/share/cargo/registry/cxx-1.0.141/src/
unwind.rs:37:9:
panic in ffi function htmlparser::ffi::convert_to_text, aborting.
stack backtrace:
   0:     0x5640af0ec879 - <unknown>
   1:     0x5640af0f05f3 - <unknown>
   2:     0x5640af0e239f - <unknown>
   3:     0x5640af0ec6c3 - <unknown>
   4:     0x5640af119185 - <unknown>
   5:     0x5640af118f78 - <unknown>
   6:     0x5640af11969f - <unknown>
   7:     0x5640af0ecc7a - <unknown>
   8:     0x5640af0ecaa9 - <unknown>
   9:     0x5640af1192cd - <unknown>
  10:     0x5640af0d0e70 - <unknown>
  11:     0x5640af0cf4a8 - <unknown>
  12:     0x5640af0d5343 - <unknown>
  13:     0x5640af0d36ce - <unknown>
  14:     0x5640af0d331f - <unknown>
  15:     0x7fc786c06ca8 - __libc_start_call_main
                               at ./csu/../sysdeps/nptl/
libc_start_call_main.h:58:16
  16:     0x7fc786c06d65 - __libc_start_main_impl
                               at ./csu/../csu/libc-start.c:360:3
  17:     0x5640af0d3501 - <unknown>
  18:                0x0 - <unknown>

thread '<unnamed>' panicked at library/core/src/panicking.rs:226:5:
panic in a destructor during cleanup
thread caused non-unwinding panic. aborting.
Aborted (core dumped)

#1104598#15
Date:
2026-03-06 16:26:26 UTC
From:
To:
Hi,

I've been hitting also this. I submitted a bug upstream [1] but it looks is Debian
packaging's patching the upstream package.

There's more information there, but for me crashed on empty STDIN.

To reproduce:

$ echo -n '' | /usr/bin/akonadi_html_to_text

Using 0.16.x version or html2text Rust crate or falling back to the C implementation
works without segfaulting.

Regards,

[1] https://bugs.kde.org/show_bug.cgi?id=516865[1]
-------- [1] https://bugs.kde.org/show_bug.cgi?id=516865
#1104598#20
Date:
2026-03-06 23:38:38 UTC
From:
To:
Hi,

Am Freitag, 6. März 2026, 17:26:26 Mitteleuropäische Normalzeit schrieb
Jose Luis Salas:

Reading the KDE bug report, it seems the issue is the Rust crate. The
reason why we have to patch it is because that's the version that is
available in Debian.

I'll ask the Rust team whether they can update it 0.16. But apart from
that, the only thing I can do is to not use the Rust crate and use the
fallback option of QTextDocument instead. Though even that can crash
when parsing untrusted html.