[Stable 9] Make ownCloud work again in php 7.0.6 #24343

Merged
merged 1 commit into from May 2, 2016

Projects

None yet
@rullzer
Contributor
rullzer commented Apr 29, 2016

See https://bugs.php.net/bug.php?id=72117

Backport of #24326
@karlitschek for approval

@cmonteroluque FYI. Up to you if we want this fix in 9.0.2 or 9.0.3

CC: @nickvergessen @PVince81 @LukasReschke @DeepDiver1975 @maki-chan @HLFH

@rullzer rullzer added this to the 9.0.3-next-maintenance milestone Apr 29, 2016
@mention-bot

By analyzing the blame information on this pull request, we identified @LukasReschke, @DeepDiver1975 and @Xenopathic to be potential reviewers

@PVince81
Collaborator

Not critical, so 9.0.3

@icewind1991
Member

πŸ‘

@Xenopathic
Member

πŸ‘

However I'd be inclined to consider this critical - it prevents ownCloud being used with PHP 7.0.6, which rolling-release distros are now shipping.

@PVince81
Collaborator

This is a change deeper in core, I'd prefer to have it better tested on master instead of putting this in a few days before release.

@enoch85
Member
enoch85 commented Apr 30, 2016 edited

@PVince81 This breaks my VMs and I got several emails regarding this. Please fix this in 9.0.2 as well.

@enoch85 enoch85 added a commit to techandme/owncloud-vm that referenced this pull request Apr 30, 2016
@enoch85 enoch85 temporary alert da9fb96
@ghost
ghost commented Apr 30, 2016 edited

This is a change deeper in core, I'd prefer to have it better tested on master instead of putting this in a few days before release.

If it won't be included in oC 9.0.2 PLEASE PLEASE communicate this issue correctly (Mailinglist, main owncloud.org page, social media and similar). We got already tons of reports at IRC, forums and also more and more here (#24353, #24333, #24364, #24362) about that.

@Akhenaton

πŸ‘ πŸ‘ πŸ‘ @RealRancor
This fix should definitively be included in 9.0.2 !
Many PHP 7.0.6 users have already applied manually the 3 lines patch for their 9.0.1, and when updating to 9.0.2 shouldn't have to do it again....

@Xenopathic
Member

We are seeing a LOT of issue reports showing up about PHP 7.0.6...

@LukasReschke
Member

Personally I'd also second 9.0.2, this will reflect bad on ownCloud otherwise.

cc @cmonteroluque @PVince81 @karlitschek

@rullzer rullzer Make ownCloud work again in php 7.0.6
See https://bugs.php.net/bug.php?id=72117
Basically a bugfix in php caused this issue. So isset is not called more
often. We have to catch this.
a834531
@rullzer
Contributor
rullzer commented May 1, 2016

Rebased to have a full CI run

@rullzer
Contributor
rullzer commented May 1, 2016

@PVince81 I get your concern. But if you look at the patch it is really pretty straight forward. With all the requests already here I also vote for 9.0.2. Ping me monday if you want to discuss.

@karlitschek
Member

@pvince81 I agree that careful testing is important. but this change looks pretty simple and is well understood.
so i would vote for a backport πŸ‘

@greyltc
greyltc commented May 1, 2016

This is a super annoying bug on Arch Linux. I'd love it if you all could get a fix out asap.

@alerque
alerque commented May 2, 2016

I understand the desire to have things tested before they ship, but this really needs to be in the next release out the door. If the release schedule has to be pushed back to get this through the paces then so be it. If testing results matter, the current version and anything shipped that doesn't include this fix is failing the tests and in a known broken state.

OwnCloud has been adament about the need to install directly from upstream or upstream supported packages because distro packages would be too far behind. That's understandable, but this is the kind of thing that needs to get addressed sooner rather than later for that advice not to backfire. Distros are shipping with new PHP patch levels and ownCloud needs to stay compatable with the latest shipping versions.

@DeepDiver1975
Member

9.0.2 - we better fix broken setups

@cmonteroluque cmonteroluque merged commit 218a206 into stable9 May 2, 2016

22 checks passed

cla-bot-core Build #3697 succeeded in 2 min 39 sec
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
core-ci-linux-jsunit/database=sqlite,label=SLAVE Build #61516 succeeded in 3 min 28 sec
Details
core-ci-linux-swift-primary-storage/database=mysql,label=SLAVE Build #55714 succeeded in 15 min
Details
core-ci-linux/database=mysql,label=SLAVE Build #30165 succeeded in 21 min
Details
core-ci-linux/database=oci,label=SLAVE Build #30165 succeeded in 39 min
Details
core-ci-linux/database=pgsql,label=SLAVE Build #30165 succeeded in 22 min
Details
core-ci-linux/database=sqlite,label=SLAVE Build #30165 succeeded in 13 min
Details
ocs-api-integration-tests-ci Build #10326 succeeded in 8 min 55 sec
Details
server-master-linux-externals-ci/database=sqlite,external=smb-silvershell,label=SLAVE Build #9931 succeeded in 6 min 8 sec
Details
server-master-linux-externals-ci/database=sqlite,external=swift-ceph,label=SLAVE Build #9931 succeeded in 7 min 50 sec
Details
server-master-linux-externals-ci/database=sqlite,external=webdav-ownCloud,label=SLAVE Build #9931 succeeded in 7 min 46 sec
Details
server-master-linux-externals-smb-windows-ext-ci/database=sqlite,external=smb-windows,label=master Build #13593 succeeded in 6 min 4 sec
Details
server-master-linux-php5.4-ci/database=sqlite,label=SLAVE Build #3116 succeeded in 9 min 21 sec
Details
server-master-linux-php7-ci/database=sqlite,label=SLAVE Build #38401 succeeded in 8 min 2 sec
Details
smashbox-on-docker-ci/DOCKER_IMAGE=ubuntu_oc_lamp-git,TEST_NAME=litmus,mirallBranch=v2.0.2,slave=SMASH Build #14268 succeeded in 5 min 52 sec
Details
smashbox-on-docker-ci/DOCKER_IMAGE=ubuntu_oc_lamp-git,TEST_NAME=test_basicSync@0,mirallBranch=v2.0.2,slave=SMASH Build #14268 succeeded in 11 min
Details
smashbox-on-docker-ci/DOCKER_IMAGE=ubuntu_oc_lamp-git,TEST_NAME=test_basicSync@1,mirallBranch=v2.0.2,slave=SMASH Build #14268 succeeded in 20 min
Details
smashbox-on-docker-ci/DOCKER_IMAGE=ubuntu_oc_lamp-git,TEST_NAME=test_shareLink,mirallBranch=v2.0.2,slave=SMASH Build #14268 succeeded in 24 min
Details
smashbox-on-docker-ci/DOCKER_IMAGE=ubuntu_oc_lamp-git,TEST_NAME=test_sharePermissions,mirallBranch=v2.0.2,slave=SMASH Build #14268 succeeded in 18 min
Details
smashbox-on-docker-ci/DOCKER_IMAGE=ubuntu_oc_lamp-git,TEST_NAME=test_sharePropagationGroups,mirallBranch=v2.0.2,slave=SMASH Build #14268 succeeded in 7 min 42 sec
Details
smashbox-on-docker-ci/DOCKER_IMAGE=ubuntu_oc_lamp-git,TEST_NAME=test_sharePropagationInsideGroups,mirallBranch=v2.0.2,slave=SMASH Build #14268 succeeded in 9 min 47 sec
Details
@cmonteroluque cmonteroluque deleted the stable9_24326 branch May 2, 2016
@rullzer
Contributor
rullzer commented May 2, 2016

CC: @jospoortvliet in case you find mentions of this on social media etc.

@PVince81
Collaborator
PVince81 commented May 2, 2016

Had a quick test with 9.0.2RC2 on php5-5.6.20-1.2.x86_64 and app framework API seems to still work fine. It can be checked by favoriting/unfavoriting a file.

@Wonderfall Wonderfall pushed a commit to Wonderfall/dockerfiles that referenced this pull request May 5, 2016
Wonderfall owncloud: request.php fix as PHP 7.0.6 breaks login 14276ed
@c0mputerking

Hello i am using debian jessie, with owncloud upgraded today, and i am getting a login loop as mentioned by others above.

However I am not sure where/how to apply the above patch to jessie. None of the files below seem to contain the public function __isset line how do fix my instance of owncloud?

find / -name Request.php
/var/www/owncloud/updater/vendor/guzzlehttp/guzzle/src/Message/Request.php
/var/www/owncloud/updater/src/Http/Request.php
/var/www/owncloud/apps/files_external/3rdparty/aws-sdk-php/Guzzle/Http/Message/Request.php
/var/www/owncloud/apps/files_external/3rdparty/google-api-php-client/src/Google/Http/Request.php
/var/www/owncloud/3rdparty/sabre/http/lib/Request.php
/var/www/owncloud/3rdparty/guzzle/http/Guzzle/Http/Message/Request.php
/var/www/owncloud/3rdparty/guzzlehttp/guzzle/src/Message/Request.php

@rullzer
Contributor
rullzer commented May 12, 2016

@c0mputerking which version of ownCloud are you running hen? 9.0.2 should have the fix.

Anyways: the file is still lowercase. So lib/private/appframework/http/request.php

`

@c0mputerking
c0mputerking commented May 12, 2016 edited

Looks like im on version 9.0.2

$OC_Version = array(9,0,2,2);
$OC_VersionString = '9.0.2';
$OC_Edition = '';
$OC_Channel = 'stable';
$OC_VersionCanBeUpgradedFrom = array(8,2);
$OC_Build = '2016-05-03T09:00:07+00:00 e13d02d';

However i still cannot login ... I did upgrade to 9.0.1 something awhile ago which broke things thought if i upgraded again things would start working however they have not.

Thanks i found the file now it contains this is it correct do i have another issue i cannot find the patch post now.

/**
         * @param string $name
         * @return bool
         */
        public function __isset($name) {
                if (in_array($name, $this->allowedKeys, true)) {
                        return true;
                }
                return isset($this->items['parameters'][$name]);
        }

        /**
         * @param string $i
@Xenopathic
Member

@c0mputerking Please open a new issue report if you think you have found a bug in ownCloud.

@ghost Unknown referenced this pull request May 22, 2016
Closed

Can't #24758

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment