Stefan Behnel wrote:
> Hi,
> 
> Robert Bradshaw wrote:
>> On Jan 17, 2009, at 4:41 AM, Stefan Behnel wrote:
>>
>>> Robert Bradshaw wrote:
>>>> It seems there's a bug in temp allocation, basically a temp is
>>>> allocated but never released (even though it's freed).
>>>>
>>>> See http://hg.cython.org/cython-devel/file/4f0327bdebc9/tests/run/
>>>> call_crash.pyx
>>> The problem is that AttributeNode is not a NewTempExprNode and thus  
>>> fails
>>> to pass on the request for freeing the temp. Changing its baseclass  
>>> fixes
>>> this problem, but it also breaks tons of other test cases. It might  
>>> just be
>>> one problem that kills all of them, but in any case, this needs some
>>> investigation. I'll try to look into it this weekend if I find the  
>>> time.
>> Is this going to be a general problem with any inside a  
>> NewTempExprNode (plain) ExprNode?
> 
> I can't answer that in general, but the good news is that there are very
> few ExprNodes left, especially those that can contain subexpressions.
> Fixing the AttributeNode will get us pretty far. Sadly, I can't do that
> this weekend. So, if someone else could jump in and (at least) analyse the
> resulting problems after the switch, that would be great.

My intention with NewTempExpr node was simultaneous use, and I don't see 
any obstacles in principle.

In this case it was a rather embarrassing and simple mistake, fix is up.

However, making AttributeNode a NewTempExprNode didn't cause any more 
failures for me -- were they unreliable segfaults, or were you trying it 
on lxml?

-- 
Dag Sverre
_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev

Reply via email to