File: bug76536.phpt

package info (click to toggle)
php8.2 8.2.29-1~deb12u1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 209,600 kB
  • sloc: ansic: 736,658; php: 33,046; sh: 11,432; cpp: 7,005; pascal: 4,448; javascript: 3,112; asm: 2,404; yacc: 2,222; xml: 1,784; makefile: 689; awk: 148
file content (24 lines) | stat: -rw-r--r-- 660 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
--TEST--
Bug #76536 (PHP crashes with core dump when throwing exception in error handler)
--SKIPIF--
<?php
if (getenv('SKIP_PRELOAD')) die('skip Error handler not available during preloading');
?>
--FILE--
<?php
class SomeConstants {const SOME_CONSTANT = "0foo" % 5; }

function handleError() {throw new ErrorException();}

set_error_handler('handleError');
set_exception_handler('handleError');

$r = new \ReflectionClass(SomeConstants::class);
$r->getConstants();
?>
--EXPECTF--
Fatal error: Uncaught ErrorException in %sbug76536.php:%d
Stack trace:
#0 [internal function]: handleError(Object(ErrorException))
#1 {main}
  thrown in %sbug76536.php on line %d