You are not logged in.

#1 2014-02-27 22:09:18

kopiersperre
Member
Registered: 2011-03-22
Posts: 48

systemd segfault

I got this error:

[140331.161722] systemd-journald[169]: Vacuuming done, freed 0 bytes
[140331.319740] systemd-journald[169]: Failed to write entry (26 items, 284762942 bytes) despite vacuuming, ignoring: Argument list too long
[157396.490124] systemd[1]: segfault at b8 ip 000000000048101e sp 00007fff0dfd4220 error 4 in systemd[400000+106000]

Do you know anything about it?

Offline

#2 2014-02-27 22:13:36

WorMzy
Administrator
From: Scotland
Registered: 2010-06-16
Posts: 12,465
Website

Re: systemd segfault

Only what you've just told us.

Any chance you have bad RAM? Try running a memtest86+ test for several passes.


Sakura:-
Mobo: MSI MAG X570S TORPEDO MAX // Processor: AMD Ryzen 9 5950X @4.9GHz // GFX: AMD Radeon RX 5700 XT // RAM: 32GB (4x 8GB) Corsair DDR4 (@ 3000MHz) // Storage: 1x 3TB HDD, 6x 1TB SSD, 2x 120GB SSD, 1x 275GB M2 SSD

Making lemonade from lemons since 2015.

Offline

#3 2014-03-06 18:24:25

neunon
Member
From: Seattle, WA
Registered: 2011-01-25
Posts: 15
Website

Re: systemd segfault

I too have started hitting systemd segfaults. Probably related:

https://bugzilla.redhat.com/show_bug.cgi?id=1071128

Offline

#4 2014-03-06 18:34:41

sl1pkn07
Member
From: Spanishtán
Registered: 2010-03-30
Posts: 371

Re: systemd segfault

yesterday I had a segfault systemd

[166526.807673] systemd[1]: segfault at 101 ip 000000000048bd39 sp 00007fff4ba4f200 error 4 in systemd[400000+106000]

Offline

#5 2014-03-06 18:59:18

neunon
Member
From: Seattle, WA
Registered: 2011-01-25
Posts: 15
Website

Re: systemd segfault

Lennart mentioned that it's "fixed in git" but didn't provide a commit hash. sad

I'm sifting through the commits in systemd after v210. So far this is the only one that looks likely to be the fix:

commit a1937e679f76758635d295287398abe526de2522
Author: David Herrmann <dh.herrmann@gmail.com>
Date:   Tue Feb 25 12:20:25 2014 +0100

    login: fix pos-array allocation

    GREEDY_REALLOC takes a pointer to the real size, not the array-width as
    argument. Therefore, our array is currently way to small to keep the seat
    positions.

    Introduce GREEDY_REALLOC0_T() as typed version of GREEDY_REALLOC and store
    the array-width instead of array-size.

diff --git a/src/login/logind-seat.c b/src/login/logind-seat.c
index 631be5f..36ec7ed 100644
--- a/src/login/logind-seat.c
+++ b/src/login/logind-seat.c
@@ -475,7 +475,7 @@ void seat_claim_position(Seat *s, Session *session, unsigned int pos) {
         if (seat_has_vts(s))
                 pos = session->vtnr;

-        if (!GREEDY_REALLOC0(s->positions, s->position_count, pos + 1))
+        if (!GREEDY_REALLOC0_T(s->positions, s->position_count, pos + 1))
                 return;

         seat_evict_position(s, session);
diff --git a/src/shared/util.h b/src/shared/util.h
index 9913fce..78b1444 100644
--- a/src/shared/util.h
+++ b/src/shared/util.h
@@ -723,6 +723,15 @@ void* greedy_realloc0(void **p, size_t *allocated, size_t need);
 #define GREEDY_REALLOC0(array, allocated, need) \
         greedy_realloc0((void**) &(array), &(allocated), sizeof((array)[0]) * (need))

+#define GREEDY_REALLOC0_T(array, count, need)                           \
+        ({                                                              \
+                size_t _size = (count) * sizeof((array)[0]);            \
+                void *_ptr = GREEDY_REALLOC0((array), _size, (need));   \
+                if (_ptr)                                               \
+                        (count) = _size / sizeof((array)[0]);           \
+                _ptr;                                                   \
+        })
+
 static inline void _reset_errno_(int *saved_errno) {
         errno = *saved_errno;
 }

Offline

#6 2014-03-06 21:38:46

m1m1
Member
Registered: 2014-01-18
Posts: 3

Re: systemd segfault

Same for me with systemd 210-2:

[45779.228627] systemd[1]: segfault at 65757165 ip 080e04fa sp bfa070b0 error 4 in systemd[8048000+f6000]

I can only reboot with:

sync && reboot -f

Offline

#7 2014-03-06 23:35:00

jasonwryan
Anarchist
From: .nz
Registered: 2009-05-09
Posts: 30,424
Website

Re: systemd segfault

Does this recur after rebooting for people?


Arch + dwm   •   Mercurial repos  •   Surfraw

Registered Linux User #482438

Offline

#8 2014-03-06 23:50:45

Scimmia
Fellow
Registered: 2012-09-01
Posts: 12,171

Re: systemd segfault

Please try systemd 210-3, currently in [testing]. It applies a number of fixes from upstream.

Offline

#9 2014-03-07 09:16:49

m1m1
Member
Registered: 2014-01-18
Posts: 3

Re: systemd segfault

jasonwryan wrote:

Does this recur after rebooting for people?

It happened to me twice, therefore once after a reboot.

Scimmia wrote:

Please try systemd 210-3, currently in [testing]. It applies a number of fixes from upstream.

Ok, I updated to 210-3 and have a look.

Offline

Board footer

Powered by FluxBB