On 20.01.2011, at 09:55, Fabien Potencier wrote:

> 
> On 1/20/11 9:45 AM, Lukas Kahwe Smith wrote:
>> Hi,
>> 
>> In the spirit of ESI we have moved a few things into separate controller 
>> actions. However if serious errors happen in such subrequests, they cause 
>> all sorts of breakage in twig, which prevents the exception from bubbling up.
>> 
>> This issue seems to be caused in Twig_Template by where ob_end_clean() 
>> causes an error:
>> 
>>     public function render(array $context)
>>     {
>>         ob_start();
>>         try {
>>             $this->display($context);
>>         } catch (Exception $e) {
>>             ob_end_clean();
>> 
>>             throw $e;
>>         }
>> 
>>         return ob_get_clean();
>>     }
> 
> Can you explain the problems you have? The ob_end_clean() just clears the 
> output buffering so that nothing is outputted in case of an error.


You can reproduce the issue:
1) clear your cache
2) throw an exception inside an action that is rendered inside another twig 
template
{% render "fooController:throwExceptionAction" %}
3) this will give you Notice: ob_end_clean() [ref.outcontrol]: failed to delete 
buffer. No buffer to delete in 
/Users/lsmith/htdocs/liip/src/vendor/twig/lib/Twig/Template.php on line 172
4) refresh and then you get the error inside the generated classes file: 
Notice: ob_end_clean() [ref.outcontrol]: failed to delete buffer. No buffer to 
delete in /Users/lsmith/htdocs/liip/app/main/cache/dev/classes-4bf70.php on 
line 2839

regards,
Lukas Kahwe Smith
[email protected]



-- 
If you want to report a vulnerability issue on symfony, please send it to 
security at symfony-project.com

You received this message because you are subscribed to the Google
Groups "symfony developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/symfony-devs?hl=en

Reply via email to