[go: up one dir, main page]

Skip to content
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

ext\spl\tests\bug77263.phpt test is causing sigfault on Windows 32-bit OS #8450

Closed
mvorisek opened this issue Apr 27, 2022 · 6 comments
Closed

Comments

@mvorisek
Copy link
Contributor
mvorisek commented Apr 27, 2022

Description

code https://github.com/php/php-src/blob/9b8f76bfa29ff234ff45a27b8171e13c9b8d2928/ext/spl/tests/bug77263.phpt
CI: https://github.com/mvorisek/php-src/runs/6201706203?check_suite_focus=true#step:8:3851

========DIFF========
001+ Can't initialize heap: [0x000001e7] Attempt to access invalid address

001- OK

002+ 

003+ Termsig=-1073741819
========DONE========
FAIL Bug #77263 (Segfault when using 2 RecursiveFilterIterator) [D:\a\php-src\php-src\ext\spl\tests\bug77263.phpt] 

for some reasons, this issue is not always present

PHP Version

8.x, probably master too

Operating System

Windows 32-bit

@cmb69
Copy link
Member
cmb69 commented Apr 28, 2022

I haven't been able to reproduce this locally, and I have no idea what exactly is going there.

@mvorisek
Copy link
Contributor Author

it is failing randomly

sapi/phpdbg/tests/watch_001.phpt - sapi/phpdbg/tests/watch_004.phpt tests have never failed for me
but sapi/phpdbg/tests/watch_005.phpt - sapi/phpdbg/tests/watch_006.phpt is failing consistently with the same Termsig=-1073741819 error code, not sure if this is related, but can you reproduce the segfault for these tests on Windows 32-bit?

@cmb69
Copy link
Member
cmb69 commented Apr 28, 2022

it is failing randomly

Yeah, I know, but I ran several times (x86 ZTS, with and without JIT), and it never failed. :(

Neither sapi/phpdbg/tests/watch_005.phpt nor sapi/phpdbg/tests/watch_006.phpt is failing for me. However, -1073741819 is basically 0xc0000005 which is the code for an access violation (aka. segfault), and these tests mention "intentionally causes segfaults"; these should be caught, though, but for some reason they're not (or an uncaught segfault happens). Anyway, hard to debug if not reproducible.

@mvorisek
Copy link
Contributor Author

I do not know how to debug this, but here is repro code: https://github.com/mvorisek/php-src/tree/repro_win32bit_segfault

the sapi/phpdbg/tests/watch_005.phpt and sapi/phpdbg/tests/watch_006.phpt tests always fail [1], the env is Microsoft Windows Server 2019 Datacenter 64 bit OS & php-src compiled for x86 platform

is it possible to update the repro code to dump the C stack trace to understand the issue just from the CI output?

[1] https://github.com/mvorisek/php-src/runs/6213041816?check_suite_focus=true#step:5:84

@cmb69
Copy link
Member
cmb69 commented May 3, 2022

is it possible to update the repro code to dump the C stack trace to understand the issue just from the CI output?

Hmm, that would require to install and register a post mortem debugger, which than would create a (huge) dump file. That dump file would need to be uploaded as artifact, and could then be downloaded for inspection. Not sure if that's worth the trouble for phpdbg issues.

@mvorisek
Copy link
Contributor Author
mvorisek commented Oct 1, 2022

duplicate of #9650

@mvorisek mvorisek closed this as completed Oct 1, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants