poke-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: pvm_execute_or_initialize SEGV with reproducer


From: Jose E. Marchesi
Subject: Re: pvm_execute_or_initialize SEGV with reproducer
Date: Thu, 22 Apr 2021 21:03:08 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Hi David.

Thanks for reporting.

> The same also occurs with none of the --disables, they serve to simplify
> the backtrace.
>
> (poke) .file ~/playpen/btf/poke-fault/poke-fault.o
> (poke) load elf
> (poke) load "btf-dump.pk"  # note, this also loads btf.pk
> (poke) var elf = Elf64_File @ 0#B
> (poke) var shdr = elf.get_sections_by_name (".BTF") [0]
> (poke) var btf = BTF_Section @ shdr.sh_offset

I took a quick look, and it seems that the exceptions stack is being
overflown.  This is probably a code generator bug: somehow we are not
executing enough `pope' instructions for all the `pushe'.

As far as I can see, we are starting to "leak" elements in the
exceptions stack in:

  (poke) var btf = BTF_Section @ shdr.sh_offset

As soon as I have a little time I will look at all the places where the
compiler is generating pushe/pope pairs and see what is going on..
unless someone beats me to it :)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]