Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/index.php/Reporting_Bug_Guidelines

Do NOT report bugs when a package is just outdated, or it is in Unsupported. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#61806 - [curl] "DEBUGASSERT(httpc->drain_total >= data->state.drain);" failed

Attached to Project: Arch Linux
Opened by Jiachen Yang (farseerfc) - Tuesday, 19 February 2019, 04:51 GMT
Last edited by Jan Alexander Steffens (heftig) - Tuesday, 19 February 2019, 07:23 GMT
Task Type Bug Report
Category Packages: Core
Status Closed
Assigned To Jan Alexander Steffens (heftig)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Description:

With curl 7.64.0-7 (didn't test previous builds), if the network is down during pacman downloading packages, there is a chance to cause pacman fail with:
"pacman: http2.c:498:drain_this: 假設『httpc->drain_total >= data->state.drain』失敗。" which translate to:
"pacman: http2.c:498:drain_this: assertion httpc->drain_total >= data->state.drain failed"

This assertion is this line https://github.com/curl/curl/blob/master/lib/http2.c#L498
Then after that pacman will abort and leave a lock file in /var/lib/pacman/db.lck

Removing the lock file and resume the network connection can fix the problem, so this may not be so severe, but it may have security risks.

Additional info:
* package version(s)

curl 7.64.0-7

* config and/or log files etc.

A pacman log is here: https://fars.ee/GQQR (sorry it's in Chinese).


Steps to reproduce:

1. sudo pacman -Syu
2. yank the internet connection during pacman downloading the packages
3. wait for pacman to abort
This task depends upon

Closed by  Jan Alexander Steffens (heftig)
Tuesday, 19 February 2019, 07:23 GMT
Reason for closing:  Fixed
Additional comments about closing:  curl 7.64.0-8
Comment by Jan Alexander Steffens (heftig) - Tuesday, 19 February 2019, 06:08 GMT
It's the enable-debug toggling on DEBUGASSERT, which I added to avoid filtering of the CFLAGS.

Doesn't seem like there's a sane way to do this without patching the build system.
Comment by Jan Alexander Steffens (heftig) - Tuesday, 19 February 2019, 06:09 GMT
Try 7.64.0-8 (from testing)
Comment by Jiachen Yang (farseerfc) - Tuesday, 19 February 2019, 07:22 GMT
7.64.0-8 seems fixed the problem

Loading...