Hi @Yoann Congal<mailto:[email protected]>,

Yes, we hit this on our scarthgap platform (systemd 255.21). dlt-system aborted 
inside sd-journal:

dlt-system[1284]: Assertion 'd->object.type == OBJECT_DATA' failed at
src/libsystemd/sd-journal/journal-file.c:3237, function 
generic_array_bisect_for_data(). Aborting.

The crash is the assert in generic_array_bisect_for_data(). The function 
received a data object 'd' whose object.type was not OBJECT_DATA, so the 
on-disk journal contents were not what the reader expected. The assert aborted 
the whole process.

The patch replaces the assert with:

if (d->object.type != OBJECT_DATA)
        return -EBADMSG;

A corrupted or changed object is then reported as an error to the caller, and 
dlt-system is not aborted. The other hunks make the same change in 
bump_entry_array() and the journal_file_move_to_entry_*_for_data() functions.

The fix is upstream commit 5ee8b3edb385 (v258-rc1) and applies cleanly to 
255.21. I'll send a v2 with this explanation added to the commit message.

Thanks,
Suresh H A
________________________________
From: Yoann Congal <[email protected]>
Sent: 02 October 2026 15:17
To: Suresh H A - UpStream <[email protected]>; 
[email protected] 
<[email protected]>; Suresh H A 
<[email protected]>
Cc: Suresh H A <[email protected]>
Subject: Re: [OE-core] [poky][scarthgap][PATCH] systemd: replace a bunch of 
assert() with friendlier checks

Caution: "External email, be cautious especially with link(s), attachment(s) or 
QR code(s)".

On Wed Sep 2, 2026 at 10:17 AM CEST, Suresh H A via lists.openembedded.org 
wrote:
> From: Suresh H A <[email protected]>
>
> Backport a patch that replaces a bunch of assert() with friendlier checks
> Fix is already available since systemd v258-rc1.
>
> Signed-off-by: Suresh H A <[email protected]>
> ---
>  ...a-bunch-of-assert-with-friendlier-ch.patch | 108 ++++++++++++++++++
>  meta/recipes-core/systemd/systemd_255.21.bb   |   1 +
>  2 files changed, 109 insertions(+)
>  create mode 100644 
> meta/recipes-core/systemd/systemd/0023-journal-replace-a-bunch-of-assert-with-friendlier-ch.patch

Hello,

What problem is this trying to fix? Did you triggered those assert() in
a project?

In itself, the patch looks fine but I have to make sure there is a real
reason for merging it. Can you send a v2 with a little more information
about that?

Thanks!
--
Yoann Congal
Smile ECS

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#247193): 
https://lists.openembedded.org/g/openembedded-core/message/247193
Mute This Topic: https://lists.openembedded.org/mt/121047990/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to