ostreedev / ostree

Operating system and container binary deployment and upgrades
https://ostreedev.github.io/ostree/
Other
1.3k stars 296 forks source link

Max outstanding fetches assertion in soup #1451

Closed dbnicholson closed 6 years ago

dbnicholson commented 6 years ago

I have a job where I ask ostree to pull a lot of commits at once. I'm occasionally hitting an assertion in the soup fetcher:

OSTree:ERROR:src/libostree/ostree-fetcher-soup.c:387:start_pending_request: assertion failed (g_hash_table_size (thread_closure->outstanding) < thread_closure->max_outstanding): (24 < 24)

Looking at the pull code, I don't understand how this is happening. It seems like it starts queuing requests (rather than immediately starting them) as soon as you get to _OSTREE_MAX_OUTSTANDING_FETCHER_REQUESTS. How is it getting to 3 times that value?

cgwalters commented 6 years ago

I think f4d1334e19ce3ab2f8872b1e28da52044f559401 missed deleting the assertions; looking at current master, nothing actually checks against max_outstanding in libsoup.

dbnicholson commented 6 years ago

For the record, I think the real issue is that the deltas superblock fetches aren't being counted in the total number of fetches - https://github.com/ostreedev/ostree/pull/1453#discussion_r168321706.