[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- 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 <mascarenhas@acm.org> 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
described).
>
> --
> Fabio Mascarenhas
>
>
> On Mon, Jun 10, 2013 at 12:11 PM, Thijs Schreijer <thijs@thijsschreijer.nl>
> wrote:
>>
>> > -----Original Message-----
>> > From: lua-l-bounces@lists.lua.org [mailto:lua-l-bounces@lists.lua.org]
>> > On
>> > Behalf Of Gerhard Lipp
>> > Sent: woensdag 5 juni 2013 15:15
>> > To: lua-l@lists.lua.org
>> > 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 [1] to
>> fix an issue with coxpcall I ran into. You might want to give it a try.
>>
>> Thijs
>>
>> [1] https://github.com/keplerproject/coxpcall/pull/1
>>
>>
>