Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Possible Github throttling problem? ("EOF from serverOther error?") #128

Closed
luzpaz opened this issue Jul 29, 2019 · 28 comments
Closed

Possible Github throttling problem? ("EOF from serverOther error?") #128

luzpaz opened this issue Jul 29, 2019 · 28 comments

Comments

@luzpaz
Copy link

luzpaz commented Jul 29, 2019

DISTRIB_ID=ManjaroLinux
DISTRIB_RELEASE=18.0.4
DISTRIB_CODENAME=Illyria
appimageupdatetool version 1-alpha (commit a62e9b9), build 409 built on 2019-06-15 20:35:29 UTC

Problem:

When updating a FreeCAD appimage using appimagetool, connection will die right before appimage is done updating.

Expecting

That running the appimagetool once will complete the update as expected.

Workaround

Run the same command (below) over again and the AppImage download successfully completes.

Specific Error

EOF from serverOther error? -1
...
...
zsync2: failed to retrieve from FreeCAD_0.19-17499-Linux-Conda_Py3Qt5_glibc2.12-x86_64.AppImage, status -1
100.00% done (363.00 of 363.00 MiB)...
Update failed!

Full Output

I can consistently reproduce this. Here is the terminal output:

$ ./appimageupdatetool-x86_64.AppImage -r FreeCAD_0.19-17445-Linux-Conda_Py3Qt5_glibc2.12-x86_64.AppImage 
Checking for updates...
Fetching release information for tag "0.19_pre" from GitHub API.
... done!
Starting update...

Fetching release information for tag "0.19_pre" from GitHub API.
Updating from GitHub Releases via ZSync
0% done
zsync2: Target file: /home/beast/bin/FreeCAD_0.19-17499-Linux-Conda_Py3Qt5_glibc2.12-x86_64.AppImage
zsync2: Reading seed file: FreeCAD_0.19-17445-Linux-Conda_Py3Qt5_glibc2.12-x86_64.AppImage
74.83% done (271.62 of 363.00 MiB)...
zsync2: Usable data from seed files: 77.366105%
zsync2: Renaming temp file
zsync2: Fetching remaining blocks
77.37% done (280.84 of 363.00 MiB)...
zsync2: Downloading from https://github-production-release-asset-2e65be.s3.amazonaws.com/5736080/6fb39280-b209-11e9-8c14-0f78a05d73ac?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20190729%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190729T213310Z&X-Amz-Expires=300&X-Amz-Signature=fdacc7ad03b1df62a7b21fa2572bc008b53081229720a0f39a04469e84120f75&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3DFreeCAD_0.19-17499-Linux-Conda_Py3Qt5_glibc2.12-x86_64.AppImage&response-content-type=application%2Foctet-stream
99.37% done (360.72 of 363.00 MiB)...EOF from serverOther error? -1
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned

zsync2: failed to retrieve from FreeCAD_0.19-17499-Linux-Conda_Py3Qt5_glibc2.12-x86_64.AppImage, status -1
100.00% done (363.00 of 363.00 MiB)...
Update failed!
@luzpaz luzpaz changed the title Possible Github throttling problem? Possible Github throttling problem? ("EOF from serverOther error?") Jul 29, 2019
@probonopd
Copy link
Member

cc @TheAssassin

@antony-jr
Copy link

antony-jr commented Jul 31, 2019

I think this error is related to zsync2? in the unofficial one this does not occur(in the lastest master of the git repo),

INFO:   getInfo : AppImage is confirmed to be type 2. 
INFO:   getInfo : mapping AppImage to memory. 
INFO:   getInfo : AppImage architecture is x86_64 (64 bits). 
INFO:   getInfo : updateString( "gh-releases-zsync|FreeCAD|FreeCAD|0.19_pre|FreeCAD*glibc2.12-x86_64.AppImage.zsync" ). 
INFO:   getInfo : finished. 
INFO:  setControlFileUrl : using github releases zsync transport. 
INFO:  setControlFileUrl : github api request( QUrl("https://api.github.com/repos/FreeCAD/FreeCAD/releases/tags/0.19_pre") ). 
INFO:   handleGithubAPIResponse : starting to parse github api response. 
INFO:   handleGithubAPIResponse : http response code( 200 ). 
INFO:  handleGithubAPIResponse : latest version is  "0.19_pre" 
INFO:  handleGithubAPIResponse : asset required is  "FreeCAD*glibc2.12-x86_64.AppImage.zsync" 
INFO:  handleGithubAPIResponse : inspecting asset( "FreeCADLibs_12.1.2_x64_VC15.7z" 
INFO:  handleGithubAPIResponse : inspecting asset( "FreeCADLibs_12.1.3_x64_VC15.7z" 
INFO:  handleGithubAPIResponse : inspecting asset( "FreeCAD_0.19-17499-Linux-Conda_Py3Qt5_glibc2.12-x86_64.AppImage" 
INFO:  handleGithubAPIResponse : inspecting asset( "FreeCAD_0.19-17499-Linux-Conda_Py3Qt5_glibc2.12-x86_64.AppImage.zsync" 
INFO:   setControlFileUrl : using  QUrl("https://github.com/FreeCAD/FreeCAD/releases/download/0.19_pre/FreeCAD_0.19-17499-Linux-Conda_Py3Qt5_glibc2.12-x86_64.AppImage.zsync")  as zsync control file. 
INFO:   getControlFile : sending get request to  QUrl("https://github.com/FreeCAD/FreeCAD/releases/download/0.19_pre/FreeCAD_0.19-17499-Linux-Conda_Py3Qt5_glibc2.12-x86_64.AppImage.zsync") . 
INFO:   handleControlFile : starting to parse zsync control file. 
INFO:   handleControlFile : http response code( 200 ). 
INFO:   handleControlFile : searching for checksum blocks offset in the zsync control file. 
INFO:   handleControlFile : found checksum blocks offset( 298 ) in zsync control file. 
INFO:   handleControlFile : zsync make version confirmed to be  "0.6.2" . 
INFO:   handleControlFile : zsync target file name confirmed to be  "FreeCAD_0.19-17499-Linux-Conda_Py3Qt5_glibc2.12-x86_64.AppImage" . 
INFO:   handleControlFile : zsync target file MTime confirmed to be  QDateTime(2019-07-30 18:01:19.000 IST Qt::LocalTime) . 
INFO:   handleControlFile : zsync target file blocksize confirmed to be  4096  bytes. 
INFO:   handleControlFile : zysnc target file length confirmed to be  380628968  bytes. 
INFO:   handleControlFile :  2  bytes of weak checksum is available. 
INFO:   handleControlFile :  5  bytes of strong checksum is available. 
INFO:   handleControlFile :  2  consecutive matches is needed. 
INFO:   handleControlFile : zsync target file url is confirmed to be  QUrl("FreeCAD_0.19-17499-Linux-Conda_Py3Qt5_glibc2.12-x86_64.AppImage") . 
INFO:   handleControlFile : zsync target file sha1 hash is confirmed to be  "150FDE8A061DA14BC2C0AE0656B17A934D669222" . 
INFO:   handleControlFile : zsync target file has  92927  number of blocks. 
INFO:   setConfiguration : creating temporary file. 
INFO:   setConfiguration : temporary file will temporarily reside at  "/home/antonyjr/AppImages/FreeCAD_0.19-17499-Linux-Conda_Py3Qt5_glibc2.12-x86_64.AppImage.GNQFxEIaLO.part" . 
INFO:   start : starting delta writer. 
INFO:   getBlockRanges : emitting required block ranges. 
INFO:   getBlockRanges : ( 283115520  ,  380628968 ). 
INFO:   getBlockRanges : emitted required block ranges. 
INFO:   writeBlockRanges : wrote block( 283115520 , 380628968 ). 
INFO:   verifyAndConstructTargetFile : calculating sha1 hash on temporary target file.  
INFO:   verifyAndConstructTargetFile : comparing temporary target file sha1 hash( "150FDE8A061DA14BC2C0AE0656B17A934D669222" ) and remote target file sha1 hash( "150FDE8A061DA14BC2C0AE0656B17A934D669222" 
INFO:   verifyAndConstructTargetFile : sha1 hash matches! 

I used dd command to just write the first 283 MiB 270 MiB of the file to mimic the exact scenario of the mentioned update.

 $ dd if=FreeCAD-Orig.AppImage of=FreeCAD.AppImage count=540K

In conclusion this is not github's fault @luzpaz .

@antony-jr
Copy link

Weird enough, The CLI tool finishes the update successfully.

[antonyjr@liz AppImages]$ ./appimageupdatetool-x86_64.AppImage FreeCAD.AppImage 
Checking for updates...
Fetching release information for tag "0.19_pre" from GitHub API.
... done!
Starting update...

Fetching release information for tag "0.19_pre" from GitHub API.
0% done
Updating from GitHub Releases via ZSync
0% done
zsync2: Target file: /home/antonyjr/AppImages/FreeCAD_0.19-17499-Linux-Conda_Py3Qt5_glibc2.12-x86_64.AppImage
zsync2: Reading seed file: FreeCAD.AppImage
68.84% done (249.90 of 363.00 MiB)...
zsync2: Usable data from seed files: 70.937402%
zsync2: Renaming temp file
zsync2: Fetching remaining blocks
70.94% done (257.50 of 363.00 MiB)...
zsync2: Downloading from https://github-production-release-asset-2e65be.s3.amazonaws.com/5736080/8ffb5400-b2d2-11e9-99ef-70c303f7b61e?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20190731%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190731T090021Z&X-Amz-Expires=300&X-Amz-Signature=135892b17f17810c6637b956a87ea61e7deea2cdcc25069ec517c1a7cab69d29&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3DFreeCAD_0.19-17499-Linux-Conda_Py3Qt5_glibc2.12-x86_64.AppImage&response-content-type=application%2Foctet-stream
99.99% done (362.98 of 363.00 MiB)...
zsync2: Verifying downloaded file
100.00% done (363.00 of 363.00 MiB)...
zsync2: checksum matches OK
zsync2: used 270008320 local, fetched 110620648
100.00% done (363.00 of 363.00 MiB)...
Validation warning: AppImage not signed
Update successful. New file created: /home/antonyjr/AppImages/FreeCAD_0.19-17499-Linux-Conda_Py3Qt5_glibc2.12-x86_64.AppImage

@luzpaz are you sure this error exists at all? Can you provide the exact AppImage you tried to update? AppImageUpdate seems to work good @probonopd , I think you can close the ticket on zsync2.

@luzpaz
Copy link
Author

luzpaz commented Jul 31, 2019

@antony-jr I'm sure it exists, I can reproduce it on Manjaro (haven't tried another OS). The AppImage is the one you tested above from: https://github.com/FreeCAD/FreeCAD/releases/tag/0.19_pre
(https://github.com/FreeCAD/FreeCAD/releases/download/0.19_pre/FreeCAD_0.19-17499-Linux-Conda_Py3Qt5_glibc2.12-x86_64.AppImage)

@antony-jr
Copy link

@luzpaz I'm also using Manjaro Linux. I will shortly publish all the test results to confirm this issue.

@antony-jr
Copy link

Okay, Now the AppImage you mentioned is the latest version. Is that the version you've done the update and failed? Because the update will not start if its the latest version.

@antony-jr
Copy link

antony-jr commented Jul 31, 2019

Ah, It seems you used an old version and I used a latest version. We cannot confirm this unless we have that exact version of AppImage. Is that possible?

@luzpaz even if this issue exists I think it will not happen again. It may have occurred because of a network interruption or something else.

Have you tried the same thing using the latest version of the AppImage or we could wait for the next release to test this.

EDIT: You could use dd command to mimic a large scale update, use this command,

 $ dd if=FreeCAD-Original.AppImage of=FreeCAD.AppImage count=520K

Now update FreeCAD.AppImage using appimageupdatetool.

@luzpaz
Copy link
Author

luzpaz commented Aug 6, 2019

@antony-jr new appimage available (r17512) from FreeCAD: https://github.com/FreeCAD/FreeCAD/releases/download/0.19_pre/FreeCAD_0.19-17512-Linux-Conda_Py3Qt5_glibc2.12-x86_64.AppImage

I'm going to run:

$ ./appimageupdatetool-x86_64.AppImage --version
appimageupdatetool version 1-alpha (commit d855332), build 410 built on 2019-07-29 14:59:00 UTC

on my local (r17499) FreeCAD_0.19-17499-Linux-Conda_Py3Qt5_glibc2.12-x86_64.AppImage

Result

Stalled at 94.68% done (344.63 of 364.00 MiB)...

Output

$ ./appimageupdatetool-x86_64.AppImage FreeCAD_0.19-17499-Linux-Conda_Py3Qt5_glibc2.12-x86_64.AppImage 
Checking for updates...
Fetching release information for tag "0.19_pre" from GitHub API.
... done!
Starting update...

Fetching release information for tag "0.19_pre" from GitHub API.
Updating from GitHub Releases via ZSync
0% done
zsync2: Target file: /home/beast/bin/FreeCAD_0.19-17512-Linux-Conda_Py3Qt5_glibc2.12-x86_64.AppImage
zsync2: Reading seed file: FreeCAD_0.19-17499-Linux-Conda_Py3Qt5_glibc2.12-x86_64.AppImage
91.97% done (334.77 of 364.00 MiB)...
zsync2: Usable data from seed files: 94.679344%
zsync2: Renaming temp file
zsync2: Fetching remaining blocks
94.68% done (344.63 of 364.00 MiB)...
zsync2: Downloading from https://github-production-release-asset-2e65be.s3.amazonaws.com/5736080/681e6a00-b857-11e9-9008-9c7eb205f96f?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20190806%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190806T230740Z&X-Amz-Expires=300&X-Amz-Signature=73b8a1d18f2515cf02a3a99326ac6444bac8c7c8d95730bc8744fdc72af6d6db&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3DFreeCAD_0.19-17512-Linux-Conda_Py3Qt5_glibc2.12-x86_64.AppImage&response-content-type=application%2Foctet-stream
99.56% done (362.41 of 364.00 MiB)...
99.56% done (362.41 of 364.00 MiB)...EOF from serverOther error? -1
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned
-1 returned

zsync2: failed to retrieve from FreeCAD_0.19-17512-Linux-Conda_Py3Qt5_glibc2.12-x86_64.AppImage, status -1
100.00% done (364.00 of 364.00 MiB)...
Update failed!

@TheAssassin
Copy link
Member

The -1 is strange. But I doubt there's throttling to be honest. Regular downloading has always worked for me with great speed.

The problem IMO is that the zsync2 code is just not efficient nor fast nor good at all. Therefore there's plans to rewrite the whole project with efficiency and speed as design goals. The whole code just suffers from the old code base we inherited in zsync2. Therefore we really have to replace all of this. AppImageUpdate will directly benefit from that.

@luzpaz
Copy link
Author

luzpaz commented Aug 7, 2019

herefore we really have to replace all of this. AppImageUpdate will directly benefit from that.

@TheAssassin this type of error for sure doesn't inspire confidence in first-time users, so I'm in agreement (fwiw)

@antony-jr
Copy link

@luzpaz I can confirm this now.

The problem IMO is that the zsync2 code is just not efficient nor fast nor good at all. Therefore there's plans to rewrite the whole project with efficiency and speed as design goals. The whole code just suffers from the old code base we inherited in zsync2. Therefore we really have to replace all of this. AppImageUpdate will directly benefit from that.

I can help @TheAssassin , We don't really have to write the entire zsync but only the client. You over engineered zsync and implemented everything. We don't want everything all we need is the delta update. (i.e) To do parsing of control file(remotely), calculate and create hash table for seed file, delta writer and block downloader. We don't need control file generation, ZMap or other stuff provided by zsync.

We can also use the same for Qt too.

@antony-jr
Copy link

antony-jr commented Aug 7, 2019

The -1 is strange. But I doubt there's throttling to be honest. Regular downloading has always worked for me with great speed.

@TheAssassin the unofficial one seems to work. So this is definitely not github's fault.

EDIT: Sorry wrong conclusion. Needs more testing.

@antony-jr
Copy link

@luzpaz Could you test the same update on https://github.com/antony-jr/AppImageUpdater

@luzpaz
Copy link
Author

luzpaz commented Aug 7, 2019

Could you test the same update on antony-jr/AppImageUpdater

@antony-jr exact same issue sorry i didn't realize this was your fork i just tested AppImageUpdater. Will do this and report back.

@luzpaz
Copy link
Author

luzpaz commented Aug 7, 2019

@antony-jr it looked like it was going to work but then got to 100% without showing it succeeded (offering a call-to-action button or something)
image
FYI notice that it says updating 369 MiB of 363 MiB (shall I open a ticket on https://github.com/antony-jr/AppImageUpdater for that?)

it hung there for a long time (longer than I've experienced using the official AppImage-updater (CLI and GUI) then it error'ed out with the following:
image
https://github.com/antony-jr/AppImageUpdater

@luzpaz
Copy link
Author

luzpaz commented Aug 7, 2019

Edit: the stdout ends uneventfully:
image

@antony-jr
Copy link

sorry i didn't realize this was your fork

@luzpaz Its actually a re-implementation unrelated to AppImageUpdate's code base.

Edit: the stdout ends uneventfully:

That's on purpose.

Anyways, That seems like a network error please retry. Because it used to work on my end.

@antony-jr
Copy link

FYI notice that it says updating 369 MiB of 363 MiB

That's because the new file is larger than the previous version. Lets just concentrate on why these errors occur.

@luzpaz
Copy link
Author

luzpaz commented Aug 7, 2019

@antony-jr I deleted the incomplete update from previous attempt and queued the older FC AppImage (r17499). The result is that it just hangs right even before it starts to download anything. The GUI is showing 100% but no data has been downloaded in actuality:
image

@antony-jr
Copy link

antony-jr commented Aug 7, 2019

Okay lets stick to the issue, I don't want to debug unrelated application issue here.

EDIT : I just updated the program so might be some new bug.

@antony-jr
Copy link

This issue is sooo weird, see antony-jr/AppImageUpdater#16 (comment) , Any ideas @TheAssassin

@antony-jr
Copy link

This might actually be github doing something, like rate limiting high amounts of range requests???? Because this seems to happen when there is large amount of blocks changed??

@probonopd
Copy link
Member

Only one way to find out: Put the same files on a different server :-)

@antony-jr
Copy link

Only one way to find out: Put the same files on a different server :-)

Thanks @probonopd, I tried it in my local server and the error still exists, So this is not github's fault. I think the library needs a big rewrite again.(Both the official and the Qt version)

@luzpaz
Copy link
Author

luzpaz commented Aug 8, 2019

The internet connection where I usually download the appimage from is pretty slow. I haven't tested what the speed is but I think the error is most likely associated with that

@antony-jr
Copy link

IMO the update should be stable across any internet connection regardless of the speed.

@TheAssassin
Copy link
Member

This might actually be github doing something, like rate limiting high amounts of range requests???? Because this seems to happen when there is large amount of blocks changed??

GitHub is surely rate limiting requests, but as far as I know only for the API, not for the download endpoints.

@antony-jr
Copy link

antony-jr commented Oct 25, 2019

@TheAssassin I think you can close this. This was fixed long ago.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants