LXD wont start on fresh install opensuse.leap.15.1

i have opensuse leap,15.5, fresh install. it is shipped with lxd.
as root, zypper in lxd,
systemctl start lxd hangs
on the journalctl -f; i see the following output;

Jan 15 23:15:57 l-se lxd[3928]: t=2020-01-15T23:15:57+0300 lvl=warn msg="CGroup memory swap accounting is disabled, swap limits will be ignored."
Jan 15 23:15:57 l-se systemd[1]: lxd.service: Main process exited, code=killed, status=11/SEGV```
```lxd --debug --group lxd
DBUG[01-15|23:20:40] Connecting to a local LXD over a Unix socket 
DBUG[01-15|23:20:40] Sending request to LXD                   method=GET url=http://unix.socket/1.0 etag=
INFO[01-15|23:20:40] LXD 3.18 is starting in normal mode      path=/var/lib/lxd
INFO[01-15|23:20:40] Kernel uid/gid map: 
INFO[01-15|23:20:40]  - u 0 0 4294967295 
INFO[01-15|23:20:40]  - g 0 0 4294967295 
INFO[01-15|23:20:40] Configured LXD uid/gid map: 
INFO[01-15|23:20:40]  - u 0 400000000 500000001 
INFO[01-15|23:20:40]  - g 0 400000000 500000001 
WARN[01-15|23:20:40] CGroup memory swap accounting is disabled, swap limits will be ignored. 
INFO[01-15|23:20:40] Kernel features: 
INFO[01-15|23:20:40]  - netnsid-based network retrieval: no 
INFO[01-15|23:20:40]  - uevent injection: no 
INFO[01-15|23:20:40]  - seccomp listener: no 
INFO[01-15|23:20:40]  - unprivileged file capabilities: no 
INFO[01-15|23:20:40]  - shiftfs support: no 
INFO[01-15|23:20:40] Initializing local database 
DBUG[01-15|23:20:40] Initializing database gateway 
DBUG[01-15|23:20:40] Start database node                      id=1 address=
DBUG[01-15|23:20:41] Connecting to a local LXD over a Unix socket 
DBUG[01-15|23:20:41] Sending request to LXD                   method=GET url=http://unix.socket/1.0 etag=
DBUG[01-15|23:20:41] Detected stale unix socket, deleting 
DBUG[01-15|23:20:41] Detected stale unix socket, deleting 
INFO[01-15|23:20:41] Starting /dev/lxd handler: 
INFO[01-15|23:20:41]  - binding devlxd socket                 socket=/var/lib/lxd/devlxd/sock
INFO[01-15|23:20:41] REST API daemon: 
INFO[01-15|23:20:41]  - binding Unix socket                   socket=/var/lib/lxd/unix.socket
INFO[01-15|23:20:41] Initializing global database 
DBUG[01-15|23:20:41] Dqlite: connected address=1 attempt=0 
Segmentation fault (core dumped)

this issue is identical to this mentioned here;
i see suse forms has not provided solution there, i appreciate any help.

@cyphar may be able to help as this is an issue with the native packages rather than the snap. It suggests an issue with dqlite or its dependency chain.

@stgraber @cyphar
this link my core dump, if it might help.

Yeah there was a bug opened a while ago (https://bugzilla.opensuse.org/show_bug.cgi?id=1156336) which I tried to debug, but I had trouble reproducing it (I have run that LXD package on Leap for a fairly long time without issues, and I tried it inside a Leap 15.1 VM and it also worked fine). What kind of hardware are you running on?

Hello @cyphar, its me who opened the bug, you been asking for core dump, so i just uploaded it, please check it.

1 Like

Ah, okay. I’m at a conference at the moment, I’ll take a look when I get back home on Sunday.

@cyphar i know you might be busy, any chance you could have a look earlier please.

@cyphar any news?

I’m at a conference, and will get back home tomorrow so I will look at it when I have time. I don’t think that’s at all unreasonable. While I do prioritise work related to openSUSE, I’m simply not going to work over the weekend without any kind of compensation – if you are unhappy with that, there are SUSE support contracts which will give you higher levels of support (or I can quote you my hourly overtime rate).

No worries, i myself a student, i understand you very well. whenever you feel like. Or have time to.

This has been fixed for a while, it was a bug in libdqlite (a mutex was being double-unlocked which triggered a GPE due to glibc’s new lock elision implementation that triggers GPEs on certain Intel CPUs).