Output buffering issue when error occurs during Plugin Upgrade

Bug #869128 reported by Don Schoeman
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
PHPDevShell
Fix Released
Medium
TitanKing

Bug Description

If an error occurs in a plugin's upgrade script, due to a malformed or problematic SQL statement for example, an exception is thrown and displayed as one would expect. However, when FirePHP is enabled and attempts to log the error the HTTP header is already sent which leads to the following error:

Headers already sent in /var/www/mysite/includes/PHPDS_template.class.php on line 989. Cannot send log data to FirePHP. You must have Output Buffering enabled via ob_start() or output_buffering ini directive.

To conclude, it seems that the output buffer is flushed when an exception occurs, the error html is then rendered and then FirePHP attempts render its own output while making changes to the HTTP header. To reproduce the error simply provide an erroneous SQL statement in the plugin's XML script in the upgrade section.

PHPDevShell version: V 3.0.4-Stable
Browser: Firefox v 4.0.1
OS: Ubuntu 10.04 LTS
Kernel: Linux 2.6.32-28
PHP Version: 5.3.2
MySQL Version: 5.1.41
Apache: 2.2.14

Changed in phpdevshell:
status: New → Confirmed
assignee: nobody → TitanKing (titan-phpdevshell)
milestone: none → 3.1.0
Changed in phpdevshell:
status: Confirmed → Fix Committed
Changed in phpdevshell:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.