Bug #66923 [Opn->Fbk]: rsync falls when running with exec
| From: | requinix@php.net | Date: | Tue, 18 Mar 2014 17:17:13 +0000 |
| Subject: | Bug #66923 [Opn->Fbk]: rsync falls when running with exec | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-184824@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=66923&edit=1
ID: 66923
Updated by: requinix@php.net
Reported by: beaux_monde at tut dot by
Summary: rsync falls when running with exec
-Status: Open
+Status: Feedback
Type: Bug
Package: Apache2 related
Operating System: Arch Linux
PHP Version: 5.5.10
Block user comment: N
Private report: N
New Comment:
Not enough information was provided for us to be able
to handle this bug. Please re-read the instructions at
http://bugs.php.net/how-to-report.php
If you can provide more information, feel free to add it
to this bug and change the status back to "Open".
Thank you for your interest in PHP.
Unlikely to be a bug with PHP and more likely to be a result of something that changed during the
upgrade.
What's the error output?
Previous Comments:
------------------------------------------------------------------------
[2014-03-18 13:49:32] beaux_monde at tut dot by
Description:
------------
After update of php from 5.5.9 to 5.5.10 and apache from 2.2.26 to 2.4.7 rsync got falling while
synchronization process.
Test script:
---------------
array($out);
exec("rsync -auzvvvvvvvvv --delete --temp-dir='bad/' --exclude='/bad'
--exclude='.htaccess' ./generated/ $host:/some/dir/", $out);
Expected result:
----------------
Synchronization have to executed.
Actual result:
--------------
Synchronization falls at some stage without actual transferring of a files with error code 13. $out
contains reference to a line 244 of a rsync's log.c. Here it:
static void filtered_fwrite(FILE *f, const char *buf, int len, int use_isprint)
{
const char *s, *end = buf + len;
for (s = buf; s < end; s++) {
if ((s < end - 4
&& *s == '\\' && s[1] == '#'
&& isDigit(s + 2)
&& isDigit(s + 3)
&& isDigit(s + 4))
|| (*s != '\t'
&& ((use_isprint && !isPrint(s))
|| *(uchar*)s < ' '))) {
if (s != buf && fwrite(buf, s - buf, 1, f) != 1)
exit_cleanup(RERR_MESSAGEIO);
fprintf(f, "\\#%03o", *(uchar*)s);
buf = s + 1;
}
}
if (buf != end && fwrite(buf, end - buf, 1, f) != 1)
exit_cleanup(RERR_MESSAGEIO); // <<< *** This is line 244 ***
}
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=66923&edit=1