Hi Andrew,

On Sat, Nov 7, 2015 at 9:43 AM, Maciej Fijalkowski <fij...@gmail.com> wrote:
> This looks fairly serious, we would love to have a way to reproduce
> it. For what is worth, you don't have to minimize the example very
> much - a program we can run, even if it has serious dependecies, is
> ok, but we NEED to be able to reproduce it.

We managed to figure it out just by discussion, for once.  It seems
that this time we won't need to reproduce it.

The problem is that in some cases, loop unrolling can create a second
iteration of a loop in which what used to be a variable argument is
now a constant (like NULL).  But the loop can contain operations to
read/write fields on that variable.  In this case, the second
iteration would never be executed in practice (as it would segfault),
but the optimizer doesn't realize that.

This crash occurs when trying to optimize read/write fields on NULLs.
The same problem can occur too (even more rarely I suppose) if the
constant is not NULL, but is an instance of the wrong class.


A bientôt,

Armin.
_______________________________________________
pypy-dev mailing list
pypy-dev@python.org
https://mail.python.org/mailman/listinfo/pypy-dev

Reply via email to