libphp.so dumps core in sapi_register_post_entry+0x31()
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- C
- Sterne
- 40.4k
- Forks
- 8.1k
- Ø Merge
- 2 T. 13 Std.
- Gemergte PRs (30 T.)
- 96
Beschreibung
Description
Starting Apache with libphp imediately ends with core dump:
httpd:core> $C
7fdd8f067660 libphp8.1.so`sapi_register_post_entry+0x31()
7fdd8f067680 libphp8.1.so`sapi_register_post_entries+0x2a()
7fdd8f067690 libphp8.1.so`php_setup_sapi_content_types+0x10()
7fdd8f0676e0 libphp8.1.so`tsrm_update_active_threads+0xb0()
7fdd8f067720 libphp8.1.so`ts_allocate_fast_id+0xe3()
7fdd8f067760 libphp8.1.so`php_apache_server_startup+0x6c()
7fdd8f0677b0 ap_run_post_config+0x54()
7fdd8f0678f0 main+0x1873()
7fdd8f067900 0x465fc4()
This worked well with PHP 8.1.0.
git bisessct gives following output:
72f8dbb31295e4e5633a9033c6d91a45d102c485 is the first bad commit
commit 72f8dbb31295e4e5633a9033c6d91a45d102c485
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Nov 24 20:43:30 2021 +0300
Fixed bug #81634 (ZEND_ENABLE_STATIC_TSRMLS_CACHE produces extensionswith the STATIC_TLS flag)
TSRM/TSRM.h | 8 ++++++--
Zend/zend.c | 2 +-
Zend/zend.h | 4 ++++
build/php.m4 | 2 +-
win32/build/confutils.js | 2 +-
5 files changed, 13 insertions(+), 5 deletions(-)
Apply reversely patch from above commit allows me to use PHP 8.1.5.
PHP Version
PHP 8.1.5
Operating System
Solaris
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, den Apache/libphp-Startabsturz auf Solaris zu reproduzieren und den ersten fehlerhaften Commit 72f8dbb31295e4e5633a9033c6d91a45d102c485 zu überprüfen. Lies TSRM/TSRM.h, Zend/zend.c, Zend/zend.h und build/php.m4 im Umfeld dieser Änderung. Erledigt ist die Aufgabe, wenn PHP 8.1.5 mit libphp starten kann, ohne einen Core-Dump zu erzeugen, und die Regression durch einen geeigneten Test abgedeckt ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- c, php
- Bereich
- backend, operating-systems
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 28/100