Commit 7de8923
committed
Fix GH-18847: save EX(opline) before extending the VM stack on all VMs
db7193f sets EX(opline) before zend_vm_stack_extend() so that a fatal
error raised while a call frame is pushed can walk the backtrace, but the
wrappers doing it were compiled only for global-register CALL/HYBRID
builds. Elsewhere the save is skipped, and a frame entered by the tracing
JIT still holds a NULL opline when its first INIT_FCALL hits the memory
limit. Thread execute_data and opline into the wrappers so that every VM
kind performs the save.
Fixes GH-18847
Closes GH-225421 parent 16da1f5 commit 7de8923
5 files changed
Lines changed: 42 additions & 20 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
11 | 14 | | |
12 | 15 | | |
13 | 16 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5729 | 5729 | | |
5730 | 5730 | | |
5731 | 5731 | | |
5732 | | - | |
5733 | 5732 | | |
5734 | | - | |
| 5733 | + | |
5735 | 5734 | | |
5736 | 5735 | | |
5737 | 5736 | | |
| |||
5750 | 5749 | | |
5751 | 5750 | | |
5752 | 5751 | | |
5753 | | - | |
| 5752 | + | |
5754 | 5753 | | |
5755 | 5754 | | |
5756 | 5755 | | |
5757 | 5756 | | |
5758 | | - | |
| 5757 | + | |
5759 | 5758 | | |
5760 | | - | |
5761 | | - | |
5762 | | - | |
5763 | | - | |
5764 | 5759 | | |
5765 | 5760 | | |
5766 | 5761 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3912 | 3912 | | |
3913 | 3913 | | |
3914 | 3914 | | |
3915 | | - | |
| 3915 | + | |
3916 | 3916 | | |
3917 | 3917 | | |
3918 | 3918 | | |
| |||
4070 | 4070 | | |
4071 | 4071 | | |
4072 | 4072 | | |
4073 | | - | |
| 4073 | + | |
4074 | 4074 | | |
4075 | 4075 | | |
4076 | 4076 | | |
| |||
4099 | 4099 | | |
4100 | 4100 | | |
4101 | 4101 | | |
4102 | | - | |
| 4102 | + | |
4103 | 4103 | | |
4104 | 4104 | | |
4105 | 4105 | | |
| |||
4118 | 4118 | | |
4119 | 4119 | | |
4120 | 4120 | | |
4121 | | - | |
| 4121 | + | |
4122 | 4122 | | |
4123 | 4123 | | |
4124 | 4124 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
0 commit comments