Dear team core,
i found a bug in the symfony's deployment system - version 1.3 and 1.4 - that occurs only on Windows environment. Starting from version 1.3 the sfFileSystem Class began to use the proc_open() function instead the passthru() function in symfony 1.2. See: sfFilesystem.class.php<http://trac.symfony-project.org/browser/branches/1.4/lib/task/sfFilesystem.class.php> You can try to reproduce this error deploying a project enabling the "--progress" argument (rsync). Some times, the STDERR stream of the proc_open() is filled and it causes a freeze in the STDOUT stream that consequently generates a infinity loop on Windows. This problem can be fixed changing the pipe access mode from "w" to "a" - see the line 291 of sfFilesystem.class.php<http://trac.symfony-project.org/browser/branches/1.4/lib/task/sfFilesystem.class.php>. Explaining: In the "w mode" the pointer is placed at the beginning of the file. In the "a mode" the pointer is placed at the end of the file. It seems that the proc_open() can't read the pipe STDOUT when the STDERR is filled because the pointer is placed at the beginning of the file. The solution then is place the pointer at the end of the file. Note that this problem is a PHP issue. Again, this only occurs on Windows. Well, it would be nice if this correction was fixed in the next release. I'm sending the sfFilesystem.class.php fixed. Please, write me if you have any questions. best regards. Augusto Morais -- 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 To unsubscribe, reply using "remove me" as the subject.
