[SRU] Syntax error defien in socket.h

Bug #1992159 reported by Karsten Spang
14
This bug affects 1 person
Affects Status Importance Assigned to Milestone
glibc (Ubuntu)
Fix Released
High
Unassigned
Jammy
Fix Released
High
Unassigned

Bug Description

[ Impact ]

 * What are the effects of the bug on users?
   Some Compilers will exit with a syntax error when
   a user tries to compile glibc for systems where the
   'time_t' type of the default ABI is 32 bits (e.g. arm,
   hppa, microblaze). The compiler must be a Clang compiler
   with a major version of less than four and is either a
   GNUC compiler with a major version of less than two or no
   GNUC compiler.

   If someone should be confused; here is the logical notation
   (See "Other Info" before you evaluate this!):
   TIME_BITS_SIZE = 32 AND CLANG_MAJOR < 4
   AND (NOT GNUC OR GNUC < 2)

   Additionally, a few C pre-processors (an overwhelming
   minority) will throw a syntax error if they encounter an
   unknown pre-processor keyword, even if it is unreachable
   (like this bug).

 * What is the justification for backporting the fix to the
   stable release?

   The bug is already fixed upstream, and some users reported
   the error.

 * How does the upload fix the bug?
   The bug is caused by a typographical error of a pre-processor
   keyword ("#defien" instead of "#define"). The bug fix
   includes correcting the typographical error. "Just" two
   characters get changed.

[ Test Plan ]

 * How to reproduce the bug?
   We will reproduce this bug with the Oracle Embedded SQL
   Pro*C Pre-processor (Oracle ESQL ProC).
   I tested this on a fresh installation of 22.04.2 and a
   pre-existing installation of 22.04.1.

   1. Install glibc:
   sudo apt install libc6-dev

   2. Download the binaries Oracle ESQL ProC binaries
   (they are licensed under the Oracle Technology Network
   License Agreement https://www.oracle.com/downloads/licenses/standard-license.html):
   wget https://download.oracle.com/otn_software/linux/instantclient/219000/instantclient-basic-linux.x64-21.9.0.0.0dbru.zip https://download.oracle.com/otn_software/linux/instantclient/219000/instantclient-sdk-linux.x64-21.9.0.0.0dbru.zip https://download.oracle.com/otn_software/linux/instantclient/219000/instantclient-precomp-linux.x64-21.9.0.0.0dbru.zip

   3. Create the destination where the binaries will be copied to:
   sudo mkdir -m a=rwx /opt/oracle

   4. Unzip the binaries:
   a.) unzip instantclient-basic-linux.x64-21.9.0.0.0dbru.zip -d /opt/oracle
   b.) unzip instantclient-sdk-linux.x64-21.9.0.0.0dbru.zip -d /opt/oracle
   c.) unzip instantclient-precomp-linux.x64-21.9.0.0.0dbru.zip -d /opt/oracle

   5. Add configuration to use x86-64 arcitecture and glibc include folder location:
   a.) echo "define=__x86_64__" >> /opt/oracle/instantclient_21_9/precomp/admin/pcscfg.cfg
   b.) echo "sys_include=/usr/include/x86_64-linux-gnu" >> /opt/oracle/instantclient_21_9/precomp/admin/pcscfg.cfg

   6. Create a test source file:
   echo "include <sys/socket.h>" | tee test.cp

   7. Add envirenment variables for the pre-processor:
   a.) export ORACLE_HOME=/opt/oracle/instantclient_21_9
   b.) export LD_LIBRARY_PATH=/opt/oracle/instantclient_21_9

   8. Run the preprocessor:
   $ORACLE_HOME/sdk/proc iname=test.pc oname=test.c sqlcheck=syntax code=ansi_c parse=partial

   This will result in the following error message:
    Syntax error at line 184, column 4, file /usr/include/x86_64-linux-gnu/sys/socket.h:
    Error at line 184, column 4 in file /usr/include/x86_64-linux-gnu/sys/socket.h
    # defien sendmsg __sendmsg64
    ...1
    PCC-S-02014, Encountered the symbol "defien" when expecting one of the following
    :

       a numeric constant, newline, define, endif, error, if, ifdef,
       ifndef, include, include_next, line, pragma, _Pragma, undef,
       an immediate preprocessor command, a C token

[ Where problems could occur ]

 * The bugfix allows compiling glibc for systems where it
   couldn't get compiled before. This could enable the build
   of packages that break others, but this should not count as
   the fault of glibc.

 * A theoretical regression is limited to the sys/socket.h
   sendmsg function because it gets redirected through the
   "#define" macro.

 * A pre-compiler of a non-GNUC compiler that tries to appear
   as a GNUC compiler with an incorrect lexical analyzer could
   result in a different syntax tree. I don't know of an
   example, and Canonical should not support such a
   configuration

[ Other Info ]
                                                                |
 * Many non-GNUC compilers try to appear as a GNUC compiler by
   using pre-defined compiler macros typical for GNUC compilers.
   A non-GNUC compiler that tries to appear as GNUC version two
   or higher may NOT be affected, while a non-GNUC compiler may
   be affected.

 * The original bug report description:

On line 184 in/usr/include/x86_64-linux-gnu/sys/socket.h it says

# defien sendmsg __sendmsg64

which obviously should read "define" instead.

ProblemType: Bug
DistroRelease: Ubuntu 22.04
Package: libc6-dev 2.35-0ubuntu3.1
ProcVersionSignature: Microsoft 4.4.0-22000.653-Microsoft 4.4.35
Uname: Linux 4.4.0-22000-Microsoft x86_64
ApportVersion: 2.20.11-0ubuntu82.1
Architecture: amd64
CasperMD5CheckResult: unknown
Date: Fri Oct 7 13:06:34 2022
ProcEnviron:
 LD_LIBRARY_PATH=<set>
 TERM=xterm-256color
 PATH=(custom, no user)
 LANG=en_GB.UTF-8
 SHELL=/bin/bash
SourcePackage: glibc
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
Karsten Spang (karstenspang) wrote :
Revision history for this message
Steve Beattie (sbeattie) wrote :
Changed in glibc (Ubuntu):
status: New → Confirmed
Changed in glibc (Ubuntu):
status: Confirmed → Triaged
importance: Undecided → Critical
tags: added: foundations-todo
Simon Chopin (schopin)
Changed in glibc (Ubuntu):
importance: Critical → High
Revision history for this message
Simon Chopin (schopin) wrote :

Downgraded as High since it's decidedly not trivial to reproduce.

In theory, this would occur when using a compiler that's not modern clang nor GCC (nor something that attempts to pass as one of those), and explicitly enabling the Y2038K mitigations (presumably on 32-bit architectures).

In practice, I've tried doing so with multiple compilers in the archive (I didn't know we had that many!), and it turns out most of them like to pretend they're GCC, and the others simply don't play well with glibc headers at all.

Revision history for this message
Karsten Spang (karstenspang) wrote :

I ran into this bug using the Oracle ESQL precompiler proc, version 21.7.

I used the options

parse=partial code=ansi_c

You will need the basic client package on https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html and the then follow the Precompiler Downloads link (last under 21.7). They don't have DEB packages, so you will have to use ZIP.

Revision history for this message
Dominik Viererbe (dviererbe) wrote :

Hello Karsten,
thank you for taking the time to report this bug and helping improve Ubuntu.

I try replicating the bug to write a Stable Release Update request for Ubuntu 22.04 jammy. I am not familiar with Oracle ESQL. Can you write more detailed instructions on how to reproduce the bug?

In the meantime, I will try to find a compiler that also reproduces your result.

I did some research today:
A Compilers will exit with a syntax error when a user tries to compile glibc for systems where the 'time_t' type of the default ABI is 32 bits (e.g. arm, hppa, microblaze). The compiler must be a Clang compiler with a major version of less than four and is either a GNUC compiler with a major version of less than two or no GNUC compiler.

If someone should be confused, here is the logical notation: TIME_BITS_SIZE = 32 AND CLANG_MAJOR < 4 AND (NOT GNUC OR GNUC < 2)

As Simon Chopin (schopin) pointed out:
Many non-GNUC compilers try to appear as a GNUC compiler by using pre-defined compiler macros typical for GNUC compilers.

A non-GNUC compiler that tries to appear as GNUC version two or higher may NOT be affected, while a non-GNUC compiler may be affected.

Revision history for this message
Karsten Spang (karstenspang) wrote :

First, you will have to get the Oracle client as described in comment #4 and install it, e.g. under /opt/oracle/instantclient_21_7.

You will have to modify the file precomp/admin/pcscfg.cfg, because it does not have all the include paths needed for Ubuntu. My version looks like:

sys_include=($ORACLE_HOME/sdk/include,/usr/include,/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include,/usr/lib/gcc/x86_64-redhat-linux/4.4.7/include,/usr/lib/gcc/x86_64-redhat-linux/4.4.4/include,/usr/lib64/gcc/x86_64-suse-linux/4.8/include,/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include)
sys_include=/usr/lib64/gcc/x86_64-suse-linux/7/include
sys_include=/usr/lib/gcc/x86_64-redhat-linux/8/include
sys_include=/usr/lib/gcc/x86_64-linux-gnu/9/include
sys_include=/usr/lib/gcc/x86_64-linux-gnu/8/include
sys_include=/usr/lib/gcc/x86_64-linux-gnu/11/include
sys_include=/usr/include/x86_64-linux-gnu
ltype=short
define=__x86_64__
define=_MATH_H

To run, you will need to set these environment variables
- ORACLE_HOME to where you installed the client, e.g. /opt/oracle/instantclient_21_7
- PATH to include where you find proc
- LD_LIBRARY_PATH to include where you find libclntsh.so

Create a file test.pc with the contents
#include <sys/socket.h>

Run
proc iname=test.pc oname=test.c sqlcheck=syntax code=ansi_c parse=partial

Revision history for this message
Karsten Spang (karstenspang) wrote :

In the above, the first four lines of pcscfg.cfg is actually just one line, but the editor broke it up.

Revision history for this message
Karsten Spang (karstenspang) wrote :

Note that even after fixing the bug, proc will complain about variadic macros, which it does not understand. This is OK, that is just a warning, the exit status is still 0.

Revision history for this message
Dominik Viererbe (dviererbe) wrote :

Hello Karsten,
I could replicate your problem and I am in the process of submitting the Stable Release Update (SRU). This is my first SRU and I am still unsure about the process. So it could take a while for it to be accepted or it could be rejected.

Thanks again for submitting the bug and responding to my question :)

description: updated
description: updated
summary: - Syntax error defien in socket.h
+ [SRU] Syntax error defien in socket.h
Changed in glibc (Ubuntu Jammy):
status: New → Triaged
importance: Undecided → High
Simon Chopin (schopin)
Changed in glibc (Ubuntu):
status: Triaged → Fix Released
Changed in glibc (Ubuntu Jammy):
status: Triaged → In Progress
Revision history for this message
Brian Murray (brian-murray) wrote : Please test proposed package

Hello Karsten, or anyone else affected,

Accepted glibc into jammy-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/glibc/2.35-0ubuntu3.2 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-jammy to verification-done-jammy. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-jammy. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in glibc (Ubuntu Jammy):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-jammy
Revision history for this message
Karsten Spang (karstenspang) wrote :
Download full text (3.8 KiB)

I have verified the package from jammy-proposed. Steps taken:

Reinstall original socket.h, since I had modified the file by hand:

$ sudo apt-get --reinstall install libc6-dev
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
0 to upgrade, 0 to newly install, 1 reinstalled, 0 to remove and 0 not to upgrade.
Need to get 0 B/2,099 kB of archives.
After this operation, 0 B of additional disk space will be used.
(Reading database ... 82723 files and directories currently installed.)
Preparing to unpack .../libc6-dev_2.35-0ubuntu3.1_amd64.deb ...
Unpacking libc6-dev:amd64 (2.35-0ubuntu3.1) over (2.35-0ubuntu3.1) ...
Setting up libc6-dev:amd64 (2.35-0ubuntu3.1) ...

Reproduce the error:
Output from proc:

Pro*C/C++: Release 21.0.0.0.0 - Production on Wed Jun 7 09:11:56 2023
Version 21.7.0.0.0

Copyright (c) 1982, 2022, Oracle and/or its affiliates. All rights reserved.

System default option values taken from: /opt/oracle/instantclient_21_7/precomp/admin/pcscfg.cfg

Syntax error at line 184, column 4, file /usr/include/x86_64-linux-gnu/sys/socket.h:
Error at line 184, column 4 in file /usr/include/x86_64-linux-gnu/sys/socket.h
# defien sendmsg __sendmsg64
...1
PCC-S-02014, Encountered the symbol "defien" when expecting one of the following
:

   a numeric constant, newline, define, endif, error, if, ifdef,
   ifndef, include, include_next, line, pragma, _Pragma, undef,
   an immediate preprocessor command, a C token,
The symbol "define," was substituted for "defien" to continue.

Install from jammy-proposed:

$ sudo apt-get install libc6-dev/jammy-proposed
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Selected version '2.35-0ubuntu3.2' (Ubuntu:22.04/jammy-proposed [amd64]) for 'libc6-dev'
Selected version '2.35-0ubuntu3.2' (Ubuntu:22.04/jammy-proposed [amd64]) for 'libc6' because of 'libc6-dev'
Selected version '2.35-0ubuntu3.2' (Ubuntu:22.04/jammy-proposed [amd64]) for 'libc-dev-bin' because of 'libc6-dev'
The following additional packages will be installed:
  libc-dev-bin libc6
Suggested packages:
  glibc-doc
Recommended packages:
  libnss-nis libnss-nisplus
The following packages will be upgraded:
  libc-dev-bin libc6 libc6-dev
3 to upgrade, 0 to newly install, 0 to remove and 0 not to upgrade.
Need to get 5,356 kB of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n]
Get:1 http://archive.ubuntu.com/ubuntu jammy-proposed/main amd64 libc6-dev amd64 2.35-0ubuntu3.2 [2,100 kB]
Get:2 http://archive.ubuntu.com/ubuntu jammy-proposed/main amd64 libc-dev-bin amd64 2.35-0ubuntu3.2 [20.3 kB]
Get:3 http://archive.ubuntu.com/ubuntu jammy-proposed/main amd64 libc6 amd64 2.35-0ubuntu3.2 [3,235 kB]
Fetched 5,356 kB in 1s (6,727 kB/s)
Preconfiguring packages ...
(Reading database ... 82723 files and directories currently installed.)
Preparing to unpack .../libc6-dev_2.35-0ubuntu3.2_amd64.deb ...
Unpacking libc6-dev:amd64 (2.35-0ubuntu3.2) over (2.35-0ubuntu3.1) ...
Preparing to unpack .../libc-dev-bin_2.35-0ubuntu3.2_amd64.deb ...
Unpacking libc-dev-bin (2.35-0ubuntu3.2) over (2.35-0ubuntu3.1) ...
Preparin...

Read more...

tags: added: verification-done-jammy
removed: verification-needed-jammy
Revision history for this message
Karsten Spang (karstenspang) wrote :

Sorry, forgot to state that procedure for testing was the same as in comment #6

Revision history for this message
Ubuntu SRU Bot (ubuntu-sru-bot) wrote : Autopkgtest regression report (glibc/2.35-0ubuntu3.2)

All autopkgtests for the newly accepted glibc (2.35-0ubuntu3.2) for jammy have finished running.
The following regressions have been reported in tests triggered by the package:

adsys/0.9.2~22.04.1 (armhf)
bbmap/38.95+dfsg-1 (armhf)
boost1.74/1.74.0-14ubuntu3 (armhf)
breezy/3.2.1+bzr7585-1build1 (armhf)
casync/2+20201210-1build1 (ppc64el)
cmake/3.22.1-1ubuntu1.22.04.1 (amd64, arm64, armhf)
cython/0.29.28-1ubuntu3 (i386)
dbus-test-runner/16.10.0~bzr100+repack1-4.1 (armhf)
exim4/4.95-4ubuntu2.2 (ppc64el)
fwupd/1.7.9-1~22.04.1 (armhf)
glib-networking/2.72.0-1 (i386)
golang-github-influxdata-tail/1.0.0+git20180327.c434825-4 (ppc64el)
golang-gogoprotobuf/1.3.2-1 (arm64)
grubzfs-testsuite/0.4.15build1 (amd64)
gtk+3.0/3.24.33-1ubuntu2 (i386)
gyoto/1.4.4-7build1 (amd64, arm64, s390x)
ksh93u+m/1.0.0~beta.2-1 (ppc64el)
libassuan/2.5.5-1build1 (amd64)
libflame/5.2.0-3ubuntu3 (s390x)
libite/2.5.1-1 (s390x)
linux-aws-5.19/5.19.0-1027.28~22.04.1 (amd64, arm64)
linux-azure-5.19/5.19.0-1027.30~22.04.2 (amd64)
linux-gcp-5.19/5.19.0-1026.28~22.04.1 (arm64)
linux-gke/5.15.0-1034.39 (arm64)
linux-hwe-5.19/5.19.0-44.45~22.04.1 (amd64)
linux-lowlatency-hwe-5.19/5.19.0-1026.27~22.04.1 (amd64)
linux-oracle-5.19/5.19.0-1025.28~22.04.1 (amd64)
mercurial/6.1.1-1ubuntu1 (amd64)
mtail/3.0.0~rc48-3 (ppc64el)
mutter/42.5-0ubuntu1 (amd64)
mypy/0.942-1ubuntu1 (armhf)
mysql-8.0/8.0.33-0ubuntu0.22.04.2 (s390x)
netgen/6.2.2006+really6.2.1905+dfsg-5build1 (armhf)
notcurses/3.0.6+dfsg.1-1 (armhf)
pango1.0/1.50.6+ds-2ubuntu1 (i386)
phcpack/2.4.85+dfsg-5build1 (arm64)
pinentry/1.1.1-1build2 (i386)
puma/5.5.2-2ubuntu2 (amd64, arm64)
pycryptodome/3.11.0+dfsg1-3build1 (i386)
pygobject/3.42.1-0ubuntu1 (i386)
python-evdev/1.4.0+dfsg-1build2 (i386)
python-llfuse/1.3.8+dfsg-2build1 (armhf)
python-lz4/3.1.3+dfsg-1build3 (i386)
python3.10/3.10.6-1~22.04.2ubuntu1.1 (arm64)
pyyaml/5.4.1-1ubuntu1 (i386)
r-bioc-rhdf5/2.38.0+dfsg-2 (amd64)
r-cran-randomfieldsutils/1.1.0-1 (armhf)
r-cran-spc/1:0.6.5-1 (armhf)
rsync/3.2.7-0ubuntu0.22.04.2 (i386)
ruby-nio4r/2.5.8-2 (amd64)
ruby-nokogiri/1.13.1+dfsg-2 (amd64)
ruby-prof/1.3.1-2build2 (amd64, ppc64el)
rustc/1.65.0+dfsg0ubuntu1-0ubuntu0.22.04.1 (arm64)
seqkit/2.1.0+ds-1 (arm64, s390x)
stunnel4/3:5.63-1build1 (i386)
swtpm/0.6.3-0ubuntu3.2 (s390x)
systemd/249.11-0ubuntu3.9 (amd64, arm64, ppc64el, s390x)
taptempo/1.4.5-1 (amd64)
texinfo/6.8-4build1 (armhf)
ubiquity/22.04.19 (amd64, arm64, armhf, ppc64el)
udisks2/2.9.4-1ubuntu2 (arm64)
utox/0.18.1-1build1 (armhf)
vlc/3.0.16-1build7 (i386)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/jammy/update_excuses.html#glibc

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

Simon Chopin (schopin)
tags: added: verification-done
removed: verification-needed
Revision history for this message
Brian Murray (brian-murray) wrote : Please test proposed package

Hello Karsten, or anyone else affected,

Accepted glibc into jammy-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/glibc/2.35-0ubuntu3.3 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-jammy to verification-done-jammy. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-jammy. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

tags: added: verification-needed verification-needed-jammy
removed: verification-done verification-done-jammy
Revision history for this message
Ubuntu SRU Bot (ubuntu-sru-bot) wrote : Autopkgtest regression report (glibc/2.35-0ubuntu3.2)

All autopkgtests for the newly accepted glibc (2.35-0ubuntu3.2) for jammy have finished running.
The following regressions have been reported in tests triggered by the package:

linux-aws-6.2/6.2.0-1007.7~22.04.1 (arm64)
linux-azure-6.2/6.2.0-1007.7~22.04.1 (arm64)
linux-oracle-5.19/5.19.0-1025.28~22.04.1 (arm64)
mysql-8.0/8.0.33-0ubuntu0.22.04.2 (s390x)
ubiquity/22.04.19 (amd64, arm64, armhf, ppc64el)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/jammy/update_excuses.html#glibc

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

Revision history for this message
Ubuntu SRU Bot (ubuntu-sru-bot) wrote : Autopkgtest regression report (glibc/2.35-0ubuntu3.3)

All autopkgtests for the newly accepted glibc (2.35-0ubuntu3.3) for jammy have finished running.
The following regressions have been reported in tests triggered by the package:

adsys/0.9.2~22.04.1 (arm64)
datefudge/1.24 (arm64)
dbus/1.12.20-2ubuntu4.1 (armhf)
dpdk/21.11.3-0ubuntu0.22.04.1 (arm64)
ganeti/3.0.2-1ubuntu1 (armhf)
gcc-9/9.5.0-1ubuntu1~22.04 (armhf)
gjs/1.72.4-0ubuntu0.22.04.1 (amd64)
golang-github-canonical-go-dqlite/1.10.1-1 (arm64)
golang-github-influxdata-tail/1.0.0+git20180327.c434825-4 (amd64)
golang-github-xenolf-lego/4.1.3-3ubuntu1.22.04.1 (armhf)
golang-gogoprotobuf/1.3.2-1 (amd64, s390x)
google-osconfig-agent/20230504.00-0ubuntu1~22.04.0 (armhf)
gvfs/1.48.2-0ubuntu1 (amd64)
hilive/2.0a-3build3 (arm64)
hyphy/2.5.36+dfsg-1 (amd64)
kmediaplayer/5.92.0-0ubuntu1 (armhf)
libclass-methodmaker-perl/2.24-2build2 (armhf)
libflame/5.2.0-3ubuntu3 (arm64)
libimage-sane-perl/5-1build3 (s390x)
libuev/2.4.0-1.1 (s390x)
linux-aws-6.2/6.2.0-1009.9~22.04.2 (arm64)
linux-azure-5.19/5.19.0-1027.30~22.04.2 (arm64)
linux-azure-6.2/6.2.0-1009.9~22.04.2 (arm64)
linux-gcp-5.19/5.19.0-1030.32~22.04.1 (arm64)
linux-gke/5.15.0-1039.44 (arm64)
linux-hwe-5.19/5.19.0-50.50 (arm64)
linux-lowlatency/5.15.0-79.88 (arm64)
linux-nvidia-6.2/6.2.0-1006.6~22.04.2 (arm64)
linux-nvidia-tegra/5.15.0-1015.15 (arm64)
linux-oem-5.17/5.17.0-1035.36 (amd64)
linux-oracle-5.19/5.19.0-1027.30 (arm64)
linux-xilinx-zynqmp/5.15.0-1023.27 (arm64)
log4cxx/0.12.1-4 (armhf)
netplan.io/0.105-0ubuntu2~22.04.3 (arm64)
notcurses/3.0.6+dfsg.1-1 (armhf)
php-luasandbox/4.0.2-3build1 (ppc64el)
prometheus/2.31.2+ds1-1ubuntu1.22.04.2 (s390x)
qcustomplot/2.0.1+dfsg1-5 (armhf)
r-cran-mice/3.14.0-1 (armhf)
r-cran-randomfields/3.3.14-1 (armhf)
r-cran-sys/3.4-1 (s390x)
ruby-rblineprof/0.3.7-2build3 (arm64)
rustc/1.66.1+dfsg0ubuntu1-0ubuntu0.22.04.1 (arm64)
samba/2:4.15.13+dfsg-0ubuntu1.2 (s390x)
stunnel4/3:5.63-1build1 (ppc64el)
swtpm/0.6.3-0ubuntu3.2 (arm64)
tmux/3.2a-4ubuntu0.2 (ppc64el)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/jammy/update_excuses.html#glibc

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

Revision history for this message
Karsten Spang (karstenspang) wrote :

I have installed 2.35-0ubuntu3.3 from jammy-proposed and run the test again

$ sudo apt-get install libc6-dev
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  libc-dev-bin libc6
Suggested packages:
  glibc-doc
Recommended packages:
  libnss-nis libnss-nisplus
The following packages will be upgraded:
  libc-dev-bin libc6 libc6-dev
3 to upgrade, 0 to newly install, 0 to remove and 0 not to upgrade.
Need to get 5,356 kB of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n]
Get:1 http://archive.ubuntu.com/ubuntu jammy-proposed/main amd64 libc6-dev amd64 2.35-0ubuntu3.3 [2,100 kB]
Get:2 http://archive.ubuntu.com/ubuntu jammy-proposed/main amd64 libc-dev-bin amd64 2.35-0ubuntu3.3 [20.3 kB]
Get:3 http://archive.ubuntu.com/ubuntu jammy-proposed/main amd64 libc6 amd64 2.35-0ubuntu3.3 [3,235 kB]
Fetched 5,356 kB in 1s (4,310 kB/s)
Preconfiguring packages ...
(Reading database ... 82734 files and directories currently installed.)
Preparing to unpack .../libc6-dev_2.35-0ubuntu3.3_amd64.deb ...
Unpacking libc6-dev:amd64 (2.35-0ubuntu3.3) over (2.35-0ubuntu3.2) ...
Preparing to unpack .../libc-dev-bin_2.35-0ubuntu3.3_amd64.deb ...
Unpacking libc-dev-bin (2.35-0ubuntu3.3) over (2.35-0ubuntu3.2) ...
Preparing to unpack .../libc6_2.35-0ubuntu3.3_amd64.deb ...
Unpacking libc6:amd64 (2.35-0ubuntu3.3) over (2.35-0ubuntu3.2) ...
Setting up libc6:amd64 (2.35-0ubuntu3.3) ...
Setting up libc-dev-bin (2.35-0ubuntu3.3) ...
Setting up libc6-dev:amd64 (2.35-0ubuntu3.3) ...
Processing triggers for man-db (2.10.2-1) ...
Processing triggers for libc-bin (2.35-0ubuntu3.1) ...
Scanning processes...
Scanning candidates...
Scanning processor microcode...
Scanning linux images...

Failed to retrieve available kernel versions.

The processor microcode seems to be up-to-date.

No services need to be restarted.

No containers need to be restarted.

User sessions running outdated binaries:
 g705962 @ /dev/tty1: bash[10]
 root @ /dev/pts/0: sh[961]
 root @ /dev/tty1: init[9]

No VM guests are running outdated hypervisor (qemu) binaries on this host.

Then I ran the same test again and got this output from proc:

Pro*C/C++: Release 21.0.0.0.0 - Production on Thu Jun 8 08:55:33 2023
Version 21.7.0.0.0

Copyright (c) 1982, 2022, Oracle and/or its affiliates. All rights reserved.

System default option values taken from: /opt/oracle/instantclient_21_7/precomp/admin/pcscfg.cfg

The fix is still valid in 2.35-0ubuntu3.3

tags: added: verification-done-jammy
removed: verification-needed-jammy
Simon Chopin (schopin)
tags: added: verification-done
removed: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package glibc - 2.35-0ubuntu3.3

---------------
glibc (2.35-0ubuntu3.3) jammy; urgency=medium

  * Drop SVE patches due to kernal-related performance regression
  * Fix the armhf stripping exception for ld.so (LP: #1927192)

glibc (2.35-0ubuntu3.2) jammy; urgency=medium

  * d/rules.d/debhelper.mk: fix permissions of libc.so (LP: #1989082)
  * Cherry-picks from upstream:
    - d/p/lp1999551/*: arm64 memcpy optimization (LP: #1999551)
    - d/p/lp1995362*.patch: Fix ldd segfault with missing libs (LP: #1995362)
    - d/p/lp2007796*: Fix missing cancellation point in pthread (LP: #2007796)
    - d/p/lp2007599*: add new tunables for s390x (LP: #2007599)
    - d/p/lp2011421/*: Fix crash on TDX-enabled platforms (LP: #2011421)
    - d/p/lp1992159*: Fix socket.h headers for non-GNU compilers (LP: #1992159)

 -- Simon Chopin <email address hidden> Wed, 26 Jul 2023 10:27:54 +0200

Changed in glibc (Ubuntu Jammy):
status: Fix Committed → Fix Released
Revision history for this message
Steve Langasek (vorlon) wrote : Update Released

The verification of the Stable Release Update for glibc has completed successfully and the package is now being released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Benjamin Drung (bdrung)
tags: removed: foundations-todo
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.