Bug #72569 [Fbk->Csd]: DOTNET/COM array parameters broke in PHP7 (regresion)

From: Date: Tue, 12 Jul 2016 15:03:31 +0000
Subject: Bug #72569 [Fbk->Csd]: DOTNET/COM array parameters broke in PHP7 (regresion)
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-202242@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=72569&edit=1 ID: 72569 Updated by: ab@php.net Reported by: deivid dot garcia dot garcia at gmail dot com Summary: DOTNET/COM array parameters broke in PHP7 (regresion) -Status: Feedback +Status: Closed Type: Bug Package: COM related Operating System: Windows 10.1 PHP Version: 7.0.8 -Assigned To: +Assigned To: ab Block user comment: N Private report: N New Comment: Closing then. Cheers! Previous Comments: ------------------------------------------------------------------------ [2016-07-12 13:43:39] deivid dot garcia dot garcia at gmail dot com Works. Thanks! ------------------------------------------------------------------------ [2016-07-12 13:01:23] ab@php.net Thanks for making repro so easy :) I've just pushed a fix to this, could you please check these builds with your app? http://windows.php.net/downloads/snaps/ostc/72569/ Thanks. ------------------------------------------------------------------------ [2016-07-12 12:59:42] ab@php.net Automatic comment on behalf of ab Revision: http://git.php.net/?p=php-src.git;a=commit;h=3e8dbb3e5d763166e6f03903c931161d5f2706ed Log: Fixed bug #72569 DOTNET/COM array parameters broke in PHP7 ------------------------------------------------------------------------ [2016-07-11 15:41:00] deivid dot garcia dot garcia at gmail dot com I was able to investigate this further and it looks like the issue is not strictly related to the fact that an array is being passed, but that the array contains at least *one* reference. I have built a demo script + dll and posted instructions on this Github repo: https://github.com/david-garcia-garcia/72569test What happens is that, if you pass an array to .Net, and any of the elements inside the array is a reference, then the whole array arrives to .Net as full of NULLS (keeping the original length though). This did not happen in previous versions of PHP. If you run the script in PHP 5.6 x86 NTS and PHP 7.0.8 NTS x64 you will se that it outputs different data. Thanks! ------------------------------------------------------------------------ [2016-07-11 13:22:50] ab@php.net Thanks for the report. I'm willing to fix this issue, but lack on a way to reproduce. Could you please supply a complete code for the C# class and the way to bind it in PHP, so debugging can be done? Thanks. ------------------------------------------------------------------------ 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=72569 -- Edit this bug report at https://bugs.php.net/bug.php?id=72569&edit=1

« previous php.bugs (#202242) next »