Bug #63241 [Com]: PHP fails to open Windows deduplicated files
Edit report at https://bugs.php.net/bug.php?id=63241&edit=1 ID: 63241 Comment by: mattfic...@php.net Reported by:daniel dot stelter-gliese at innogames dot de Summary:PHP fails to open Windows deduplicated files Status: Closed Type: Bug Package:Win32API related Operating System: Windows Server 2012 PHP Version:5.4.7 Assigned To:mattficken Block user comment: N Private report: N New Comment: Your patch has been committed to all PHP branches (5.3, 5.4, master(php 5.5)) If its not included in the next release (because it may be committed after the revision chosen for release), it should be in the one after that. Thank you very much for noticing this problem and fixing it. Thank you for making PHP better. Previous Comments: [2012-10-31 22:11:07] a...@php.net Automatic comment on behalf of ab Revision: http://git.php.net/?p=php-src.git;a=commit;h=a2e4404bc8155e6b6d9deefa22a172857d4b5e08 Log: Fixed bug #63241 PHP fails to open Windows deduplicated files. [2012-10-31 22:03:42] a...@php.net Automatic comment on behalf of ab Revision: http://git.php.net/?p=php-src.git;a=commit;h=a2e4404bc8155e6b6d9deefa22a172857d4b5e08 Log: Fixed bug #63241 PHP fails to open Windows deduplicated files. [2012-10-31 17:53:49] daniel dot stelter-gliese at innogames dot de Any updates on this issue? Will it be merged? [2012-10-12 21:59:56] mattfic...@php.net The most recent patch fixes this bug for me using 5.4.7 TS and Win7sp1x64 and Win2k12. [2012-10-12 13:56:52] daniel dot stelter-gliese at innogames dot de Sorry for the compile error, I was in a bit of a hurry when I uploaded it. Not only was a } missing, but also an assignment to isabsolute. Looking at the code this might be the reason why it fails. I've updated the patch. The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at https://bugs.php.net/bug.php?id=63241 -- Edit this bug report at https://bugs.php.net/bug.php?id=63241&edit=1
Bug #63241 [Com]: PHP fails to open Windows deduplicated files
Edit report at https://bugs.php.net/bug.php?id=63241&edit=1 ID: 63241 Comment by: daniel dot stelter-gliese at innogames dot de Reported by:daniel dot stelter-gliese at innogames dot de Summary:PHP fails to open Windows deduplicated files Status: Assigned Type: Bug Package:Win32API related Operating System: Windows Server 2012 PHP Version:5.4.7 Assigned To:mattficken Block user comment: N Private report: N New Comment: Any updates on this issue? Will it be merged? Previous Comments: [2012-10-12 21:59:56] mattfic...@php.net The most recent patch fixes this bug for me using 5.4.7 TS and Win7sp1x64 and Win2k12. [2012-10-12 13:56:52] daniel dot stelter-gliese at innogames dot de Sorry for the compile error, I was in a bit of a hurry when I uploaded it. Not only was a } missing, but also an assignment to isabsolute. Looking at the code this might be the reason why it fails. I've updated the patch. [2012-10-10 21:53:28] mattfic...@php.net The patch doesn't compile. Fixing the missing }, the patch doesn't work for me. I can still reproduce the bug. [2012-10-10 08:27:16] paj...@php.net Thanks for the very good report :) We can reproduce it and added it to our tests suite. I'd to see how to deal with deduplicated files, if we have to cache them the same way we do for links or mounted volumes (necessary for require_once and the likes). [2012-10-09 08:03:54] paj...@php.net Matt, can you try to reproduce it please? The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at https://bugs.php.net/bug.php?id=63241 -- Edit this bug report at https://bugs.php.net/bug.php?id=63241&edit=1
Bug #63241 [Com]: PHP fails to open Windows deduplicated files
Edit report at https://bugs.php.net/bug.php?id=63241&edit=1 ID: 63241 Comment by: mattfic...@php.net Reported by:daniel dot stelter-gliese at innogames dot de Summary:PHP fails to open Windows deduplicated files Status: Assigned Type: Bug Package:Win32API related Operating System: Windows Server 2012 PHP Version:5.4.7 Assigned To:mattficken Block user comment: N Private report: N New Comment: The most recent patch fixes this bug for me using 5.4.7 TS and Win7sp1x64 and Win2k12. Previous Comments: [2012-10-12 13:56:52] daniel dot stelter-gliese at innogames dot de Sorry for the compile error, I was in a bit of a hurry when I uploaded it. Not only was a } missing, but also an assignment to isabsolute. Looking at the code this might be the reason why it fails. I've updated the patch. [2012-10-10 21:53:28] mattfic...@php.net The patch doesn't compile. Fixing the missing }, the patch doesn't work for me. I can still reproduce the bug. [2012-10-10 08:27:16] paj...@php.net Thanks for the very good report :) We can reproduce it and added it to our tests suite. I'd to see how to deal with deduplicated files, if we have to cache them the same way we do for links or mounted volumes (necessary for require_once and the likes). [2012-10-09 08:03:54] paj...@php.net Matt, can you try to reproduce it please? [2012-10-08 16:17:44] daniel dot stelter-gliese at innogames dot de Description: Opening a file that was deduplicated by Windows Server 2012 deduplication fails with "No such file or directory". The behavior can be reproduced locally and through SMB shares (on Win7 and Win8 clients). I've tried 5.3.15 and 5.4.7 - judging from the code latest snapshots are affected, too. I could trace this to a problem with reparse points: deduplication adds the new reparse tag IO_REPARSE_TAG_DEDUP. There seems to be no documentation on this tag, so I could only interpret it as a flag to be ignored. The attached patch simply treats a IO_REPARSE_TAG_DEDUP file as a substitute on the same path, which worked well. Test script: --- $path = 'S:\\test.exe'; var_dump(filesize($path)); var_dump(realpath($path)); var_dump(strlen(file_get_contents($path))); var_dump(fopen($path, 'rb')); Expected result: int(5448704) string(50) "S:\test.exe" int(5448704) resource(6) of type (stream) Actual result: -- int(5448704) bool(false) Warning: file_get_contents(S:\test.exe): failed to open stream: No such file or directory in C:\php-sdk\php54dev\vc9\x64\ php-5.4.7-src\x64\Release\test.php on line 6 int(0) Warning: fopen(S:\test.exe): failed to op en stream: No such file or directory in C:\php-sdk\php54dev\vc9\x64\php-5.4.7-sr c\x64\Release\test.php on line 7 bool(false) -- Edit this bug report at https://bugs.php.net/bug.php?id=63241&edit=1
Bug #63241 [Com]: PHP fails to open Windows deduplicated files
Edit report at https://bugs.php.net/bug.php?id=63241&edit=1 ID: 63241 Comment by: daniel dot stelter-gliese at innogames dot de Reported by:daniel dot stelter-gliese at innogames dot de Summary:PHP fails to open Windows deduplicated files Status: Assigned Type: Bug Package:Win32API related Operating System: Windows Server 2012 PHP Version:5.4.7 Assigned To:mattficken Block user comment: N Private report: N New Comment: Sorry for the compile error, I was in a bit of a hurry when I uploaded it. Not only was a } missing, but also an assignment to isabsolute. Looking at the code this might be the reason why it fails. I've updated the patch. Previous Comments: [2012-10-10 21:53:28] mattfic...@php.net The patch doesn't compile. Fixing the missing }, the patch doesn't work for me. I can still reproduce the bug. [2012-10-10 08:27:16] paj...@php.net Thanks for the very good report :) We can reproduce it and added it to our tests suite. I'd to see how to deal with deduplicated files, if we have to cache them the same way we do for links or mounted volumes (necessary for require_once and the likes). [2012-10-09 08:03:54] paj...@php.net Matt, can you try to reproduce it please? [2012-10-08 16:17:44] daniel dot stelter-gliese at innogames dot de Description: Opening a file that was deduplicated by Windows Server 2012 deduplication fails with "No such file or directory". The behavior can be reproduced locally and through SMB shares (on Win7 and Win8 clients). I've tried 5.3.15 and 5.4.7 - judging from the code latest snapshots are affected, too. I could trace this to a problem with reparse points: deduplication adds the new reparse tag IO_REPARSE_TAG_DEDUP. There seems to be no documentation on this tag, so I could only interpret it as a flag to be ignored. The attached patch simply treats a IO_REPARSE_TAG_DEDUP file as a substitute on the same path, which worked well. Test script: --- $path = 'S:\\test.exe'; var_dump(filesize($path)); var_dump(realpath($path)); var_dump(strlen(file_get_contents($path))); var_dump(fopen($path, 'rb')); Expected result: int(5448704) string(50) "S:\test.exe" int(5448704) resource(6) of type (stream) Actual result: -- int(5448704) bool(false) Warning: file_get_contents(S:\test.exe): failed to open stream: No such file or directory in C:\php-sdk\php54dev\vc9\x64\ php-5.4.7-src\x64\Release\test.php on line 6 int(0) Warning: fopen(S:\test.exe): failed to op en stream: No such file or directory in C:\php-sdk\php54dev\vc9\x64\php-5.4.7-sr c\x64\Release\test.php on line 7 bool(false) -- Edit this bug report at https://bugs.php.net/bug.php?id=63241&edit=1
Bug #63241 [Com]: PHP fails to open Windows deduplicated files
Edit report at https://bugs.php.net/bug.php?id=63241&edit=1 ID: 63241 Comment by: mattfic...@php.net Reported by:daniel dot stelter-gliese at innogames dot de Summary:PHP fails to open Windows deduplicated files Status: Assigned Type: Bug Package:Win32API related Operating System: Windows Server 2012 PHP Version:5.4.7 Assigned To:mattficken Block user comment: N Private report: N New Comment: The patch doesn't compile. Fixing the missing }, the patch doesn't work for me. I can still reproduce the bug. Previous Comments: [2012-10-10 08:27:16] paj...@php.net Thanks for the very good report :) We can reproduce it and added it to our tests suite. I'd to see how to deal with deduplicated files, if we have to cache them the same way we do for links or mounted volumes (necessary for require_once and the likes). [2012-10-09 08:03:54] paj...@php.net Matt, can you try to reproduce it please? [2012-10-08 16:17:44] daniel dot stelter-gliese at innogames dot de Description: Opening a file that was deduplicated by Windows Server 2012 deduplication fails with "No such file or directory". The behavior can be reproduced locally and through SMB shares (on Win7 and Win8 clients). I've tried 5.3.15 and 5.4.7 - judging from the code latest snapshots are affected, too. I could trace this to a problem with reparse points: deduplication adds the new reparse tag IO_REPARSE_TAG_DEDUP. There seems to be no documentation on this tag, so I could only interpret it as a flag to be ignored. The attached patch simply treats a IO_REPARSE_TAG_DEDUP file as a substitute on the same path, which worked well. Test script: --- $path = 'S:\\test.exe'; var_dump(filesize($path)); var_dump(realpath($path)); var_dump(strlen(file_get_contents($path))); var_dump(fopen($path, 'rb')); Expected result: int(5448704) string(50) "S:\test.exe" int(5448704) resource(6) of type (stream) Actual result: -- int(5448704) bool(false) Warning: file_get_contents(S:\test.exe): failed to open stream: No such file or directory in C:\php-sdk\php54dev\vc9\x64\ php-5.4.7-src\x64\Release\test.php on line 6 int(0) Warning: fopen(S:\test.exe): failed to op en stream: No such file or directory in C:\php-sdk\php54dev\vc9\x64\php-5.4.7-sr c\x64\Release\test.php on line 7 bool(false) -- Edit this bug report at https://bugs.php.net/bug.php?id=63241&edit=1