Commit Graph

270 Commits

Author SHA1 Message Date
Niels Dossche
00c6d538ab
Fix GH-13834: Applying non-zero offset 36 to null pointer in zend_jit.c (#13846)
* Fix GH-13834: Applying non-zero offset 36 to null pointer in zend_jit.c

ssa_op can be NULL in function JIT. Doing pointer arithmetic on a NULL
pointer is undefined behaviour. Undefined behaviour can be dangerous
because the optimizer may assume then that the variable is not actually
NULL.

To solve this:
1. Add ADVANCE_SSA_OP() to safely add an offset to ssa_op in zend_jit.c
2. For inference, add an extra offset argument to the helper functions.

To reproduce this, use Clang (not GCC) on a test like
sapi/cli/tests/gh12363.phpt (or other tests also work).

* Remove -fno-sanitize=pointer-overflow flag from CI

* Fix NULL pointer offsets added to the stack_map

* Fix an offset add on a potentially NULL ssa->ops

* Fix NULL pointer arithmetic in zend_range_info()

* Address review comments
2024-04-01 13:37:15 +02:00
Ilija Tovilo
8dbc4b61c3
Disable ASLR for benchmark (#13769) 2024-03-20 17:20:29 +01:00
Ilija Tovilo
5b7d45822a
Fix missing llvm deps inside docker 2024-03-19 17:34:18 +01:00
Ilija Tovilo
25a8f155f2
Merge branch 'PHP-8.3'
* PHP-8.3:
  Fix ASan build
2024-03-19 17:17:21 +01:00
Ilija Tovilo
697d1a1c63
Fix ASan build
See https://github.com/actions/runner-images/issues/9491#issuecomment-1989718917

The mentioned workaround doesn't work for us because we run ASan inside Docker.
Instead, we switch to ubuntu-20.04 as the host. The docker setup itself remains
the same.

Closes GH-13757
2024-03-19 17:15:36 +01:00
Ayesh Karunaratne
7ed26c01f5
GitHub Actions: Update action versions to avoid node:16 warnings (#13453)
Note 16 is now EOL, so old GitHub Actions that use node 16 now triggers a warning.

This updates all existing workflows except `dwieeb/needs-reply` to their latest versions.
2024-02-21 13:16:25 +01:00
Ilija Tovilo
f332e53082
[skip ci] Fix docs glob pattern
* does not refer to nested files.
2024-02-18 20:39:00 +01:00
Ilija Tovilo
1beb778b3a
Merge branch 'PHP-8.3'
* PHP-8.3:
  [skip ci] Fix paths-ignore glob pattern
2024-02-18 20:38:26 +01:00
Ilija Tovilo
3d2f9883ba
Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  [skip ci] Fix paths-ignore glob pattern
2024-02-18 20:38:11 +01:00
Ilija Tovilo
a18cf333ba
[skip ci] Fix paths-ignore glob pattern
* does not work for nested files.
2024-02-18 20:37:26 +01:00
Ilija Tovilo
19d2b84788
Create book for docs
Closes GH-13338
2024-02-18 12:16:31 +01:00
Ilija Tovilo
ec9b68cb6a
[skip ci] Skip JIT tests for Apple Silicon + ZTS
JIT will be disabled for Apple Silicon + ZTS anyway. See:

6db95512b4
2024-02-18 00:19:47 +01:00
Peter Kokot
3e237ecfb3
Remove remainings of recent oci extensions removal (#13352)
Following a4d64b2605
2024-02-08 18:04:00 +01:00
Derick Rethans
a4d64b2605
Removed ext/oci8 and ext/pdo_oci (#13327)
* Removed ext/oci8 and ext/pdo_oci

They now live in their own repositories:

https://github.com/php/pecl-database-oci8
https://github.com/php/pecl-database-pdo_oci

As per: https://wiki.php.net/rfc/unbundle_imap_pspell_oci8
2024-02-07 15:34:39 +00:00
Ilija Tovilo
294c9ec36c
[skip ci] Skip push to forks
Creating PRs against forks requries having up-to-date target branches. Pushing
to these currently triggers CI, which is useless as this commit was already
tested upstream. Contributions are tested via pull request.
2024-02-07 13:17:40 +01:00
Shivam Mathur
d8aa6e457f
Add macos-14 to the push and nightly workflows (#13299)
* Add macos-14 to the push workflow

* Remove hardcoded brew path in configure-macos action

* Include architecture in macos job name

* Add os to ccache-action in macos job

* Add libsodium in brew action

Since we build with the configuration option --with-sodium, adding libsodium to make sure it is installed

* Add fail-fast to macos matrix

* Add macos-14 to the nightly workflow

* Fix adding bison to PATH in workflows

* Fix architecture

* Use version to compare in nightly_matrix.php

* Make sure test-macos artifacts have unique name

* Update .github/nightly_matrix.php

Co-authored-by: Ilija Tovilo <ilija.tovilo@me.com>

---------

Co-authored-by: Ilija Tovilo <ilija.tovilo@me.com>
2024-02-02 14:02:57 +05:30
Tim Düsterhus
bba24f04a7
Update GitHub Action workflows to actions/upload-artifact@v4 (master)
This applies the upgrade for workflows that have been added in the master
branch.
2024-01-31 23:36:07 +01:00
Jorg Adam Sowa
0a162394c8
Enable xdebug extension again on nightly (#13192) 2024-01-23 17:36:45 +01:00
Ilija Tovilo
c6a2f2a8ce
[skip ci] Disable pecl redis build 2024-01-23 17:36:07 +01:00
Ilija Tovilo
ffc250d245
Add runtime type inference verification
Co-authored-by: Dmitry Stogov <dmitry@zend.com>

Closes GH-12930
2024-01-19 09:29:14 +01:00
Ilija Tovilo
59c38969de
[skip ci] Remove PHP 8.0 references from CI 2024-01-09 10:39:20 +01:00
Ilija Tovilo
c68f4f616c
[skip ci] Fix macos nightly version for older branches 2023-12-31 13:46:32 +01:00
Ilija Tovilo
40908f32a0
Test JIT on clang/asan build (#13006)
Clang enables the pointer-overflow check which is incompatble with the tracing
JIT. We can still test the JIT by disabling this check.
2023-12-23 19:18:04 +01:00
David CARLIER
952ffbfe50
macOs CI update. (#12998)
macOs CI update.

since sonoma (14) had been released since few months, we could afford to
upgrade to its previous release.
2023-12-22 15:24:53 +00:00
Ilija Tovilo
bea567674c
Merge branch 'PHP-8.3'
* PHP-8.3:
  Reduce parallelism on frequently crashing jobs
2023-11-28 00:31:51 +01:00
Ilija Tovilo
de0cef4a09
Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Reduce parallelism on frequently crashing jobs
2023-11-28 00:31:14 +01:00
Ilija Tovilo
ace91ddd73
Reduce parallelism on frequently crashing jobs
Some jobs on GA apparently consume a lot of CPU resources, possibly hindering
communication between master and runner. This only seems to happen on Linux+ASAN
and macOS. For these jobs, keep one core idle.

Closes GH-12742
2023-11-28 00:27:24 +01:00
KentarouTakeda
7f7da6aef9
Enable pdo-firebird nightly testing (#12699)
* Enable `pdo-firebird` Testing in Nightly

* fix(ext/pdo_firebird/tests): dont detect memory leak

* fix(ext/pdo_firebird): memory alignment error
2023-11-17 15:25:44 +01:00
Ilija Tovilo
44467eb29b
[skip ci] Update libmysqlclient versions
5.7 is EOL, 8.2 was released. Also remove mysqli from these builds as PHP-8.1
goes into security mode, after which nightly is not really actively supported
anymore.

Closes GH-12690
2023-11-16 17:02:35 +01:00
KentarouTakeda
3a544d151c
Enable pdo-firebird Testing in Linux CI Environments (#12677) 2023-11-16 11:52:14 +01:00
Ilija Tovilo
2895d4ac46
[skip ci] Update mysql 8.0 patch 2023-11-16 11:04:42 +01:00
Ilija Tovilo
bef97fb4a5
[skip ci] Fix nightly version check
The last attempt was incorrect for the schedule trigger, which runs multiple PHP
versions. Instead, the version information should be stored in the branch
object.
2023-11-15 11:53:39 +01:00
Daniil Gentili
2ca142ecd8
Improve jit tests
Closes GH-12425
2023-11-14 20:09:27 +01:00
Daniil Gentili
82dcfd19e6
Update nightly config (#12662) 2023-11-14 21:48:01 +03:00
Ilija Tovilo
90fda030bd
Run nightly on single branch with workflow_dispatch and explicit branch (#12649) 2023-11-14 18:24:39 +01:00
Ilija Tovilo
36b7692b9c
Merge branch 'PHP-8.3'
* PHP-8.3:
  Use attribute for ignoring Laravel test
2023-10-31 11:49:19 +01:00
Ilija Tovilo
5e12756ee8
Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Use attribute for ignoring Laravel test
2023-10-31 11:49:11 +01:00
Ilija Tovilo
f22a6440d0
Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Use attribute for ignoring Laravel test
2023-10-31 11:49:02 +01:00
Ilija Tovilo
0e8205bd9a
Use attribute for ignoring Laravel test
Apparently `@group` stopped working.
2023-10-31 11:48:08 +01:00
Ilija Tovilo
e95ba52d88
Merge branch 'PHP-8.3'
* PHP-8.3:
  [skip ci] Fix laravel community build
2023-10-30 17:57:06 +01:00
Ilija Tovilo
0bd1fdd60d
Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  [skip ci] Fix laravel community build
2023-10-30 17:57:00 +01:00
Ilija Tovilo
1707a538f9
Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  [skip ci] Fix laravel community build
2023-10-30 17:56:51 +01:00
Ilija Tovilo
b0bac336b3
[skip ci] Fix laravel community build
FilesystemTest::testSharedGet() uses too much memory and crashes GA. It was
already ignored by adding the `@skip` attribute, but the code changed and the
replacement stopped working.

Closes GH-12570
2023-10-30 17:56:38 +01:00
Ilija Tovilo
3481f5d7a1
Merge branch 'PHP-8.3'
* PHP-8.3:
  [skip ci] Update mysql 5.7 patch
2023-10-30 16:51:07 +01:00
Ilija Tovilo
42cd4fe593
Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  [skip ci] Update mysql 5.7 patch
2023-10-30 16:51:00 +01:00
Ilija Tovilo
18f835f24b
Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  [skip ci] Update mysql 5.7 patch
2023-10-30 16:50:51 +01:00
Ilija Tovilo
c3d2f519d0
[skip ci] Update mysql 5.7 patch 2023-10-30 16:50:30 +01:00
Niels Dossche
046d7f95f1
Use Clang 16 to work around LSAN TLS crashes (#12496) 2023-10-22 22:01:40 +02:00
Ilija Tovilo
8372da71eb
Merge branch 'PHP-8.3'
* PHP-8.3:
  Fix pgsql and mysql tests on GitHub actions
2023-10-20 10:39:07 +02:00
武田 憲太郎
f42cef6675
Fix pgsql and mysql tests on GitHub actions
The tests accidentally stopped running on PHP 8.3+.

Closes GH-12475
2023-10-20 10:38:00 +02:00