--- /dev/null
+--TEST--
+Bug # 32226 (SEGV with exception handler on non existing instance)
+--FILE--
+<?
+
+class A
+{
+ public function A()
+ {
+ set_exception_handler(array($this, 'EH'));
+
+ throw new Exception();
+ }
+
+ public function EH()
+ {
+ restore_exception_handler();
+
+ throw new Exception();
+ }
+}
+
+try
+{
+$a = new A();
+}
+catch(Exception $e)
+{
+ echo "Caught\n";
+}
+
+?>
+===DONE===
+--EXPECT--
+Caught
+===DONE===
if (function_name) {
add_assoc_string_ex(stack_frame, "function", sizeof("function"), function_name, 1);
- if (ptr->object) {
+ if (ptr->object && Z_TYPE_P(ptr->object) == IS_OBJECT) {
class_name = Z_OBJCE(*ptr->object)->name;
call_type = "->";
} else if (ptr->function_state.function->common.scope) {