Bug 18925

Summary: Проблема при обновлении через http
Product: Sisyphus Reporter: Evgeny Sinelnikov <sin>
Component: aptAssignee: placeholder <placeholder>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P2 CC: boyarsh, evg, glebfm, imz, lav, ldv, mike, placeholder
Version: unstable   
Hardware: all   
OS: Linux   
URL: https://bugs.launchpad.net/ubuntu/+source/apt/+bug/42835
Attachments:
Description Flags
Файл настроек lighttpd для проблемной ситуации none

Description Evgeny Sinelnikov 2009-02-21 00:59:22 MSK
Created attachment 3331 [details]
Файл настроек lighttpd для проблемной ситуации

Уже неоднократно встречаюсь с ситуацией, при которой apt недокачивает файлы через http. Видимо виной тому настройки сервера... Тем не менее клиентская сторона всё равно так себя вести не должна:

[sin@base Battlestar]$ sudo apt-get dist-upgrade
[...]
120 upgraded, 3 newly installed, 1 replaced, 0 removed and 0 not upgraded.
Need to get 97.3MB of archives.
After unpacking 12.2MB of additional disk space will be used.
Do you want to continue? [Y/n]
[...]
Get:17 http://age i586/classic libxcb-devel 1.2-alt2 [2639kB]
Err http://age i586/classic libxcb-devel 1.2-alt2
  Error reading from server - read (104 Connection reset by peer)
Get:18 http://age i586/classic libX11-devel 3:1.2-alt1 [1027kB]
[...]
Get:45 http://age noarch/classic ant-bcel 1.7.1-alt2 [16.1kB]
E: Method http has died unexpectedly!
E: Tried to dequeue a fetching object
E: Tried to dequeue a fetching object
E: Tried to dequeue a fetching object
E: Tried to dequeue a fetching object
E: Tried to dequeue a fetching object
E: Tried to dequeue a fetching object
E: Tried to dequeue a fetching object
E: Tried to dequeue a fetching object
E: Tried to dequeue a fetching object
E: Tried to dequeue a fetching object

Ситуация повторяется на одних серверах и не повторяется на других. Для примера прикладываю файл настроек lighttpd для воспроизведения проблемной ситуации.
Comment 1 Evgeny Sinelnikov 2011-08-06 14:51:04 MSK
С аналогично проблемой столкнулся в nginx. Исходно проблема состояла в ошибках загрузки отдельных пакетов:
http://lists.etersoft.ru/pipermail/devel/2011-July/001840.html
Далее этот вопрос был перенесён и решён в рассылке nginx-ru@:
http://mailman.nginx.org/pipermail/nginx-ru/2011-July/042025.html

Проблема в nginx решалась патчем:
http://git.etersoft.ru/people/sin/packages/?p=nginx.git;a=commitdiff;h=61ff17c8976cee74e57f0781b2aee47be05aabab

А аналогичная исходной теме проблема стала возникать при таких двух опциях настройки:
lingering_close always
lingering_timeout 0

Суть проблемы в том, что при раннем закрытии соединения на сервере, считывание обрабатывается с ошибкой.
Comment 2 Ivan Zakharyaschev 2017-12-16 15:51:28 MSK
Эти неприятности возникают иногда у некоторых людей. (Последний раз у gremlin@ вчера, наложил патчи из Debian, task 196830 , протестировали с gremlin@, исправилось.)
Comment 3 Repository Robot 2017-12-19 16:18:26 MSK
apt-0.5.15lorg2-alt58 -> sisyphus:

Fri Dec 15 2017 Ivan Zakharyaschev <imz@altlinux> 0.5.15lorg2-alt58
- cherry-picked from Debian 0.7.22 (git://anonscm.debian.org/git/apt/apt.git)
  some fixes for http download method (ALT: 18925)
  * Fix pipeline handling on http.cc
  (closes: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=413324)
  (thx Otavio Salvador).
  * show error details of failed methods
  * if a process aborts with signal, show signal number
  * in http method: ignore SIGPIPE, we deal with EPIPE elsewhere
  (closes: https://bugs.launchpad.net/ubuntu/+source/apt/+bug/385144)
  (thx Michael Vogt).
Comment 4 Michael Shigorin 2017-12-20 12:52:14 MSK
Припоминаю, что когда-то напарывались/решали на ftp.linux.kiev.ua (nginx).