My zypper is stuck: zypper segfaults in TW 4.15.7-1-default on Raspberry Pi aarch64

I seem to have gotten stuck with a zypper problem that I can’t resolve: looking for suggestions.

I noted earlier that zypper dup occasionally segfaults but that I was generally able to get it to do the updates. At this point, I’m
at 4.15.7-1-default and dup says there’s nothing to do (as does zypper up).

But if I try to install something, as in zypper in git, it begins the first download and immediately segfaults. I see that my process list is littered with entries like:
2217 ? Ss 0:00 gpg-agent --homedir /var/tmp/zypp.z3CcYQ/zypp-trusted-krEAzZII --use-standard-socket --daemon

So I’m assuming that there’s a problem with GPG in zypper. I disable GPG checking for the repository (only one

| Alias | Name | Enabled | GPG Check | Refresh

–±-----------------------------------±-----------------------------------±--------±----------±-------
1 | openSUSE-Ports-Tumbleweed-repo-oss | openSUSE-Ports-Tumbleweed-repo-oss | Yes | ( ) No | Yes ).

Still get segfaults – and new dead gpg-agents!!! – if I try to install anything again.

At this point, I’m not even convinced that zypper is really doing its zypper dup check correctly, but I surely can’t get anything to install.

So:

  1. Is anyone else seeing this problem?
  2. Is there a way of working around this to install specific software systems and/or to check for distribution updates?
  3. If the problem is in zypper and friends, how might I go about re-downloading and reinstalling them? zypper install zypper gets me a segfault every time.

Thanks for any advice you can give. For now … back to Leap 42.3 (which has its own problems on RPi-3B).

Told you so

https://forums.opensuse.org/showthread.php/529838-Tumbleweed-aarch64-on-Raspberry-Pi-3B-update-strategy-advice    

…and, yes, I killed my last two opensuse installs on raspis this way, too. Not going to install again. It’s simply a pain…

Hi
Did you install the modified glibc packages from the bug report (still a work in progress)?
https://bugzilla.opensuse.org/show_bug.cgi?id=1084812

No issues here with those packages (see comment 5 in bug report) and zypper is working fine (no segfaults)


uname -a

Linux statler3 4.15.7-1-default #1 SMP Wed Feb 28 12:40:23 UTC 2018 (a36e160) aarch64 aarch64 aarch64 GNU/Linux

cat /etc/os-release 

NAME="openSUSE Tumbleweed"
# VERSION="20180305"
ID=opensuse
ID_LIKE="suse"
VERSION_ID="20180305"
PRETTY_NAME="openSUSE Tumbleweed"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:opensuse:tumbleweed:20180305"
BUG_REPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://www.opensuse.org/"

zypper in git

Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following 12 NEW packages are going to be installed:
  cvs cvsps git git-cvs git-email git-svn perl-Authen-SASL perl-DBD-SQLite
  perl-DBI perl-Net-SMTP-SSL perl-Term-ReadKey subversion-perl

The following 5 recommended packages were automatically selected:
  git-cvs git-email git-svn perl-Authen-SASL perl-Net-SMTP-SSL

The following 2 packages are suggested, but will not be installed:
  git-daemon git-web

12 new packages to install.
Overall download size: 5.0 MiB. Already cached: 0 B. After the operation,
additional 18.6 MiB will be used.
Continue? [y/n/...? shows all options] (y): 
Retrieving package cvs-1.12.12-187.1.aarch64
                                          (1/12), 387.8 KiB (  1.1 MiB unpacked)
Retrieving: cvs-1.12.12-187.1.aarch64.rpm ..................[done (372.5 KiB/s)]
Retrieving package cvsps-2.1-182.8.aarch64
                                          (2/12),  62.7 KiB (176.5 KiB unpacked)
Retrieving: cvsps-2.1-182.8.aarch64.rpm ..................................[done]
Retrieving package perl-DBI-1.640-1.1.aarch64
                                          (3/12), 742.9 KiB (  2.1 MiB unpacked)
Retrieving: perl-DBI-1.640-1.1.aarch64.rpm ...................[done (1.1 KiB/s)]
Retrieving package perl-Term-ReadKey-2.37-1.3.aarch64
                                          (4/12),  30.1 KiB ( 92.6 KiB unpacked)
Retrieving: perl-Term-ReadKey-2.37-1.3.aarch64.rpm ...........[done (1.1 KiB/s)]
Retrieving package subversion-perl-1.9.7-6.3.aarch64
                                          (5/12), 901.1 KiB (  5.0 MiB unpacked)
Retrieving: subversion-perl-1.9.7-6.3.aarch64.rpm ..........[done (792.1 KiB/s)]
Retrieving package perl-Authen-SASL-2.16-6.4.noarch
                                          (6/12),  53.2 KiB ( 96.8 KiB unpacked)
Retrieving: perl-Authen-SASL-2.16-6.4.noarch.rpm .............[done (1.1 KiB/s)]
Retrieving package perl-Net-SMTP-SSL-1.04-1.5.noarch
                                          (7/12),  12.4 KiB (  4.4 KiB unpacked)
Retrieving: perl-Net-SMTP-SSL-1.04-1.5.noarch.rpm ........................[done]
Retrieving package perl-DBD-SQLite-1.54-1.6.aarch64
                                          (8/12),   1.8 MiB (  8.6 MiB unpacked)
Retrieving: perl-DBD-SQLite-1.54-1.6.aarch64.rpm .............[done (1.5 MiB/s)]
Retrieving package git-svn-2.16.2-3.1.aarch64
                                          (9/12), 627.3 KiB (  1.3 MiB unpacked)
Retrieving: git-svn-2.16.2-3.1.aarch64.rpm .................[done (962.9 KiB/s)]
Retrieving package git-email-2.16.2-3.1.aarch64
                                         (10/12), 136.9 KiB ( 59.9 KiB unpacked)
Retrieving: git-email-2.16.2-3.1.aarch64.rpm .............................[done]
Retrieving package git-cvs-2.16.2-3.1.aarch64
                                         (11/12), 176.0 KiB (215.5 KiB unpacked)
Retrieving: git-cvs-2.16.2-3.1.aarch64.rpm ...............................[done]
Retrieving package git-2.16.2-3.1.aarch64
                                         (12/12), 115.4 KiB (  2.9 KiB unpacked)
Retrieving: git-2.16.2-3.1.aarch64.rpm ...................................[done]
Checking for file conflicts: .............................................[done]
( 1/12) Installing: cvs-1.12.12-187.1.aarch64 ............................[done]
( 2/12) Installing: cvsps-2.1-182.8.aarch64 ..............................[done]
( 3/12) Installing: perl-DBI-1.640-1.1.aarch64 ...........................[done]
( 4/12) Installing: perl-Term-ReadKey-2.37-1.3.aarch64 ...................[done]
( 5/12) Installing: subversion-perl-1.9.7-6.3.aarch64 ....................[done]
( 6/12) Installing: perl-Authen-SASL-2.16-6.4.noarch .....................[done]
( 7/12) Installing: perl-Net-SMTP-SSL-1.04-1.5.noarch ....................[done]
( 8/12) Installing: perl-DBD-SQLite-1.54-1.6.aarch64 .....................[done]
( 9/12) Installing: git-svn-2.16.2-3.1.aarch64 ...........................[done]
(10/12) Installing: git-email-2.16.2-3.1.aarch64 .........................[done]
(11/12) Installing: git-cvs-2.16.2-3.1.aarch64 ...........................[done]
(12/12) Installing: git-2.16.2-3.1.aarch64 ...............................[done]

Yes, I remembered that you’d had the problem, too, but it seemed different in that mine worked – most of the time – with segfaults only about 1/2 the time on zypper dup. zypper dup still works (or purports to), but zypper in fails reliably.

The new piece of information (new for me, anyway) is that it seems to be GPG-related. But after disabling GPG verification, zypper still fails (and gpg-agent is still invoked), so I’m not sure my conclusion is correct.

And I think this is resolvable. It’s not an issue buried deep in the kernel. I’m just not sure where to look next, and if I figured out what’s causing it, I’m not sure how I’d download and install the corrected package.

And I really like the TW aarch64 implementation for RPi. The Leap distro works but has other problems (video, wifi) that impact performance and functionality. The current TW distro just works … mostly.

So … the only other person using TW on RPi-3 has given up using it?!! That can’t be a good sign! :wink:

Hi
I’ve emailed the four glibc rpms to you :wink: Install those and I think you will find the issue will resolve…

Good Morning, Malcolm!

… and once again, you got it exactly right.

For others who might follow this, the files were:
glibc-2.27-482.1.aarch64.rpm glibc-extra-2.27-482.1.aarch64.rpm
glibc-devel-2.27-482.1.aarch64.rpm glibc-locale-2.27-482.1.aarch64.rpm

Installing them with rpm -i failed because of version conflict. Installing with rpm -i --force *.rpm succeeded.

And without rebooting, zypper in git succeeded just as it should have!

Subsequent zypper up finds nothing to update. zypper dup finds 4 problems – the four glibc-2.27-482.1.aarch64 packages that were just installed are obsolete. (I didn’t let it delete them!)

Thanks, again, Malcolm! That’s not a place I would have looked for a solution!

David

No, not resolvable here and anybody (especially Malcom L) will be happy if there is not so much problems popping up in the forum with aarch64, as I’m not going to use opensuse on raspi any longer.

Two questions:

  1. Are there any other means to get these packages (I think a lot more people bump into it; some contacted me on my blog post https://wiert.me/2018/03/15/tumbleweed-on-raspberry-pi-3-bug-1084419-glibc-update-to-2-27-causes-segfault-during-name-resolution/ )
  2. If one installs these packages, do they get automatically overwritten when a proper fix is released?

(Note I have already added “195.135.221.134 download.opensuse.org” to “/etc/hosts” so zypper does work, so if you know a zypper based download means that would be totally fine)

Thanks for any follow-up!

–jeroen

Jeroen,
I don’t know the answer to (1) [Malcolm might], but regarding (2): Having installed these 4 packages on TW aarch64 4.15.7-1-default on RPi-3B,

  • A subsequent zypper up works without reference to the glibc packages but finds nothing to update
  • A subsequent zypper dup gives a warning:
Computing distribution upgrade...
4 Problems:
Problem: problem with installed package glibc-2.27-482.1.aarch64
Problem: problem with installed package glibc-devel-2.27-482.1.aarch64
Problem: problem with installed package glibc-extra-2.27-482.1.aarch64
Problem: problem with installed package glibc-locale-2.27-482.1.aarch64

Problem: problem with installed package glibc-2.27-482.1.aarch64
 Solution 1: deinstallation of glibc-2.27-482.1.aarch64
 Solution 2: keep obsolete glibc-2.27-482.1.aarch64

Choose from above solutions by number or skip, retry or cancel [1/2/s/r/c] (c): 

from which I select (c) - cancel. zypper apparently sees those 2.27.482 versions of glibc as obsolete and wants to replace them with the current distribution packages – the ones that have the bug that caused the problem in the first place.

I think I could lock those 2.27.482 packages, but I think the better approach is to continue to do occasional zypper dup's and cancel until I see one that includes glibc along with a number of other packages in the update. I’ll assume that distribution update includes a fix to the glibc package and let it be installed. [Other advice welcomed!]

Hope this helps.

Hi
Yes, zypper al all four packages until the proper fix propagates through…

Thanks. Back to question 1: Are there any other means to get these packages (I think a lot more people bump into it; some contacted me on my blog post https://wiert.me/2018/03/15/tumblewe…me-resolution/ )

Any hints for that?

From https://build.opensuse.org/package/binaries/home:StefanBruens:branches:openSUSE:Factory:ARM/glibc/openSUSE_Factory_ARM, I tried to click Go to download repository but that gives a 404 at https://download.opensuse.org/repositories/home:/StefanBruens:/branches:/openSUSE:/Factory:/ARM/openSUSE_Factory_ARM

Thanks. That will help a lot when I get the packages.

On Sat 24 Mar 2018 05:36:04 PM CDT, jpluimers wrote:

malcolmlewis;2859980 Wrote:
> Hi
> Yes, zypper al all four packages until the proper fix propagates
> through…

Thanks. Back to question 1: Are there any other means to get these
packages (I think a lot more people bump into it; some contacted me on
my blog post ‘https://wiert.me/2018/03/15/tumblewe...me-resolution/
(http://tinyurl.com/y7vqrx5n) )

Any hints for that?

From http://tinyurl.com/y8jala8b, I tried to click ‘Go to download
repository’ (http://tinyurl.com/y7wjt5qy) but that gives a 404 at
http://tinyurl.com/y7wjt5qy

Hi
You need to have an OBS account and use osc to grab the binaries, the
full command is in the bug report :wink:


osc getbinaries home:StefanBruens:branches:openSUSE:Factory:ARM  openSUSE_Factory_ARM aarch64

This will create a directory called binaries, in here are the four
files required. Since by default OBS does not publish packages that
are branched.


Cheers Malcolm °¿° SUSE Knowledge Partner (Linux Counter #276890)
openSUSE Leap 42.3|GNOME 3.20.2|4.4.120-45-default
If you find this post helpful and are logged into the web interface,
please show your appreciation and click on the star below… Thanks!

Thanks, Malcolm! Certainly the safest approach, so I’ll do it that way.

David

Sorry for not getting back on the forum earlier on this, but when working on a reply for more than an hour, the forum bit me hard two times in similar ways it pestered me in the past resulting in message loss.

What I did do is create public git based repository with:

  • binaries of the packages (various versions obtained via OSC on a secondary system)
  • instructions how to apply these packages
  • instructions on how to get more recent binaries (including osc install instructions, and getting osc credentials)

All the docs are in the README.md at https://gitlab.com/wiert.me/public/linux/opensuse/tumbleweed/aarch64/1084182-fix-osc-binaries

The latest binaries version there is 2.27-492.3

I do not have all binaries that got built, so if anyone has them: please let me know how I can get them and I will update the repository.

–jeroen

Hi
If you follow the bug report a fix has been pushed…
https://build.opensuse.org/request/show/595578

I do and - as per https://wiert.me/2018/04/05/tumbleweed-comparing-your-local-version-with-the-on-line-versions/ - also track these:

No release yet (:

–jeroen