phpv8 / v8js

V8 Javascript Engine for PHP — This PHP extension embeds the Google V8 Javascript Engine
http://pecl.php.net/package/v8js
MIT License
1.84k stars 200 forks source link

PHP7 segfaulting - very strange #250

Closed tahpot closed 8 years ago

tahpot commented 8 years ago

See the code below which segfaults on execution, however the segfault can be fixed with seemingly irrelevant code changes.

It's all very strange and I have no idea what is going on. As a result, I haven't been able to reduce the problem any further.

<?php

class TestObject {

    private $data = [];
    private $meta = [];

    public function setTitle($title) {
        $this->a->b->title = $title;
    }

    public function getData() {
        return $this->data;
    }

    public function getMeta() {
        return $this->meta;
    }

    public function setData($data=[]) {
        $this->data = $data;
    }

    public function setMeta($meta) {
        return;
    }
}

$v8 = new V8Js("server");
$code = <<< EOT
    var v1 = server.response.getData();
    var v2 = server.response.getMeta();

    server.response.setData({});
    server.response.setTitle("ouch");
    server.response.setMeta({});
EOT;

$response = new TestObject();

$v8->response = $response;

try {
    $result = $v8->executeString($code);
    var_dump($v8->response);
} catch (V8JsException $e) {
    var_dump($e);
}

?>

System info:

several27 commented 8 years ago

Do u think it might be related to https://github.com/phpv8/v8js/issues/246 ?

tahpot commented 8 years ago

Possibly? I really don't know. My code snippet doesn't use array_walk_recursive, but the behaviour is very strange.

smebberson commented 8 years ago

Try this one:

<?php

class TestObject {

    var $data;

    public function setData($data) {
        $this->data = $data;
    }

    public function getData() {
        return $this->data;
    }

}

$v8 = new V8Js("server");

$code = <<< EOT
    server.response.setData({"new": true});
EOT;

$v8->response = new TestObject();

try {
    $result = $v8->executeString($code, null, \V8Js::FLAG_FORCE_ARRAY | \V8Js::FLAG_PROPAGATE_PHP_EXCEPTIONS);
    var_dump($v8->response->getData());
} catch (V8JsException $e) {
    var_dump($e);
}

?>

It produces the following:

array(1) {
  ["ewata_��|�datasetData_��|�data $ Lthis! L_��|�data ! L_��|�datagetData@! Lthis�! L_��|�data�yY�v8�! LP0�|�V8Js�v�S�server�! L�&gt;�|�code " L�yY�v8�/S�result@" L�yY�v8�" L�&gt;�|�code�" L@a�|�null�" LV8Js�" LV8Js# L�yY�v8 # L�&amp;a����getData
��e@# L
��e��-����setdata�  L�K��������  L�K��������! L@�N`" L`# L@$ L`$ L�$ L�$ L�$ L% L�$ L% L % L@% L`% L�% L�% L�% L�% L�% L&amp; L@&amp; L &amp; L@&amp; L`&amp; L�&amp; L�&amp; L�&amp; L�&amp; L�&amp; L' L ' L@' L�' L`' L�' L�' L�' L�' L ( L( L ( L@( L`( L�( L�( L�( L�( L�( L) L ) L`) L@) L`) L�) L�) L�) L* L�) L* L * L@* L`* L�* L�* L�* L�* L�* L+ L@+ L + L@+ L`+ L�+ L�+ L�+ L�+ L�+ L, L , L@, L�, L`, L�, L�, L�, L�, L - L- L - L@- L`- L�- L�- L�- L�- L�- L. L . L`. L@. L`. L�. L�. L�. L/ L�. L/ L / L@/ L`/ L�/ L�/ L�/ L�/ L�/ L�3 L0!L424cd29(`%LP&amp;L����`�%Lp�N���� �%L����P�\N����2Nx1 L�1 L�1 L�1 L�1 L�1 LPq%L(�  L0 L�  L0 L0P%L L����p'L LPq%L  �����# L�3 L`! L0 L L�����'LPq%L
�����# L�3 L0 L(0 L(�3 L4 L@4 L4 L4 L 4 L(4 L04 L84 L@4 L�4 LP4 LX4 L`4 Lh4 Lp4 Lx4 L�4 L�4 L�4 L�4 L�4 L�4 L�4 L�4 L�4 L5 L�4 L�4 L�4 L�4 L�4 L�4 L5 L@5 L5 L5 L 5 L(5 L05 L85 L@5 L�5 LP5 LX5 L`5 Lh5 Lp5 Lx5 L�5 L�5 L�5 L�5 L�5 L�5 L�5 L�5 L�5 L6 L�5 L�5 L�5 L�5 L�5 L�5 L6 L@6 L6 L6 L 6 L(6 L06 L86 L@6 L�6 LP6 LX6 L`6 Lh6 Lp6 Lx6 L�6 L�6 L�6 L�6 L�6 L�6 L�6 L�6 L�6 L7 L�6 L�6 L�6 L�6 L�6 L�6 L7 L@7 L7 L7 L 7 L(7 L07 L87 L@7 L�7 LP7 LX7 L`7 Lh7 Lp7 Lx7 L�7 L�7 L�7 L�7 L�7 L�7 L�7 L�7 L�7 L8 L�7 L�7 L�7 L�7 L�7 L�7 L8 L@8 L8 L8 L 8 L(8 L08 L88 L@8 L�8 LP8 LX8 L`8 Lh8 Lp8 Lx8 L�8 L�8 L�8 L�8 L�8 L�8 L�8 L�8 L�8 L9 L�8 L�8 L�8 L�8 L�8 L�8 L9 L@9 L9 L9 L 9 L(9 L09 L89 L@9 L�9 LP9 LX9 L`9 Lh9 Lp9 Lx9 L�9 L�9 L�9 L�9 L�9 L�9 L�9 L�9 L�9 L: L�9 L�9 L�9 L�9 L�9 L�9 L: L@: L: L: L : L(: L0: L8: L@: L�: LP: LX: L`: Lh: Lp: Lx: L�: L�: L�: L�: L�: L�: L�: L�: L�: L; L�: L�: L�: L�: L�: L�: L; L@; L; L; L ; L(; L0; L8; L@; L�; LP; LX; L`; Lh; Lp; Lx; L�; L�; L�; L�; L�; L�; L�; L�; L�; L&lt; L�; L�; L�; L�; L�; L�; L&lt; L@&lt; L&lt; L&lt; L &lt; L(&lt; L0&lt; L8&lt; L@&lt; L�&lt; LP&lt; LX&lt; L`&lt; Lh&lt; Lp&lt; Lx&lt; L�&lt; L�&lt; L�&lt; L�&lt; L�&lt; L�&lt; L�&lt; L�&lt; L�&lt; L= L�&lt; L�&lt; L�&lt; L�&lt; L�&lt; L�&lt; L= L@= L= L= L = L(= L0= L8= L@= L�= LP= LX= L`= Lh= Lp= Lx= L�= L�= L�= L�= L�= L�= L�= L�= L�= L&gt; L�= L�= L�= L�= L�= L�= L&gt; L@&gt; L&gt; L&gt; L &gt; L(&gt; L0&gt; L8&gt; L@&gt; L�&gt; LP&gt; LX&gt; L`&gt; Lh&gt; Lp&gt; Lx&gt; L�&gt; L�&gt; L�&gt; L�&gt; L�&gt; L�&gt; L�&gt; L�&gt; L�&gt; L? L�&gt; L�&gt; L�&gt; L�&gt; L�&gt; L�&gt; L? L@? L? L? L ? L(? L0? L8? L@? L�? LP? LX? L`? Lh? Lp? Lx? L�? L�? L�? L�? L�? L�? L�? L�? L�? L�? L�? L�? L�? L�? L�? L @ L@ L@ L@ L(@ L0@ L8@ L@@ LH@ LP@ LX@ L`@ Lh@ Lp@ Lx@ L�@ L�@ L�@ L�@ L�@ L�@ L�@ L�@ L�@ L�@ L�@ L�@ L�@ L�@ L�@ L�@ LA LA LA LA L A L(A L0A L8A L@A LHA LPA LXA L`A LhA LpA LxA L�A L�A L�A L�A L�A L�A L�A L�A L�A L�A L�A L�A L�A L�A L�A L�A LB LB LB LB L B L(B L0B L8B L@B LHB LPB LXB L`B LhB LpB LxB L�B L�B L�B L�B L�B L�B L�B L�B L�B L�B L�B L�B L�B L�B L�B L�B LC LC LC LC L C L(C L0C L8C L@C LHC LPC LXC L`C LhC LpC LxC L�C L�C L�C L�C L�C L�C L�C L�C L�C L�C L�C L�C L�C L�C L�C L�C LD LD LD LD L D L(D L0D L8D L@D LHD LPD LXD L`D LhD LpD LxD L�D L�D L�D L�D L�D L�D L�D L�D L�D L�D L�D L�D L�D L�D L�D L�D LE LE LE LE L E L(E L0E L8E L@E LHE LPE LXE L`E LhE LpE LxE L�E L�E L�E L�E L�E L�E L�E L�E L�E L�E L�E L�E L�E L�E L�E L�E LF LF LF LF L F L(F L0F L8F L@F LHF LPF LXF L`F LhF LpF LxF L�F L�F L�F L�F L�F L�F L�F L�F L�F L�F L�F L�F L�F L�F L�F L�F LG LG LG LG L G L(G L0G L8G L@G LHG LPG LXG L`G LhG LpG LxG L�G L�G L�G L�G L�G L�G L�G L�G L�G L�G L�G L�G L�G L�G L�G L�G LH LH LH LH L H L(H L0H L8H L@H LHH LPH LXH L`H LhH LpH LxH L�H L�H L�H L�H L�H L�H L�H L�H L�H L�H L�H L�H L�H L�H L�H L�H LI LI LI LI L I L(I L0I L8I L@I LHI LPI LXI L`I LhI LpI LxI L�I L�I L�I L�I L�I L�I L�I L�I L�I L�I L�I L�I L�I L�I L�I L�I LJ LJ LJ LJ L J L(J L0J L8J L@J LHJ LPJ LXJ L`J LhJ LpJ LxJ L�J L�J L�J L�J L�J L�J L�J L�J L�J L�J L�J L�J L�J L�J L�J L�J LK LK LK LK L K L(K L0K L8K L@K LHK LPK LXK L`K LhK LpK LxK L�K L�K L�K L�K L�K L�K L�K L�K L�K L�K L�K L�K L�K L�K L�K L�K LL LL LL LL L L L(L L0L L8L L@L LHL LPL LXL L`L LhL LpL LxL L�L L�L L�L L�L L�L L�L L�L L�L L�L L�L L�L L�L L�L L�L L�L L�L LM LM LM LM L M L(M L0M L8M L@M LHM LPM LXM L`M LhM LpM LxM L�M L�M L�M L�M L�M L�M L�M L�M L�M L�M L�M L�M L�M L�M L�M L�M LN LN LN LN L N L(N L0N L8N L@N LHN LPN LXN L`N LhN LpN LxN L�N L�N L�N L�N L�N L�N L�N L�N L�N L�N L�N L�N L�N L�N L�N L�N LO LO LO LO L O L(O L0O L8O L@O LHO LPO LXO L`O LhO LpO LxO L�O L�O L�O L�O L�O L�O L�O L�O L�O L�O L�O L�O L�O L�O L�O L�O L`P Llic/web/v8.5.phpnxmlP L�Y�1�_csrf P L�Y�1�_csrfT Llic/web/v8.5.php�Q Ll; charset=UTF-8etdata�S L_��|�data@P LPHP.�S LsetData�P L_��|�data T Lthis Q L_��|�data@Q L_��|�data�S LgetData`Q Lthis�Q L_��|�data R L�yY�v8�Q LP0�|�V8Js�R L�v�S�serverR L�&gt;�|�code@R L�yY�v8`S L�/S�result`R L�yY�v8�R L�&gt;�|�code�R L@a�|�null�R LV8JsS L�yY�v8 S L�&amp;a����getData�P L
��e@S L
��e�Q L��-����setdata�P L�K�������Q L�K��������S L@�N�R L`S L@T L`T L�T L�T L�T L�T LU L U L@U L`U L�U L�U L�U L�U LV L V L@V L`V L�V L�V L�V L�V LW L W L@W L`W L�W L�W L�W L�W LX L X L@X L`X L�X L�X L�X L�X LY L Y L@Y L`Y L�Y L�Y L�Y L�Y LZ L Z L@Z L`Z L�Z L�Z L�Z L�Z L[ L [ L@[ L`[ L�[ L�[ L�[ L�[ L\ L \ L@\ L`\ L�\ L�\ L�\ L�\ L] L ] L@] L`] L�] L�] L�] L�] L^ L ^ L@^ L`^ L�^ L�^ L�^ L�^ L_ L _ L@_ L`_ L�_ L�_ L�_ L�_ L�c L`!L/docker(�%L  L����`&amp;Lp�N���� &amp;L����P�\N����2N�a LP�%L(`'L` L�P L` L0�%L@ L�����'L@ LP�%L �����S L�c L�Q L` L@ L����`'LP�%L
�����S L�c L` L(` L((d L`d L�d L�d Le L@e Lxe L�e L�e L f LXf L�f L�f Lg L8g Lpg L�g L�g Lh LPh L�h L�h L�h L0i Lhi L�i L�i Lj LHj L�j L�j L�j L(k L`k L�k L�k Ll L@l Lxl L�l L�l L m LXm L�m L�m Ln L8n Lpn L�n L�n Lo LPo L�o L�o L0p Lreahrefframesrcformfieldset`p L�p L�p L�p L q LPq L�q L�q L�q Lr L@r Lpr L�r L�r Ls L0s L`s L�s L�s L�s L t LPt L�t L�t L�t Lu L@u Lpu L�u L�u Lv L0v L`v L�v L�v L�v L w LPw L�w L�w L�w Lx L@x Lpx L�x L�x Ly L0y L`y L�y L�y L�y L z LPz L�z L�z L�z L{ L@{ Lp{ L�{ L�{ L| L0| L`| L�| L�| L�| L } LP} L�} L�} L�} L~ L@~ Lp~ L�~ L�~ L L0 L` L� L� LP� Lal/lib/php/extensions/no-debug-non-zts-20151012/v8js.soso�� L�� L@� L�� L�� L0� L�� LТ L � Lp� L�� L� L`� L�� L� LP� L�� L�� L@� L�� L�� L0� L�� LЧ L � Lp� L�� L� L`� L�� L� LP� L�� L�� L@� L�� L�� L0� L�� LЬ L � Lp� L�� L� L`� L�� L� LP� L�� L(� L���h���standardrfaceP� Lx� L�� LȰ L�� L� L@� Lh� L�� L�� L�� L� L0� LX� L�� L�� Lв L�� L � LH� Lp� L�� L�� L�� L� L8� L`� L�� L�� Lش L� L(� LP� Lx� L�� Lȵ L�� L� L@� Lh� L�� L�� L�� L� L0� LX� L�� L�� Lз L�� L � LH� Lp� L�� L�� L�� L� L8� L`� L�� L�� Lع L� L(� LP� Lx� L�� LȺ L�� L� L@� Lh� L�� L�� L�� L� L0� LX� L�� L�� Lм L�� L � LH� Lp� L�� L�� L�� L� L8� L`� L�� L�� Lؾ L� L(� LP� Lx� L�� Lȿ L00!L0%L��'L��%LpےNp&amp;L��%L��&amp;L'L��&amp;L�q%L�q%L�q%L��N00!L�q%L�'L�1!L3 L�q%L@0 L00!L�3 L�# L�1!L�q%L�# L�q%L0`!L`%L��'L�&amp;LpےN�&amp;L�&amp;L��&amp;L'L��&amp;L��%L��%L0`'L��N0`!L0`'L`'L�a!Lc L��%L@` L0`!L�c L�S L�a!L0`'L�S L0`'L��&amp;L�q%LX-Powered-By: PHP/7.0.9HP%L�&amp;L`��N�  L`P%LxP%L�P%L�P%L�P%L�P%L�P%LQ%L Q%L8Q%LPQ%LhQ%L�Q%L�Q%L�Q%L�Q%L�Q%L�Q%LR%L(R%L@R%LXR%LpR%L�R%L�R%L�R%L�R%L�R%LS%LS%L0S%LHS%L`S%LxS%L�S%L�S%L�S%L�S%L�S%LT%L T%L8T%LPT%LhT%L�T%L�T%L�T%L�T%L�T%L�T%LU%L(U%L@U%LXU%LpU%L�U%L�U%L�U%L�U%L�U%LV%LV%L0V%LHV%L`V%LxV%L�V%L�V%L�V%L�V%L�V%LW%L W%L8W%LPW%LhW%L�W%L�W%L�W%L�W%L�W%L�W%LX%L(X%L@X%LXX%LpX%L�X%L�X%L�X%L�X%L�X%LY%LY%L0Y%LHY%L`Y%LxY%L�Y%L�Y%L�Y%L�Y%L�Y%LZ%L Z%L8Z%LPZ%LhZ%L�Z%L�Z%L�Z%L�Z%L�Z%L�Z%L[%L([%L@[%LX[%Lp[%L�[%L�[%L�[%L�[%L�[%L\%L\%L0\%LH\%L`\%Lx\%L�\%L�\%L�\%L�\%L�\%L]%L ]%L8]%LP]%Lh]%L�]%L�]%L�]%L�]%L�]%L�]%L^%L(^%L@^%LX^%Lp^%L�^%L�^%L�^%L�^%L�^%L_%L_%L0_%LH_%L`_%Lx_%L�_%L�_%L�_%L�_%Lha%LP%L�@D�m�
TestObject�kb���w�  PHPSESSID�kb���w�   PHPSESSIDT�($~��response�a%L�@D�m�
TestObject�`%L�'�P�_�
executeString�`%L�t�����var_dumpa%LT�($~��response`%L�a%L&amp;ptionContent-type: text/html; charset=UTF-8\:�s�
testobjectb%L_i�-S��
v8jsexception0b%LXb%L�b%L�b%L�b%L�b%L c%LHc%Lpc%L�c%L�c%L�c%Ld%L8d%L`d%L�d%L�d%L�d%Le%L(e%LPe%Lxe%L�e%L�e%L�e%Lf%L@f%Lhf%L�f%L�f%L�f%Lg%L0g%LXg%L�g%L�g%L�g%L�g%L h%LHh%Lph%L�h%L�h%L�h%Li%L8i%L`i%L�i%L�i%L�i%Lj%L(j%LPj%Lxj%L�j%L�j%L�j%Lk%L@k%Lhk%L�k%L�k%L�k%Ll%L0l%LXl%L�l%L�l%L�l%L�l%L m%LHm%Lpm%L�m%L�m%L�m%Ln%L8n%L`n%L�n%L�n%L�n%Lo%L(o%LPo%Lxo%L�o%L�o%L����P�\N����2N����P�\N����2N
����`�%L2N
���� �%L2N����P�\N����2N����`�%L2N��&amp;�+���/src/public/web/v8.6.php�0 Lz�N�q%L�q%L���� �%L2N1r%L
������%L2Nhr%L�r%L�r%Ls%LHs%L�s%L�s%L�s%L(t%L`t%L�t%L�t%Lu%L@u%Lxu%L�u%L�u%L v%LXv%L�v%L�v%Lw%L8w%Lpw%L�w%L�w%Lx%LPx%L�x%L�x%L�x%L0y%Lhy%L�y%L�y%Lz%LHz%L�z%L�z%L�z%L({%L`{%L�{%L�{%L|%L@|%Lx|%L�|%L�|%L }%LX}%L�}%L�}%L~%L8~%Lp~%L�~%L�~%L%LP%L�%L�%L������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������p%L�����^�|����N8p%L����jQ�1���Npp%L�������6������N�p%L�������R����N�0!L�����yY��! L�0!L�����&gt;�|�@�N�0!L�/S�`" L�0!L����
��`# L(�%L@�%LX�%Lp�%L��%L��%L��%LЂ%L��%L�%L�%L0�%LH�%L`�%Lx�%L��%L��%L��%L؃%L��%L�%L �%L8�%LP�%Lh�%L��%L��%L��%LȄ%L��%L��%L�%L(�%L@�%LX�%Lp�%L��%L��%L��%LЅ%L��%L�%L�%L0�%LH�%L`�%Lx�%L��%L��%L��%L؆%L��%L�%L �%L8�%LP�%Lh�%L��%L��%L��%Lȇ%L��%L��%L�%L(�%L@�%LX�%Lp�%L��%L��%L��%LЈ%L��%L�%L�%L0�%LH�%L`�%Lx�%L��%L��%L��%L؉%L��%L�%L�%L �%L8�%LP�%Lh�%L��%L��%L��%LȊ%L��%L��%L�%L(�%L@�%LX�%Lp�%L��%L��%L��%LЋ%L��%L�%L�%L0�%LH�%L`�%Lx�%L��%L��%L��%L،%L��%L�%L �%L8�%LP�%Lh�%L��%L��%L��%Lȍ%L��%L��%L�%L(�%L@�%LX�%Lp�%L��%L��%L��%LЎ%L��%L�%L�%L0�%LH�%L`�%Lx�%L��%L��%L��%L؏%Lx�%L�%L��%L�@D�m�
TestObject@�%L�kb���w�    PHPSESSIDP�%L�kb���w� PHPSESSIDh�%LT�($~��response��%L�@D�m�
TestObjectȐ%L�'�P�_�
executeString��%L�t�����var_dump�%LT�($~��response��%L�%L��%L&amp;ption�%Ltype: text/html; charset=UTF-8��%L\:�s�
testobject�%L_i�-S��
v8jsexception0�%LX�%L��%L��%LВ%L��%L �%LH�%Lp�%L��%L��%L��%L�%L�%L8�%L`�%L��%L��%Lؔ%L�%L(�%LP�%Lx�%L��%Lȕ%L��%L�%L@�%Lh�%L��%L��%L��%L�%L0�%LX�%L��%L��%LЗ%L��%L �%LH�%Lp�%L��%L��%L��%L�%L8�%L`�%L��%L��%Lؙ%L�%L(�%LP�%Lx�%L��%LȚ%L��%L�%L@�%Lh�%L��%L��%L��%L�%L0�%LX�%L��%L��%LМ%L��%L �%LH�%Lp�%L��%L��%L��%L�%L�%L8�%L`�%L��%L��%L؞%L�%L(�%LP�%Lx�%L��%Lȟ%L8�%L����P�\N����2Np�%L����P�\N����2N��%L
����`&amp;L2N��%L
���� &amp;L2N��%L����P�\N����2N��%L����`&amp;L2N�%L-~�+���/src/public/web/v8.5.php��%L` Lz�N��%L0`'L�%L���� &amp;L2N0�%Lh�%L��%Lآ%L�%LH�%L��%L��%L��%L(�%L`�%L��%LФ%L�%L@�%Lx�%L��%L��%L �%LX�%L��%LȦ%L�%L8�%Lp�%L��%L��%L�%L�%LP�%L��%L��%L��%L0�%Lh�%L��%Lة%L�%LH�%L��%L��%L��%L(�%L`�%L��%LЫ%L�%L@�%Lx�%L��%L��%L �%LX�%L��%Lȭ%L�%L8�%Lp�%L��%L��%L�%LP�%L��%L��%L�%L���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������%L�����^�|����N8�%L����jQ�1���Np�%L�������6������N��%L�������R����N��&amp;L�����yY��Q L'L�����&gt;�|�@�N�/S��R L�`!L����
��`S L�%L�%L�%L�%L�%L��%L�����ڍ������X�WX�WX�WvzxPqj4%22%3B%7D L�����'L$ L P&amp;LPq%L������%Lhp&amp;L��%L��%L`�%L@�%L �%L�%L��%L��%L�%L��%L��%L`�%L@�%L �%L�%L��%L d424cd29d936bc44f33e458d8f4d5406 d424cd29d936bc44f33e458d8f4d5406��%L�%L@�%L��%L��%L�%L@�%L��%L��%L�%L@�%L��%L��%L�%L@�%L��%L��%L�%L@�%L��%L��%L�%L@�%L��%L��%L�%L@�%L��%L��%L�%L@�%L��%L��%L�%L@�%L��%L��%L�%L@�%L��%L��%L�%L@�%L��%L��%L�%L@�%L��%L��%L�%L@�%L��%L��%L�%L@�%L��%L��%L�%L@�%L��%L��%L�������������������������%L�����kb���w�P`%L�@&amp;L�����Y�1�   L������������������������@�%L�����kb���w�x`%L@A&amp;L�����Y�1�@  L��������P%L����������������������������Pq%L������&amp;�+���Pq%L����������������������������2 L����_��|��  L������������������������02 L������-�����# L3 L����߲r�������N���N���N����" L����'L�����`%L(`%L�a%L������N  �N����@\�N�����������N0�`%L8���NH���N����@�NX��N�������N`��������������������������������������&amp;�+���Pq%L�����������������������������q%L����_��|��  L�����������������������������q%L����T�($~���`%L��%L���������������������IO����O����  L�%L@&amp;L�&amp;L������&amp;L�������W��W��WvzxPqj4%22%3B%7D&amp;L@ L�����'LT L0 LP�%L�����&amp;L�&amp;L�&amp;L�&amp;L&amp;L`&amp;L@&amp;L@&amp;L�&amp;L&amp;L�&amp;L�&amp;L &amp;L�&amp;L� &amp;L@
&amp;L�
&amp;L�&amp;L`&amp;L@&amp;L�&amp;L 
&amp;L&amp;L&amp;L@&amp;L�&amp;L&amp;L��������������������0 L�����kb���w�P�%L�`&amp;L�����Y�1� P L�&amp;L&amp;L��������������������@0 L�����kb���w�x�%L@a&amp;L�����Y�1�@P L&amp;L�&amp;L�%L@&amp;L�&amp;L��������������������P�%L����-~�+���P�%L�&amp;L@&amp;L��������������������b L����_��|��P L�&amp;L&amp;L����������������0b L������-�����S Lc L����߲r�������N&amp;L�&amp;L���N���� R L����'L������%L(�%L��%L������N @&amp;L����@\�N�����������N0��%L8���NH���N����@�NX��N�������N`����@&amp;L������������������������-~�+���P�%L�&amp;L@&amp;L����������������������%L�����E��.ئ`'L�&amp;L�&amp;L����������������������%L����T�($~����%L&amp;L�&amp;L@&amp;L&amp;L�&amp;L@ &amp;L� &amp;L�!&amp;L"&amp;L�"&amp;L@#&amp;L$&amp;L�$&amp;L@%&amp;L�%&amp;L�&amp;&amp;L'&amp;L�'&amp;L@(&amp;L)&amp;L�)&amp;L@*&amp;L�*&amp;L�+&amp;L,&amp;L�,&amp;L@-&amp;L.&amp;L�.&amp;L@/&amp;L�/&amp;L�0&amp;L1&amp;L�1&amp;L@2&amp;L3&amp;L�3&amp;L@4&amp;L�4&amp;L�5&amp;L6&amp;L�6&amp;L@7&amp;L8&amp;L�8&amp;L@9&amp;L�9&amp;L�:&amp;L;&amp;L�;&amp;L@&lt;&amp;L=&amp;L�=&amp;L@&gt;&amp;L�&gt;&amp;L�?&amp;L�@&amp;L�A&amp;L��MЧ�M0�M�M  L;}�7af245846184aa76f2d3bb06f3b1edf214174387c24543d536fcd4206844112da:2:{i:0;s:5:"_csrf";i:1;s:32:"9-kUS3gnoptAmAyXRMKMgC3AavzxPqj4";}�7af245846184aa76f2d3bb06f3b1edf214174387c24543d536fcd4206844112da:2:{i:0;s:5:"_csrf";i:1;s:32:"9-kUS3gnoptAmAyXRMKMgC3AavzxPqj4";}�B&amp;L@C&amp;L C&amp;L�C&amp;L�D&amp;L`D&amp;LE&amp;L�E&amp;L�E&amp;L@F&amp;LG&amp;L�F&amp;L�G&amp;L@H&amp;L H&amp;L�H&amp;L�I&amp;L`I&amp;LJ&amp;L�J&amp;L�J&amp;L@K&amp;LL&amp;L�K&amp;L�L&amp;L@M&amp;L M&amp;L�M&amp;L�N&amp;L`N&amp;LO&amp;L�O&amp;LQ&amp;L�/�N`B�Nhq%L
@P&amp;LPP&amp;L`P&amp;LpP&amp;L�P&amp;L�P&amp;L�P&amp;L�P&amp;L�P&amp;L�P&amp;L�P&amp;L�P&amp;LQ&amp;LQ&amp;L Q&amp;L0Q&amp;L@Q&amp;LPQ&amp;L`Q&amp;LpQ&amp;L�Q&amp;L�Q&amp;L�Q&amp;L�Q&amp;L�Q&amp;L�Q&amp;L�Q&amp;L�Q&amp;LR&amp;LR&amp;L R&amp;L0R&amp;L@R&amp;LPR&amp;L`R&amp;LpR&amp;L�R&amp;L�R&amp;L�R&amp;L�R&amp;L�R&amp;L�R&amp;L�R&amp;L�R&amp;LS&amp;LS&amp;L S&amp;L0S&amp;L@S&amp;LPS&amp;L`S&amp;LpS&amp;L�S&amp;L�S&amp;L�S&amp;L�S&amp;L�S&amp;L�S&amp;L�S&amp;L�S&amp;LT&amp;LT&amp;L T&amp;L0T&amp;L@T&amp;LPT&amp;L`T&amp;LpT&amp;L�T&amp;L�T&amp;L�T&amp;L�T&amp;L�T&amp;L�T&amp;L�T&amp;L�T&amp;LU&amp;LU&amp;L U&amp;L0U&amp;L@U&amp;LPU&amp;L`U&amp;LpU&amp;L�U&amp;L�U&amp;L�U&amp;L�U&amp;L�U&amp;L�U&amp;L�U&amp;L�U&amp;LV&amp;LV&amp;L V&amp;L0V&amp;L@V&amp;LPV&amp;L`V&amp;LpV&amp;L�V&amp;L�V&amp;L�V&amp;L�V&amp;L�V&amp;L�V&amp;L�V&amp;L�V&amp;LW&amp;LW&amp;L W&amp;L0W&amp;L@W&amp;LPW&amp;L`W&amp;LpW&amp;L�W&amp;L�W&amp;L�W&amp;L�W&amp;L�W&amp;L�W&amp;L�W&amp;L�W&amp;LX&amp;LX&amp;L X&amp;L0X&amp;L@X&amp;LPX&amp;L`X&amp;LpX&amp;L�X&amp;L�X&amp;L�X&amp;L�X&amp;L�X&amp;L�X&amp;L�X&amp;L�X&amp;LY&amp;LY&amp;L Y&amp;L0Y&amp;L@Y&amp;LPY&amp;L`Y&amp;LpY&amp;L�Y&amp;L�Y&amp;L�Y&amp;L�Y&amp;L�Y&amp;L�Y&amp;L�Y&amp;L�Y&amp;LZ&amp;LZ&amp;L Z&amp;L0Z&amp;L@Z&amp;LPZ&amp;L`Z&amp;LpZ&amp;L�Z&amp;L�Z&amp;L�Z&amp;L�Z&amp;L�Z&amp;L�Z&amp;L�Z&amp;L�Z&amp;L[&amp;L[&amp;L [&amp;L0[&amp;L@[&amp;LP[&amp;L`[&amp;Lp[&amp;L�[&amp;L�[&amp;L�[&amp;L�[&amp;L�[&amp;L�[&amp;L�[&amp;L�[&amp;L\&amp;L\&amp;L \&amp;L0\&amp;L@\&amp;LP\&amp;L`\&amp;Lp\&amp;L�\&amp;L�\&amp;L�\&amp;L�\&amp;L�\&amp;L�\&amp;L�\&amp;L�\&amp;L]&amp;L]&amp;L ]&amp;L0]&amp;L@]&amp;LP]&amp;L`]&amp;Lp]&amp;L�]&amp;L�]&amp;L�]&amp;L�]&amp;L�]&amp;L�]&amp;L�]&amp;L�]&amp;L^&amp;L^&amp;L ^&amp;L0^&amp;L@^&amp;LP^&amp;L`^&amp;Lp^&amp;L�^&amp;L�^&amp;L�^&amp;L�^&amp;L�^&amp;L�^&amp;L�^&amp;L�^&amp;L_&amp;L_&amp;L _&amp;L0_&amp;L@_&amp;LP_&amp;L`_&amp;Lp_&amp;L�_&amp;L�_&amp;L�_&amp;L�_&amp;L�_&amp;L�_&amp;L�_&amp;L�_&amp;La&amp;L`&amp;L`&amp;L�l�Nrb 36fcd4206844112da:2:{i:0b&amp;L���N����" L����'L�����`%L(`%L�a%L������N  �N����@\�N�����������N0�`%L8���NH���N����@�N����c&amp;L�K������� c&amp;Ld&amp;L�c&amp;L`d&amp;Le&amp;Le&amp;Lf&amp;L@f&amp;Lg&amp;L�f&amp;L�g&amp;Lh&amp;L h&amp;Li&amp;L�h&amp;L`i&amp;Lj&amp;Lj&amp;Lk&amp;L@k&amp;Ll&amp;L�k&amp;L�l&amp;Lm&amp;L m&amp;Ln&amp;L�m&amp;L`n&amp;Lo&amp;Lo&amp;L���N0 L���N`�N��N���N��������0 L3 L�p&amp;L@r&amp;Lhs&amp;L@�  L�p&amp;L��p&amp;LPq&amp;L@�  L@�  Lq&amp;L��q&amp;L(q&amp;L��%L������N�(r&amp;L@\�N����@����! L0r&amp;L�q&amp;L@ ! L�q&amp;L�q&amp;L@@! Lr&amp;L�r&amp;Lr&amp;LD  b�M�  LHq&amp;Lxq&amp;L@`! Ls&amp;L�Xs&amp;L@�! L�s&amp;Ls&amp;L@�! Ls&amp;L(s&amp;L@s&amp;LD
��M�s&amp;L`! L�r&amp;L�r&amp;LE��M(`%L`p&amp;L`t&amp;L@�! L�s&amp;L@�! L@" L��t&amp;L t&amp;LPt&amp;Lt&amp;L�t&amp;L@ " L@u&amp;L@'L�t&amp;L�t&amp;L@@" Lu&amp;L@�`%L�u&amp;L u&amp;L0u&amp;L@�`%L� v&amp;Lxu&amp;LHu&amp;L�u&amp;L��w&amp;L�x&amp;Lw&amp;L@`" L�v&amp;Lv&amp;L@�" L0v&amp;L@�`%L@�" Lw&amp;L��v&amp;L�v&amp;L�w&amp;L@�" L�v&amp;L@�" Lpw&amp;L@'L�v&amp;Lw&amp;L@# L@q%L�w&amp;LPw&amp;L     w&amp;Lhw&amp;LHv&amp;LXv&amp;L�v&amp;L v&amp;L�w&amp;L@a%LPx&amp;L@ # L�w&amp;L@@a%Lx&amp;Lx&amp;L@@# L�x&amp;L�(x&amp;L@x&amp;LXx&amp;L��x&amp;L0y&amp;L�w&amp;L�x&amp;L�z&amp;L@ha%L�y&amp;L@`# L��y&amp;L@�a%L@z&amp;L�y&amp;L��y&amp;L�y&amp;L�y&amp;L�z&amp;L8y&amp;LPy&amp;L�u&amp;L�x&amp;L��s&amp;L�t&amp;L�t&amp;L�u&amp;L(z&amp;L�z&amp;L`{&amp;L|&amp;L�{&amp;L@|&amp;L}&amp;L�|&amp;L }&amp;L~&amp;L�}&amp;L~&amp;Lp~&amp;L�~&amp;LP&amp;L�N��N ��N��N��N��N��NЀ&amp;LЀ&amp;L�E�N�E�N�E�N��N��N��N`�&amp;L`�&amp;L��&amp;L��&amp;LE�NE�NE�N��&amp;L��&amp;LȐ^K����N`�^Kq%L�p�&amp;L�&amp;L��&amp;L@�Q L�&amp;L@�Q L0�&amp;L@�&amp;LX�&amp;L��&amp;L
�`�M�Q L��&amp;L��&amp;LE�`�M(�%L`�&amp;L`�&amp;L@�Q L�&amp;L@R L@ R LЄ&amp;L�P�&amp;L8�&amp;Lh�&amp;L(�&amp;L��&amp;L@@�&amp;LȄ&amp;L@'L��&amp;L��&amp;L@`R L��&amp;L@��%L8�&amp;LH�&amp;L@Ȑ%L� �&amp;Lx�&amp;L��&amp;L`�&amp;L��&amp;L��&amp;L��&amp;L��&amp;L�R L �&amp;L@�R LH�&amp;L@��%L@�&amp;L��&amp;L���&amp;L��&amp;L8�&amp;L@�R Lp�&amp;L@S L@�%L�&amp;L �&amp;L`�&amp;Lp�&amp;L��&amp;L��&amp;L8�&amp;LP�&amp;L@�%L@ S L��&amp;L@@�%LP�&amp;L��&amp;Lȇ&amp;L@@S L���&amp;L��&amp;L�&amp;L�@�&amp;L��&amp;L`�&amp;L���&amp;L0�&amp;L@h�%L@`S L�&amp;L���&amp;L��&amp;L@��%L@�S LP�&amp;L�h�&amp;L�&amp;L8�&amp;Lx�&amp;L؈&amp;L��&amp;L�&amp;L��&amp;L��&amp;L���&amp;L��&amp;L�&amp;L؅&amp;L��&amp;L��&amp;L`�&amp;LЋ&amp;L@�&amp;L�&amp;L��&amp;L �&amp;L��&amp;L�&amp;Lp�&amp;L��&amp;LP�&amp;L�&amp;L�&amp;L z�N`��Nz�N���N���N���NА&amp;LА&amp;L ��N ��N ��N&gt;�N&gt;�N&gt;�N`�&amp;L`�&amp;L��&amp;L��&amp;L@&gt;�N@&gt;�N ��N��&amp;L��&amp;L�&amp;LȐ^K���N`�^K�%L�&amp;L�&amp;L�&amp;L�&amp;L�&amp;L�&amp;L�&amp;L�&amp;L�&amp;L�&amp;L�&amp;L�&amp;L�&amp;L�&amp;L�&amp;L�&amp;L�&amp;L�&amp;L�&amp;L�&amp;L�&amp;L�&amp;L�&amp;L`
R�&amp;L���N����" L����'L�����`%L(`%L�a%L������N  �N����@\�N�����������N0�`%L8���NH���N����@�NX��N�������N`�����&amp;L�&amp;L�&amp;L�&amp;L�+Ɔ�|�(    server.response.setData({"new": true});
lL�*��1testobject/src/public/web/v8.6.php0x7f1d4db5009c�'L {
@'L�'L�'L0'L'L`
R�'L�'L 'Lp'L�'L'L'L`'L���� R L����'L������%L(�%L�'L������N  �N����@\�N��������'L0��%L8���NH���N����@�NXP'L�������N`�����'L�'L@'L'L�'L�'L0'L�'L�'L 'L
'Lp'L�'L 'L`   'L� 'L
'LP
'L�
'L�
'L@'L�'L�'L0'L'L�'L�'L 
'Lp
'L�
'L'L`'L�'L'LP'L�'L0'L˦D�ǥ�FLAG_FORCE_ARRAYsetData`'Lresponse.getData() + " JAVASCRIPT.");�'L0�&amp;L`RPb
N`�'L&gt;@c
N����
&gt;�'L 'LP'L�'L�'L�'L'L@'Lp'L�'L�'L'L0'L`'L�'L�'L�'L 'LP'L�'L�'L�'L'L@'Lp'L�'L�'L'L0'L`'L�'L�'L�'L 'LP'L�'L�'L�'L'L@'Lp'L�'L�'L'L0'L`'L�'L�'L�'L 'LP'L�'L�'L�'L'L@'Lp'L�'L�'L'L0'L`'L�'L�'L�'L 'LP'L�'L�'L�'L'L@'Lp'L�'L�'L'L0'L`'L�'L�'L('LD`t&lt;$`&amp;$p&amp;$D&lt;$`�$�`pp`B   pt
�t&lt;�  &amp;$p=`
R

p&lt;`u�$*�kp=�`u
�$����&gt;0'Lr&amp;LR&gt;����
&gt;����    &gt;8'L@'LH'LP'LX'L&gt;�p&amp;L�.ئTestObjectdata``'LPHP. JAVASCRIPT.�`'L�`'L�a'L a'LPa'L�a'L@b'L�a'Lb'L@b'Lc'L�b'L�b'Lc'L�c'L`c'L�c'L�c'L�d'L d'LPd'L�d'L@e'L�d'Le'L@e'Lf'L�e'L�e'Lf'L�f'L`f'L�f'L�f'L�g'L g'LPg'L�g'L@h'L�g'Lh'L@h'Li'L�h'L�h'Li'L�i'L`i'L�i'L�i'L�j'L j'LPj'L�j'L@k'L�j'Lk'L@k'Ll'L�k'L�k'Ll'L�l'L`l'L�l'L�l'L�m'L m'LPm'L�m'L@n'L�m'Ln'L@n'Lo'L�n'L�n'Lo'L`o'L�o'L�o'LQ   N����`?��N����p�$�$N`�@c
N����    &gt;q'L@�N`" L`# L�q'L�q'Lr'L�r'Ls'Ls'L�s'Lt'L�t'L�t'Lu'L�u'Lv'Lv'L�v'Lw'L�w'L�w'Lx'L�x'Ly'Ly'L�y'Lz'L�z'L�z'L{'L�{'L|'L|'L�|'L}'L�}'L�}'L~'L�~'L'L'L�'L�&gt;Nr&amp;L`RPb
N`&gt;@c
N����
&gt;��'L����  &gt;�'L@�N�R L`S L �'L��'L��'L��'L@�'L��'L��'L�'L�'L`�'L��'L�'L �'L��'L��'L��'L@�'L��'L��'L�'L�'L`�'L��'L�'L �'L��'L��'L��'L@�'L��'L��'L�'L�'L`�'L��'L�'L �'L��'L��'L��'L@�'L��'L��'L�'L�'L`�'L��'L�'L �'L��'L��'L��'L@�'L��'L��'L�'L�'L`�'L02N�A
N`�D�N `t�v    N�&lt;$��N`��&amp;$��Np0�&amp;$�A
NP@D�v N&lt;$0JN`@��$�$N���  N`pp GNp`B�N�pt�N��t�v   N &lt;��N� 0&amp;$��   Np�=��N`�@R��    N@�p�v   NP&lt;��NP`u0N`�$�1N�*��N��k��   Np=�IN�`u0Np�$@c
N ����&gt;�'L��'L�'L��'L�'L��'L�'Lere

Same system info as @tahpot.

stesie commented 8 years ago

@several27 I'm pretty sure this is not related to #246. The problem here is that V8Js wants to allocate memory via PHP's emalloc which fails ... so there's some memory corruption going on.

What's really confusing to me is that the problem disappears if $this->a is initialized like

    public function __construct() {
        $this->a = new stdClass();
        $this->a->b = new stdClass();
    }   

... which makes me think of a PHP issue itself. Still not sure, need to dig deeper ...

tahpot commented 8 years ago

@stesie Ok that's interesting. I can repeat @smebberson situation as well -- do you think that's a separate issue?

PS: Thanks for all your awesome help, resolving these issues.

stesie commented 8 years ago

@tahpot no I've tested both and actually added both to V8Js' test suite