On 31 Jan 2015 06:04, "Rasmus Lerdorf" <ras...@lerdorf.com> wrote:
>
> There is something weird going on with PHP7 and the moodle_page class
> and all its magic methods. It dies with a:
>
> /var/www/moodle/blocks/navigation/block_navigation.php(223) : Notice -
> Undefined property: moodle_page::$navigation
> /var/www/moodle/blocks/navigation/block_navigation.php(223) : Fatal
> error - __clone method called on non-object
>
> That code is:
>
> 222   $this->page->navigation->initialise();
> 223   return clone($this->page->navigation);
>
> See:
>
https://github.com/moodle/moodle/blob/master/blocks/navigation/block_navigation.php#L222-L223
>
> $this->page_navigation is created on that initial call through the
> wonders of this magic:
>
> https://github.com/moodle/moodle/blob/master/lib/pagelib.php#L757-L772
>
> Which somehow leads us to read 8 bytes in a free'ed block:
>
> https://gist.github.com/anonymous/f9d1f53b1205d29d86cc
>
> but I am not having much luck dwindling it down to a simpler reproduce
> case. If you know this code or have a couple of hours to spare, could
> you see if you could reduce it to something more manageable for us?
>
> (and yes, same code is fine in 5.6)
>

Here's a similar bug,  too: https://bugs.php.net/bug.php?id=68933&edit=1

Reply via email to