Bug#897266: systemd: journalctl assertion failure
Marc Lehmann
schmorp at schmorp.de
Sat May 5 04:27:48 BST 2018
On Sat, May 05, 2018 at 03:23:35AM +0200, Michael Biebl <biebl at debian.org> wrote:
> Is this problem reproducible?
Yes.
> If so, can you please install the dbgsym package for systemd/libsystemd0
> and get a backtrace from the crash [1].
Cool, I didn't know about the debug symbols repository. See below.
> Do you have persistent journal enabled?
Yes.
> What does journalctl --verify say?
A lot of pass, but also 27 FAIL and "File corruption" and similar messages
(as usual with systemd).
Example:
PASS: /var/log/journal/a1002e4c6eb50c7b5cdd5e004698a90b/user-65533 at 1614fbd80d4f42e8a21cc0a4825e4de1-0000000000795bfa-00056a6baca9f49a.journal
12dddc8: Invalid object
File corruption detected at /var/log/journal/a1002e4c6eb50c7b5cdd5e004698a90b/system at 7ea033a201334367b130dd1201659ee1-000000000079ca96-00056a74a6a87814.journal:12dddc8 (of 33554432 bytes, 58%).
Backtrace as follows:
(gdb) r -fu cron
Starting program: /usr/bin/journalctl -fu cron
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Assertion 'p > 0' failed at ../src/journal/journal-file.c:2280, function test_object_offset(). Aborting.
Program received signal SIGABRT, Aborted.
__GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0 __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1 0x00007fffefb3242a in __GI_abort () at abort.c:89
#2 0x00007fffeff81a42 in log_assert_failed (text=<optimized out>, file=<optimized out>, line=<optimized out>, func=<optimized out>) at ../src/basic/log.c:795
#3 0x00007fffeffbe17f in test_object_offset (f=<optimized out>, p=<optimized out>, needle=<optimized out>) at ../src/journal/journal-file.c:2280
#4 0x00007fffeffbfe13 in generic_array_bisect (f=f at entry=0x55555557ad10, first=<optimized out>, first at entry=3739384, n=n at entry=2343, needle=11772088, test_object=0x7fffeffbe100 <test_object_offset>, direction=direction at entry=DIRECTION_UP, ret=0x0, offset=0x7fffffffdbd0, idx=0x0) at ../src/journal/journal-file.c:2019
#5 0x00007fffeffc025c in generic_array_bisect_plus_one (f=<optimized out>, extra=<optimized out>, first=<optimized out>, n=<optimized out>, needle=<optimized out>, test_object=<optimized out>, direction=<optimized out>, ret=<optimized out>, offset=<optimized out>, idx=<optimized out>, idx=<optimized out>, offset=<optimized out>, ret=<optimized out>, direction=<optimized out>, test_object=<optimized out>, needle=<optimized out>, n=<optimized out>, first=<optimized out>, extra=<optimized out>, f=<optimized out>) at ../src/journal/journal-file.c:2251
#6 0x00007fffeffc056e in journal_file_move_to_entry_by_offset_for_data (f=<optimized out>, data_offset=<optimized out>, p=<optimized out>, direction=<optimized out>, ret=<optimized out>, offset=<optimized out>) at ../src/journal/journal-file.c:2688
#7 0x00007fffefee310c in next_for_match (j=j at entry=0x555555567050, m=m at entry=0x555555569380, f=f at entry=0x55555557ad10, after_offset=after_offset at entry=11772088, direction=direction at entry=DIRECTION_UP, ret=ret at entry=0x0, offset=0x7fffffffdbd0) at ../src/journal/sd-journal.c:524
#8 0x00007fffefee3184 in next_for_match (j=0x555555567050, m=<optimized out>, f=0x55555557ad10, after_offset=11772088, direction=DIRECTION_UP, ret=ret at entry=0x0, offset=0x7fffffffdc58) at ../src/journal/sd-journal.c:534
#9 0x00007fffefee31d4 in next_for_match (j=j at entry=0x555555567050, m=m at entry=0x5555555692e0, f=f at entry=0x55555557ad10, after_offset=after_offset at entry=11772088, direction=direction at entry=DIRECTION_UP, ret=ret at entry=0x0, offset=0x7fffffffdd88) at ../src/journal/sd-journal.c:556
#10 0x00007fffefee361a in find_location_for_match (j=j at entry=0x555555567050, m=m at entry=0x5555555692e0, f=f at entry=0x55555557ad10, direction=direction at entry=DIRECTION_UP, ret=ret at entry=0x0, offset=offset at entry=0x7fffffffdd88) at ../src/journal/sd-journal.c:687
#11 0x00007fffefee3758 in find_location_for_match (j=j at entry=0x555555567050, m=m at entry=0x555555569290, f=f at entry=0x55555557ad10, direction=direction at entry=DIRECTION_UP, ret=ret at entry=0x0, offset=offset at entry=0x7fffffffde28) at ../src/journal/sd-journal.c:641
#12 0x00007fffefee35d4 in find_location_for_match (j=j at entry=0x555555567050, m=0x555555569240, f=f at entry=0x55555557ad10, direction=direction at entry=DIRECTION_UP, ret=ret at entry=0x7fffffffdf00, offset=offset at entry=0x7fffffffdf08) at ../src/journal/sd-journal.c:679
#13 0x00007fffefee3a2a in find_location_with_matches (offset=0x7fffffffdf08, ret=0x7fffffffdf00, direction=DIRECTION_UP, f=0x55555557ad10, j=0x555555567050) at ../src/journal/sd-journal.c:724
#14 next_beyond_location (direction=DIRECTION_UP, f=0x55555557ad10, j=0x555555567050) at ../src/journal/sd-journal.c:784
#15 real_journal_next (j=j at entry=0x555555567050, direction=direction at entry=DIRECTION_UP) at ../src/journal/sd-journal.c:832
#16 0x00007fffefee42f6 in real_journal_next_skip (j=0x555555567050, direction=DIRECTION_UP, skip=10) at ../src/journal/sd-journal.c:892
#17 0x000055555555ba25 in main (argc=<optimized out>, argv=<optimized out>) at ../src/journal/journalctl.c:2458
Additional info:
#4 0x00007fffeffbfe13 in generic_array_bisect (f=f at entry=0x55555557ad10, first=<optimized out>, first at entry=3739384, n=n at entry=2343, needle=11772088, test_object=0x7fffeffbe100 <test_object_offset>, direction=direction at entry=DIRECTION_UP, ret=0x0, offset=0x7fffffffdbd0, idx=0x0) at ../src/journal/journal-file.c:2019
2019 in ../src/journal/journal-file.c
(gdb) p *f
$1 = {
fd = 13,
mode = 0,
flags = 0,
prot = 1,
writable = false,
compress_xz = false,
compress_lz4 = true,
seal = false,
defrag_on_close = false,
close_fd = true,
archive = false,
tail_entry_monotonic_valid = false,
last_direction = DIRECTION_UP,
location_type = LOCATION_HEAD,
last_n_entries = 8977,
path = 0x55555557aef0 "/var/log/journal/a1002e4c6eb50c7b5cdd5e004698a90b/system at 7ea033a201334367b130dd1201659ee1-00000000007a33f3-00056a7eb6600ac0.journal",
last_stat = {
st_dev = 25,
st_ino = 788380,
st_nlink = 1,
st_mode = 33184,
st_uid = 0,
st_gid = 137,
__pad0 = 0,
st_rdev = 0,
st_size = 16777216,
st_blksize = 4096,
st_blocks = 32768,
st_atim = {
tv_sec = 1524467341,
tv_nsec = 170198568
},
st_mtim = {
tv_sec = 1524512161,
tv_nsec = 130419538
},
st_ctim = {
tv_sec = 1524512161,
tv_nsec = 278419226
},
__glibc_reserved = {0, 0, 0}
},
last_stat_usec = 2182963690030,
header = 0x7fffe9039000,
data_hash_table = 0x7fffe903a5e0,
field_hash_table = 0x0,
current_offset = 0,
current_seqnum = 0,
current_realtime = 0,
current_monotonic = 0,
current_boot_id = {
bytes = '\000' <repeats 15 times>,
qwords = {0, 0}
},
current_xor_hash = 0,
metrics = {
max_size = 0,
min_size = 0,
max_use = 0,
min_use = 0,
keep_free = 0,
n_max_files = 0
},
mmap = 0x555555569190,
post_change_timer = 0x0,
post_change_timer_period = 0,
chain_cache = 0x555555567378,
offline_thread = 0,
offline_state = OFFLINE_JOINED,
compress_buffer = 0x0,
compress_buffer_size = 0,
hmac = 0x0,
hmac_running = false,
fss_file = 0x0,
fss_file_size = 0,
fss_start_usec = 0,
fss_interval_usec = 0,
fsprg_state = 0x0,
fsprg_state_size = 0,
fsprg_seed = 0x0,
fsprg_seed_size = 0
}
--
The choice of a Deliantra, the free code+content MORPG
-----==- _GNU_ http://www.deliantra.net
----==-- _ generation
---==---(_)__ __ ____ __ Marc Lehmann
--==---/ / _ \/ // /\ \/ / schmorp at schmorp.de
-=====/_/_//_/\_,_/ /_/\_\
More information about the Pkg-systemd-maintainers
mailing list