Error 402 in ld-linux.so.2 during zypper dup and boot

Hello,
Since sometimes when I do zypper dup I see a lot of errors related to ld-linux.so.2 at the end of the process (creation of mkinitrd?).


ld-linux.so.2[6956] general protection fault ip:f7f60965 sp:ffe75ed8 error:402 in ld-linux.so.2[f7f42000+22000]

In journalctl I have these lines


Sep 23 23:44:33 hpprol2 systemd-coredump[6958]: [X] Process 6956 (ld-linux.so.2) of user 0 dumped core.
                                                Found module linux-gate.so.1 with build-id: 364922ab8231f00df4f02a36b1b965f87f3dead5
                                                Found module /usr/lib/ld-linux.so.2 with build-id: cff394b185a917b69862b6c9fac059356b3db806
                                                Stack trace of thread 6956:
                                                #0  0x00000000f7f60965 __brk (/usr/lib/ld-linux.so.2 + 0x1f965)
                                                #1  0x00000000f7f5d4ed _dl_sysdep_start (/usr/lib/ld-linux.so.2 + 0x1c4ed)
                                                #2  0x00000000f7f42f67 _dl_start (/usr/lib/ld-linux.so.2 + 0x1f67)
                                                #3  0x00000000f7f4207b _start (/usr/lib/ld-linux.so.2 + 0x107b)

No error in /var/log/zypper.log or /var/log/zypp/history.

These errors don’t seem to affect the server. My system works and I see no problem with the different programs that I use.

I see that these errors are also present during the boot but seem not related to a process. The errors occur randomly during starting some process (which are working).
An example during initilaization of named

 Sep 24 08:14:30 hpprol2 named[2188]: automatic empty zone: 2.0.192.IN-ADDR.ARPA
Sep 24 08:14:30 hpprol2 systemd-coredump[2240]: [X] Process 2158 (ld-linux.so.2) of user 0 dumped core.
                                                Found module linux-gate.so.1 with build-id: 364922ab8231f00df4f02a36b1b965f87f3dead5
                                                Found module /usr/lib/ld-linux.so.2 with build-id: cff394b185a917b69862b6c9fac059356b3db806
                                                Stack trace of thread 2158:
                                                #0  0x00000000f7f4d965 __brk (/usr/lib/ld-linux.so.2 + 0x1f965)
                                                #1  0x00000000f7f4a4ed _dl_sysdep_start (/usr/lib/ld-linux.so.2 + 0x1c4ed)
                                                #2  0x00000000f7f2ff67 _dl_start (/usr/lib/ld-linux.so.2 + 0x1f67)
                                                #3  0x00000000f7f2f07b _start (/usr/lib/ld-linux.so.2 + 0x107b)
Sep 24 08:14:30 hpprol2 named[2188]: automatic empty zone: 100.51.198.IN-ADDR.ARPA

another example just before the lstart of sddm

 Sep 24 08:14:31 hpprol2 systemd[1]: Started Getty on tty1.
Sep 24 08:14:31 hpprol2 systemd[1]: Started Serial Getty on hvc0.
Sep 24 08:14:31 hpprol2 systemd[1]: Reached target Login Prompts.
Sep 24 08:14:31 hpprol2 systemd[1]: Condition check resulted in /etc/init.d/after.local Compatibility being skipped.
Sep 24 08:14:31 hpprol2 systemd[1]: systemd-coredump@2-2338-0.service: Deactivated successfully.
Sep 24 08:14:31 hpprol2 kernel: traps: ld-linux.so.2[2365] general protection fault ip:f7fcb965 sp:ffa19928 error:402 in ld-linux.so.2[f7fad000+22000]
Sep 24 08:14:31 hpprol2 systemd[1]: Started Process Core Dump (PID 2366/UID 0).
Sep 24 08:14:31 hpprol2 systemd-coredump[2367]: [X] Process 2365 (ld-linux.so.2) of user 0 dumped core.  
                                                Found module linux-gate.so.1 with build-id: 364922ab8231f00df4f02a36b1b965f87f3dead5
                                                Found module /usr/lib/ld-linux.so.2 with build-id: cff394b185a917b69862b6c9fac059356b3db806
                                                Stack trace of thread 2365:
                                                #0  0x00000000f7fcb965 __brk (/usr/lib/ld-linux.so.2 + 0x1f965)
                                                #1  0x00000000f7fc84ed _dl_sysdep_start (/usr/lib/ld-linux.so.2 + 0x1c4ed)
                                                #2  0x00000000f7fadf67 _dl_start (/usr/lib/ld-linux.so.2 + 0x1f67)
                                                #3  0x00000000f7fad07b _start (/usr/lib/ld-linux.so.2 + 0x107b)
Sep 24 08:14:31 hpprol2 systemd[1]: systemd-coredump@3-2366-0.service: Deactivated successfully.
Sep 24 08:14:31 hpprol2 kernel: traps: ld-linux.so.2[2379] general protection fault ip:f7f43965 sp:ff9ff198 error:402 in ld-linux.so.2[f7f25000+22000]
Sep 24 08:14:31 hpprol2 systemd[1]: Started Process Core Dump (PID 2380/UID 0).
Sep 24 08:14:31 hpprol2 systemd[1]: Started MariaDB database server.
Sep 24 08:14:31 hpprol2 systemd[1]: Starting Postfix Mail Transport Agent...
Sep 24 08:14:31 hpprol2 echo[2382]: Starting mail service (Postfix)
Sep 24 08:14:31 hpprol2 systemd[1]: display-manager.service: Can't open PID file /run/displaymanager.pid (yet?) after start: Operation not permitted
Sep 24 08:14:31 hpprol2 systemd-coredump[2381]: [x] Process 2379 (ld-linux.so.2) of user 0 dumped core.
                                                
                                                Found module linux-gate.so.1 with build-id: 364922ab8231f00df4f02a36b1b965f87f3dead5
                                                Found module /usr/lib/ld-linux.so.2 with build-id: cff394b185a917b69862b6c9fac059356b3db806
                                                Stack trace of thread 2379:
                                                #0  0x00000000f7f43965 __brk (/usr/lib/ld-linux.so.2 + 0x1f965)
                                                #1  0x00000000f7f404ed _dl_sysdep_start (/usr/lib/ld-linux.so.2 + 0x1c4ed)
                                                #2  0x00000000f7f25f67 _dl_start (/usr/lib/ld-linux.so.2 + 0x1f67)
                                                #3  0x00000000f7f2507b _start (/usr/lib/ld-linux.so.2 + 0x107b)
Sep 24 08:14:31 hpprol2 systemd[1]: systemd-coredump@4-2380-0.service: Deactivated successfully.
Sep 24 08:14:31 hpprol2 sddm[2364]: Initializing...
Sep 24 08:14:31 hpprol2 kernel: traps: ld-linux.so.2[2417] general protection fault ip:f7fbc965 sp:ffecac78 error:402 in ld-linux.so.2[f7f9e000+22000]
Sep 24 08:14:32 hpprol2 sddm[2364]: Starting...
Sep 24 08:14:32 hpprol2 sddm[2364]: Logind interface found

Does anyone have an explanation about these errors?
Many thanks in advance
Philippe

Hi
You have glibc-32bit or a 32bit glibc package installed (not from the Tumbleweed repo?) that has not rebuilt with the new glibc in Tumbleweed…

I think that all the glibc packages are at the same level:

# rpm -qa glibc*
glibc-info-2.34-1.2.noarch
glibc-2.34-1.2.x86_64
glibc-devel-2.34-1.2.x86_64
glibc-locale-base-2.34-1.2.x86_64
glibc-extra-2.34-1.2.x86_64
glibc-32bit-2.34-1.2.x86_64
glibc-locale-2.34-1.2.x86_64

 zypper se -si glibc
Loading repository data...
Reading installed packages...

S  | Name              | Type    | Version  | Arch   | Repository
---+-------------------+---------+----------+--------+----------------------
i+ | glibc             | package | 2.34-1.2 | x86_64 | Main Repository (OSS)
i  | glibc-32bit       | package | 2.34-1.2 | x86_64 | Main Repository (OSS)
i  | glibc-devel       | package | 2.34-1.2 | x86_64 | Main Repository (OSS)
i  | glibc-extra       | package | 2.34-1.2 | x86_64 | Main Repository (OSS)
i  | glibc-info        | package | 2.34-1.2 | noarch | Main Repository (OSS)
i  | glibc-locale      | package | 2.34-1.2 | x86_64 | Main Repository (OSS)
i  | glibc-locale-base | package | 2.34-1.2 | x86_64 | Main Repository (OSS)
i  | linux-glibc-devel | package | 5.14-1.2 | x86_64 | Main Repository (OSS)


I looked also for ld-linux.so but only one version is present

# find / -name "ld-linux.so*" -print
/usr/share/man/man8/ld-linux.so.8.gz
/usr/lib/ld-linux.so.2

And this version seems to belong to the same build of package glibc

ls -l /usr/lib/ld-linux*
-rwxr-xr-x 1 root root 221156 Sep 18 09:47 /usr/lib/ld-linux.so.2
# ls -l /usr/lib/libc.so.6
-rwxr-xr-x 1 root root 2511760 Sep 18 09:47 /usr/lib/libc.so.6
# ls -l /usr/lib/libm.so.6
-rwxr-xr-x 1 root root 1095456 Sep 18 09:47 /usr/lib/libm.so.6

Regards
Philippe

Hi
Then it’s likely a bug… openSUSE:Submitting bug reports - openSUSE

Thinking about this error I have only 5 repositories actives

zypper lr -uE
Repository priorities are without effect. All enabled repositories share the same priority.

# |  Name                      | Enabled | GPG Check | Refresh | URI
--+----------------------------------+---------------------------+---------+-----------+---------+---------------------------------------------------------------------
1 |  Main Repository (NON-OSS) | Yes     | (r ) Yes  | Yes     | http://download.opensuse.org/tumbleweed/repo/non-oss/
2 |  Main Repository (OSS)     | Yes     | (r ) Yes  | Yes     | http://download.opensuse.org/tumbleweed/repo/oss/
3 |  Main Update Repository    | Yes     | (r ) Yes  | Yes     | http://download.opensuse.org/update/tumbleweed/
5 |  Packman                   | Yes     | (r ) Yes  | Yes     | https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/
6 |  Games                     | Yes     | (r ) Yes  | Yes     | http://download.opensuse.org/repositories/games/openSUSE_Tumbleweed/

Maybe there is some package in Games or Packman which use ld-linux (for binding?) and that has not been refreshed.
Repository Games delivers only some python packages and libSDL
Repository packman delivers much more packages : multimedia (VLC, avidemux, ffmpeg-4 etc), sound (pipewire).
I’ll wait some days and see if a rebuild occurs on these repositories

Many thanks for your help
Philippe

ld-linux is used by every binary - it is the component that loads and prepares every binary before execution starts. It normally is never executed directly (path to ld-linux is embedded in every binary) and from random log lines you post it is also unclear what is being executed.

Boot with kernel options “systemd.log_level=debug printk.devkmsg=on” and provide full output of “journalctl -b”.

FWIW

I’ve no idea if this is of any relevance, during “zypper dup” to 20210920 (the full rebuild due to glib), both of my TW systems issued this “is not a symbolic link” notification:

# 2021-09-23 11:36:12 glibc-2.34-1.2.x86_64.rpm installed ok
# Additional rpm output:
# /usr/sbin/ldconfig: /lib64/ld-linux-x86-64.so.2 is not a symbolic link

# 2021-09-23 11:36:51 glibc-32bit-2.34-1.2.x86_64.rpm installed ok
# Additional rpm output:
# /sbin/ldconfig: /lib/ld-linux.so.2 is not a symbolic link

Both systems are working normally, I don’t see the problem the OP reports, so guess this was just coincidence. I mention it only as I don’t recall having seen similar warnings on previous glibc updates.

Thanks for your answer,

I booted the system with “systemd.log_level=debug printk.devkmsg=on”
The journalctl -b output can be found at https://paste.opensuse.org/64437451

One point I did yesterday a zypper dup for snapshot 20210923 and I saw that there was also a new version from games repository. But in the journalctl I see the same error (F.ex round line 2000)

Regards
Philippe

Did you run it as root?

Yes I ran it as root.

Regards
Philippe

I had the same error, when I build “custom” Kernel with yocto. My problem was wrong x86 interrupt handling.
From osdev site I decoded error:402. 400 meens IRQ 80 and 2 meens access to IDT table.
IRQ 80 on x86 32 bit is used as system call. Function __brk from GLIBC makes a system call.
Possible reason is absence of root rights or wrong usage of 32-bit binaries in 64-bit Kernel.

Hello,

my openSUSE installation is a 64 bit and since some weeks the errors are gone. I suppose that a new version solved this problem.:wink:
Regards
Philippe