Skip to content

Segmentation fault in exception handler with CALL VM on AArch64 #12809

Closed
@pfustc

Description

@pfustc

Description

Hi @dstogov,

I just see a new segmentation fault issue in exception handlers on AArch64 with CALL VM debug build. I don't see this issue a few weeks ago, so it's probably caused by some recent patch.

The following code:

<?php
  $error = 1 / 0;
?>

Resulted in this output:

Segmentation fault (core dumped)

But I expected this output instead:

PHP Fatal error:  Uncaught DivisionByZeroError: Division by zero in /mnt/local/www/index.php:2
Stack trace:
#0 {main}
  thrown in /mnt/local/www/index.php on line 2

My PHP was built with php Zend/zend_vm_gen.php --with-vm-kind=CALL and bash configure --enable-debug.

My php.ini

opcache.enable_cli=1
opcache.jit=function
opcache.jit_buffer_size=16M
opcache.jit_debug=0x100
opcache.jit_hot_func=1
opcache.jit_hot_loop=1
opcache.jit_hot_return=1
opcache.jit_hot_side_exit=1
zend.assertions=1

This can happen on general Linux/AArch64 so it's easy to reproduce.

PHP Version

PHP master @ 6bd680b

Operating System

Ubuntu 22.04

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions