Re: BUG #7516: PL/Perl crash
От | Marko Tiikkaja |
---|---|
Тема | Re: BUG #7516: PL/Perl crash |
Дата | |
Msg-id | 505229E8.9070507@joh.to обсуждение исходный текст |
Ответ на | Re: BUG #7516: PL/Perl crash (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: BUG #7516: PL/Perl crash
|
Список | pgsql-bugs |
On 13/09/2012 19:48, Tom Lane wrote: > Marko Tiikkaja <pgmail@joh.to> writes: >> On 9/12/12 1:50 AM, Tom Lane wrote: > Hm, I wonder if it's Ubuntu-specific? What Perl version is that exactly? We've reproduced it on both 5.14.2 and 5.16.1. >> What happens is that free_plperl_function() for some reason gets called >> with the prodesc of func0003. Later on, func0003 wants to get rid of >> his prodesc and I get a crash. What's weird about this is that >> current_call_data->prodesc actually points to the correct prodesc (the >> one of func0005), but still somehow something different is passed to >> free_plperl_function(). > > The only theory that comes to mind is that current_call_data is somehow > getting aliased (free'd and realloc'd). I don't see how that could > happen, but it occurs to me that it's kinda dumb to be palloc'ing it > in the first place. Its lifetime is exactly that of the call, so it > would be simpler and more foolproof to make it a local variable. > > I've pushed a HEAD patch to do that, and I wonder if you could check > whether it changes anything. Will look at that tomorrow, thanks. Regards, Marko Tiikkaja
В списке pgsql-bugs по дате отправления: