今日は array_multisort() のバグ修正、未定義関数参照時のエラー出力の修正、opcache の最適化で消えたらあかんコードが消える問題の修正、$GLOBALS の print_r() の修正、zend_compile_class_ref_ex() の ex 外し、誤った ZEND_NORMALIZE_BOOL() の使い方の修正、mysqlnd のプラグイン用の構造体宣言への PHPAPI の追加、ZEND_PARSE_PARAMETERS_NONE() を使ってなかった箇所を使うよう修正、ext/skelton を 7.2 コードから使う用に ZEND_PARSE_PARAMETERS_NONE() の polyfill 追加、配列リテラルのカンマが変に多い際の出力での行番号出力修正、FreeBSD での ifunc 無効化、opcache の 32bit 版でのアライメント対策の修正があった!年明けから多い!
2019-01-02
laruence: Fixed bug #77395 (segfault about array_multisort)
- https://github.com/php/php-src/commit/8ebae84674c75c3483550fb6e9da49122d952c99
- [7.2~]
- array_multisort() 利用時に SEGV が出る場合がある問題の修正
laruence: Update NEWS
- https://github.com/php/php-src/commit/703ccd5d2738d79e5df1a7f30cff7efd18c9d1bd
- [7.3~]
- ↑の修正の(7.3 用の箇所への)NEWS への追記
laruence: Fixed bug #77376 ("undefined function" message no longer includes namespace)
- https://github.com/php/php-src/commit/e01f08f679105b5fc80a6e65774731821227b66f
- [7.3~]
- 未定義関数参照時のエラー出力が名前空間を含まなくなっていた問題の修正
- 3v4l のバグハント機能から拾って起票したみたい
nikic: Fixed bug #77257
- https://github.com/php/php-src/commit/91888cc372200543d6d40ebb0120d7c8ef7575e3
- [7.3~]
- ext/opcache で、最適化によって switch-case 内の代入が消えてしまう場合がある問題の修正
- SSA の最適化のあたりなのは分かるけどあまり詳しく追ってない
- 結構ツラいバグな気がする
laruence: Fixed bug #77387 (Recursion detection broken when printing GLOBALS)
- https://github.com/php/php-src/commit/54a58a73805991d3cec927a112965368211b03a5
- [7.3~]
-
$GLOBALS
の再帰検知が 7.3 以降でうまく動作しなくなっており、print_r() できなくなっていた問題の修正 - これも 3v4l のバグハント機能から拾って起票したみたい、benri だな
laruence: Entry get lost while merging
- https://github.com/php/php-src/commit/1b86f84908b4fd495e7da11e84e4575d703408a6
- [7.3~]
- マージで消しちゃった NEWS エントリを復帰
nikic: Drop _ex from zend_compile_class_ref_ex
- https://github.com/php/php-src/commit/636b1c3d26ba388a06f6bae80e9639958ca050d6
- zend_compile_class_ref_ex() の _ex を削除
- _ex じゃない版がすでになくなってて唯一無二の zend_compile_class_ref() になってたので
nikic: Fix ZEND_NORMALIZE_BOOL usage
- https://github.com/php/php-src/commit/7ac3c2fa655d1961937f86a8d3ef2c5e96cf4f76
- だいぶ前のコード整理 で入った誤った ZEND_NORMALIZE_BOOL() の使い方の修正
weltling: Fixed bug #75684 In mysqlnd_ext_plugin.h the plugin methods family has no external visibility
- https://github.com/php/php-src/commit/7b3f8e746af83b044ff86c0d864801929b1dd1d9
- [7.2~]
- ext/mysqlnd で、プラグイン用の構造体に PHPAPI (Windows 版では
__declspec(dllexport)
や__declspec(dllimport)
に展開)がなく見えなかった問題の修正
weltling: Update NEWS
- https://github.com/php/php-src/commit/1732ce9c2357ac5f25f2cc997efb75f673728001
- [7.3~]
- ↑の NEWS への追記
nikic: Use ZEND_PARSE_PARAMETERS_NONE in pcre
- https://github.com/php/php-src/commit/2fab3302aed1323a20c592fce1423d0138b7de09
- ext/pcre で、preg_last_error() の実装に
ZEND_PARSE_PARAMETERS_START(0, 0)
でなくZEND_PARSE_PARAMETERS_NONE()
を使うよう修正
vjardinMisc: skeleton: support PHP 7.2
- https://github.com/php/php-src/commit/91e44a27f68aa808e03d11b108ae8c8ea3e4c2f9
- [7.3~]
- ext/skelton で、7.2 のコードベースから使われた時用に ZEND_PARSE_PARAMETERS_NONE() の polyfill を用意
Andrey Hristov: Test commit
- https://github.com/php/php-src/commit/d64b74869cd24949bd9b6d231ff08556a47224ed
- ext/mysqlnd で、改行 1 つ足す謎コミット
nikic: Partial fix for bug #75426
- https://github.com/php/php-src/commit/73596c56e7905ce5b7c4f15d551361ee744cad0c
- [7.2~]
- 配列リテラルのカンマが変に多い際、エラーメッセージが配列定義先頭の行番号だったのを、正常に定義が書かれていた最終行の行番号を出すよう修正
nikic: Disable ifuncs on FreeBSD
- https://github.com/php/php-src/commit/291589114aa9be899cf7d5d874c3b5bbdb35f336
- [7.3~]
- FreeBSD で base64 などが正常動作しない問題 #77284 があり、ifunc 経由で SIMD 版使う部分が怪しいのでは、というので、FreeBSD ビルドでは一旦 ifunc を使わないようビルドシステムを修正
nikic: Possible fix for bug #77287
- https://github.com/php/php-src/commit/325a1139744413420a62d3006c04914587628810
- [7.3~]
- ext/opcache で、32 bit 版ではアライメントの関係でバグるかも、という箇所を修正
- 報告のバグ自体は 64 bit でも起きるということで、違う問題かもという状態
nikic: Fix undefined function error message
- https://github.com/php/php-src/commit/fe359cf1ff701cdcb66b32882e2352256c4435db
- 未定義関数呼び出しのエラーメッセージを修正
- master でのテストこけ対策