[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: copcall interpreter segfault possible?
- From: Gerhard Lipp <gelipp@...>
- Date: Mon, 10 Jun 2013 19:56:11 +0200
On Mon, Jun 10, 2013 at 6:05 PM, Fabio Mascarenhas <email@example.com> wrote:
> Thanks for the patch, Thijs, but I believe it is unrelated to the problem at
> hand. I would bet on a misbehaving C library forgetting to do lua_checkstack
> and causing memory corruption in the heap.
Thanks for pointing in a direction! I'll try to track this down some more.
> Running the failing test under valgrind should be instructive, but I see
> someone closed the original issue, does that mean the cause was found?
No, the PR (https://github.com/Olivine-Labs/busted/pull/173) just uses
pcall instaed of copcall for lua-ev (which is involved in the error
> Fabio Mascarenhas
> On Mon, Jun 10, 2013 at 12:11 PM, Thijs Schreijer <firstname.lastname@example.org>
>> > -----Original Message-----
>> > From: email@example.com [mailto:firstname.lastname@example.org]
>> > On
>> > Behalf Of Gerhard Lipp
>> > Sent: woensdag 5 juni 2013 15:15
>> > To: email@example.com
>> > Subject: copcall interpreter segfault possible?
>> > Hi!
>> > As stated here https://github.com/Olivine-Labs/busted/issues/171, I am
>> > observing a segmentation fault (Lua 5.1.5) when using copcall where
>> > pcall should have been used.
>> > Unfortunately it is a rather complex situation but it is reproducible.
>> > lua-ev is involved which itself makes some pcall through the lua API.
>> > copcall and pcall may call each other in this scenario.
>> > Does this sound dangerous? Are there known scenarios where calling
>> > copcall instead of pcall can crash the interpreter due to a badly
>> > behaving C module?
>> > Regards,
>> > Gerhard
>> Not sure whether it fixes your problem. But I just submitted a PR  to
>> fix an issue with coxpcall I ran into. You might want to give it a try.
>>  https://github.com/keplerproject/coxpcall/pull/1