Skip to content

Upgrade master to Ubuntu 24.04 #16704

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Nov 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .github/actions/apt-x32/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,11 @@ runs:
libsodium-dev:i386 \
libsqlite3-dev:i386 \
libssl-dev:i386 \
libtidy-dev:i386 \
libwebp-dev:i386 \
libxml2-dev:i386 \
libxml2-dev:i386 \
libxpm-dev:i386 \
libxslt1-dev:i386 \
libzip-dev:i386 \
locales \
make \
pkg-config:i386 \
Expand Down
3 changes: 1 addition & 2 deletions .github/actions/configure-x32/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ runs:
run: |
set -x

export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib/i386-linux-gnu/pkgconfig"
./buildconf --force
export CFLAGS="-m32 -msse2"
export CXXFLAGS="-m32 -msse2"
Expand All @@ -33,12 +34,10 @@ runs:
--with-freetype \
--with-xpm \
--enable-exif \
--with-zip \
--with-zlib \
--enable-soap \
--enable-xmlreader \
--with-xsl \
--with-tidy \
--enable-sysvsem \
--enable-sysvshm \
--enable-shmop \
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ jobs:
zts: true
asan: true
name: "LINUX_X64_${{ matrix.debug && 'DEBUG' || 'RELEASE' }}_${{ matrix.zts && 'ZTS' || 'NTS' }}${{ matrix.asan && '_ASAN' || '' }}"
runs-on: ubuntu-${{ !matrix.asan && '22' || '24' }}.04
runs-on: ubuntu-24.04
timeout-minutes: 50
steps:
- name: git checkout
Expand Down Expand Up @@ -142,7 +142,7 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 50
container:
image: ubuntu:20.04
image: ubuntu:24.04
env:
MYSQL_TEST_HOST: mysql
PDO_MYSQL_TEST_DSN: mysql:host=mysql;dbname=test
Expand Down Expand Up @@ -255,7 +255,7 @@ jobs:
BENCHMARKING:
name: BENCHMARKING
if: github.repository == 'php/php-src' || github.event_name == 'pull_request'
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
timeout-minutes: 50
steps:
- name: git checkout
Expand Down
5 changes: 4 additions & 1 deletion .github/workflows/root.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,9 @@ jobs:
libmysqlclient_with_mysqli: ${{ (matrix.branch.version[0] == 8 && matrix.branch.version[1] == 1) }}
run_alpine: ${{ (matrix.branch.version[0] == 8 && matrix.branch.version[1] >= 4) || matrix.branch.version[0] >= 9 }}
run_macos_arm64: ${{ (matrix.branch.version[0] == 8 && matrix.branch.version[1] >= 4) || matrix.branch.version[0] >= 9 }}
ubuntu_version: ${{ ((matrix.branch.version[0] == 8 && matrix.branch.version[1] >= 3) || matrix.branch.version[0] >= 9) && '22.04' || '20.04' }}
ubuntu_version: ${{
(((matrix.branch.version[0] == 8 && matrix.branch.version[1] >= 4) || matrix.branch.version[0] >= 9) && '24.04')
|| ((matrix.branch.version[0] == 8 && matrix.branch.version[1] >= 3) && '22.04')
|| '20.04' }}
windows_version: ${{ ((matrix.branch.version[0] == 8 && matrix.branch.version[1] >= 4) || matrix.branch.version[0] >= 9) && '2022' || '2019' }}
secrets: inherit
7 changes: 7 additions & 0 deletions Zend/zend_portability.h
Original file line number Diff line number Diff line change
Expand Up @@ -515,6 +515,13 @@ extern "C++" {
# undef HAVE_FUNC_ATTRIBUTE_IFUNC
#endif

#if __has_feature(memory_sanitizer)
# include <sanitizer/msan_interface.h>
# define MSAN_UNPOISON(value) __msan_unpoison(&(value), sizeof(value))
#else
# define MSAN_UNPOISON(value)
#endif

/* Only use ifunc resolvers if we have __builtin_cpu_supports() and __builtin_cpu_init(),
* otherwise the use of zend_cpu_supports() may not be safe inside ifunc resolvers. */
#if defined(HAVE_FUNC_ATTRIBUTE_IFUNC) && defined(HAVE_FUNC_ATTRIBUTE_TARGET) && \
Expand Down
2 changes: 1 addition & 1 deletion ext/curl/tests/bug77535.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Bug #77535 (Invalid callback, h2 server push)
--EXTENSIONS--
curl
--XLEAK--
--XFAIL--
--SKIPIF--
<?php
include 'skipif-nocaddy.inc';
Expand Down
2 changes: 1 addition & 1 deletion ext/curl/tests/curl_pushfunction_trampoline.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Test trampoline for curl option CURLMOPT_PUSHFUNCTION
--EXTENSIONS--
curl
--XLEAK--
--XFAIL--
Copy link
Member Author

@iluuu1994 iluuu1994 Nov 5, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Upgrading to Ubuntu 24.04 (and curl 8.5.0) changes behavior of this test. Namely, it outputs:

Trampoline for trampoline
Array
...

@Girgias Can you make sense of this? Why wasn't the callback called before?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It might have always been called, but does Ubuntu now have Caddy? As it might have been skipped before. And I didn't figure out how to get Caddy up and running locally?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It recently started leaking, which is when I added the xleak. Hence, I'm pretty sure it wasn't skipped.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Huuuuum, I'll have a look soon, maybe @Ayesh has an idea?

--SKIPIF--
<?php
include 'skipif-nocaddy.inc';
Expand Down
8 changes: 8 additions & 0 deletions ext/pcntl/tests/pcntl_setns_basic.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,14 @@ posix
<?php
if (!function_exists("pcntl_setns")) die("skip pcntl_setns is not available");
if (getenv('SKIP_ASAN')) die('skip Timeouts under ASAN');

$pid = pcntl_fork();
if ($pid == -1) die("skip pcntl_fork failed");
if ($pid != 0) {
if (@pcntl_setns($pid, CLONE_NEWPID) === false && pcntl_get_last_error() == PCNTL_EPERM) {
die("skip Insufficient privileges to use pcntl_setns()");
}
}
?>
--FILE--
<?php
Expand Down
9 changes: 8 additions & 1 deletion ext/pcntl/tests/pcntl_setns_newpid.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,15 @@ posix
--SKIPIF--
<?php
if (!function_exists("pcntl_setns")) die("skip pcntl_setns is not available");
if (posix_getuid() !== 0) die('skip Test needs root user');
if (getenv('SKIP_ASAN')) die('skip Timeouts under ASAN');

$pid = pcntl_fork();
if ($pid == -1) die("skip pcntl_fork failed");
if ($pid != 0) {
if (@pcntl_setns($pid, CLONE_NEWPID) === false && pcntl_get_last_error() == PCNTL_EPERM) {
die("skip Insufficient privileges to use pcntl_setns()");
}
}
?>
--FILE--
<?php
Expand Down
6 changes: 2 additions & 4 deletions ext/pdo_odbc/tests/long_columns.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,8 @@ PDO ODBC "long" columns
pdo_odbc
--SKIPIF--
<?php
// make sure there is an ODBC driver and a DSN, or the test will fail
include 'ext/pdo/tests/pdo_test.inc';
$config = PDOTest::get_config('ext/pdo_odbc/tests/common.phpt');
if (!isset($config['ENV']['PDOTEST_DSN']) || $config['ENV']['PDOTEST_DSN']===false) print 'skip';
require 'ext/pdo/tests/pdo_test.inc';
PDOTest::skip();
?>
--FILE--
<?php
Expand Down
1 change: 1 addition & 0 deletions ext/standard/basic_functions.c
Original file line number Diff line number Diff line change
Expand Up @@ -1182,6 +1182,7 @@ PHP_FUNCTION(time_nanosleep)
RETURN_TRUE;
} else if (errno == EINTR) {
array_init(return_value);
MSAN_UNPOISON(php_rem);
add_assoc_long_ex(return_value, "seconds", sizeof("seconds")-1, php_rem.tv_sec);
add_assoc_long_ex(return_value, "nanoseconds", sizeof("nanoseconds")-1, php_rem.tv_nsec);
return;
Expand Down