Ticket #1345 (closed Bug: fixed)

Opened 21 months ago

Last modified 21 months ago

Piwik One Click Update fails with bogus error if curl_exec times out

Reported by: jpfle Owned by:
Priority: major Milestone: Piwik 0.6.2
Component: Core Keywords:
Cc: Sensitive: no

Description

Piwik One Click Update from 0.5.5 to 0.6.1 fails with these errors:

Archive incompatible: PCLZIP_ERR_BAD_FORMAT (-10) : Unable to find End of Central Dir Record signature

Piwik One Click Update has been cancelled. If you can't fix the above error message, it is recommended that you manually update Piwik.

Please check out the Update documentation to get started!

Change History

follow-up: ↓ 2   Changed 21 months ago by vipsoft

  • milestone set to 0 - Piwik 0.6.2

What is the file size of piwik/tmp/latest/latest.zip?

in reply to: ↑ 1   Changed 21 months ago by jpfle

Replying to vipsoft:

What is the file size of piwik/tmp/latest/latest.zip?

0 octet.

follow-up: ↓ 9   Changed 21 months ago by vipsoft

Assuming you didn't run out of disk space... Piwik wasn't able to download the .zip file.

I can add a check for the empty file, but I'd like to know if we can better detect why the download was attempted and failed. Can you check your phpinfo() ? I'm curious about extensions you have (e.g., curl, socket), and settings such as "disable_functions" and "suhosin.executor.func.blacklist".

  Changed 21 months ago by vipsoft

Scratch that. I see the problem.

  Changed 21 months ago by vipsoft

  • status changed from new to closed
  • resolution set to fixed

(In [2166]) fixes #1345 - for curl, use CONNECTTIMEOUT (timeout to connect) instead of TIMEOUT (time to complete curl operation) as the .zip file has increased in size, and the server (and/or network) seems slower; improve error checking

  Changed 21 months ago by vipsoft

  • summary changed from Piwik One Click Update fails from 0.5.5 to 0.6.1 to Piwik One Click Update fails with bogus error if curl_exec times out

follow-up: ↓ 8   Changed 21 months ago by matt

did you also try to download it several times? we sometimes reboot the server, which would cause any download to fail. Retrying a few minutes later should work, if that was the issue. Anthon, your change sounds good too.

in reply to: ↑ 7   Changed 21 months ago by jpfle

Replying to matt:

did you also try to download it several times?

Yes, in different times of the day and for different Piwik's installations.

in reply to: ↑ 3   Changed 21 months ago by jpfle

Replying to vipsoft:

Can you check your phpinfo() ? I'm curious about extensions you have (e.g., curl, socket), and settings such as "disable_functions" and "suhosin.executor.func.blacklist".

Do you still need this info?

  Changed 21 months ago by vipsoft

It was really slow last nite, so I saw it timeout after transferring ~700kB.

jpfle: you may still need to manually update from 0.6.1 to 0.6.2 if the slowdown persists, as you obviously won't have the fix until after you update.

  Changed 21 months ago by matt

if/when the problem becomes a larger issue, we can 'mirror' the downloads. I don't know how it would technically work if we would like to keep the existing URL piwik.org/latest.zip?

  Changed 21 months ago by vipsoft

Since we get the latest version number available, it should be trivial to determine the named file, eg 0.6.2 => piwik-0.6.2.zip, and retrieve that instead of latest.zip (in case a mirror has not synced up yet).

  Changed 21 months ago by vipsoft

We'd lose direct tracking of download stats, but I believe we can rsync our releases onto SourceForge's mirror network.

  Changed 21 months ago by vipsoft

(In [2185]) refs #1345 - tested with PHP 5.1.6; for fetchRemoteFile(), we now ask curl to write directly to the destination file

  Changed 21 months ago by vipsoft

In [2207], refs #1345 - handle negative Content-Length; in libcurl >= 7.12.1, the curl extension will ignore negative Content-Length

Note: See TracTickets for help on using tickets.