go to bug id or search bugs for
PHP 7.3.0 Alpha 1 crashes at the end of a script when extension=interbase is loaded.
PHP 7.3.0.Alpha 1 was compiled with VC15 after applying this patch:
cscript /nologo configure.js "--disable-all" "--enable-cli" "--enable-cgi" "--enable-crt-debug" "--enable-debug-pack" "--disable-zts" "--with-interbase=shared"
build-dist with pdb's:
The same thing happens with every other full build (x86 / x64, TS / NTS). They are available here:
php phpinfo.php or php-cgi phpinfo.php, where phpinfo.php =
extension_dir = "ext"
The output of phpinfo() is echoed to the console, but at the end it crashes.
Unhandled exception at 0x7789BA26 (ntdll.dll) in php.exe: 0xC0000005: Access violation reading location 0xBE2C9F38. occurred
> php7.dll!module_destructor(_zend_module_entry * module) Line 2624
php7.dll!module_destructor_zval(_zval_struct * zv) Line 748
[Inline Frame] php7.dll!_zend_hash_del_el_ex(_zend_array * idx, unsigned int) Line 1162
[Inline Frame] php7.dll!_zend_hash_del_el(_zend_array *) Line 1185
php7.dll!zend_hash_graceful_reverse_destroy(_zend_array * ht) Line 1639
php7.dll!zend_shutdown() Line 980
php7.dll!php_module_shutdown() Line 2330
php.exe!main(int argc, char * * argv) Line 1421
Add a Patch
Add a Pull Request
According to GetModuleHandle docs:
| Therefore, do not pass a handle returned by GetModuleHandle to
| the FreeLibrary function.
So please try again after removing the FreeLibrary() call.
The hammer on the nail! So this commit by @KalleZ should be reversed:
Ah yes I see, should be fine reverting it tho I never experienced any issue with it back when I implemented it which I guess is why it was not caught until now
Thanks for testing (and for reporting this issue in the first
place), Jan! I'm not quite sure how to resolve this; see
@kalle: I tested the same thing with one of the recent snapshots at https://windows.php.net/downloads/snaps/master/ with the same segfault as a result.
@christoph: I am not really into the internals of Windows, but reversing Kalle's commit did indeed solve it. FWIW: I recompiled all my builds at https://www.apachelounge.com/viewtopic.php?p=36936#36936 without any problems. Did not run any tests though, due to lack of a operating Firebird server. Maybe Kalle can run the tests.
@jan I sadly don't have a working dev environment with Firebird setup, so it would be a while before I would be able to test.
@christoph Simply reverting my commit should do the trick. Do you have any other places in paticular where you could see this could be an issue?
Anatol's remark on the Internals Win mailinglist:
>On different Windows versions the system loader differs
>in its smartness, so it can handle it a different way.
This triggered me to retry the faulting build-dist under Windows 10: no segfault.
I think we are better off to simply just remove the call, I'm trying to setup a development environment on my new setup and will try take care of it
Automatic comment on behalf of kalle
Log: Fixed bug #76443 (php+php_interbase.dll crash on module_shutdown)