You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm a little hand-wavy here on the slow/hang/freeze distinction. Internally I have a case that exhausts the patience of humans and hits a one hour CI timeout. I've tried to extract that and have something that for reasons that are unclear to me is a little less consistently bad but I think demonstrates a problem. Or rather a pair of real problems: something slow, and said slow thing hanging the spinner/UI for a long time.
This completes in about 30 seconds on my workstation and seems fine.
bigpex
pants --no-pantsd package src/freeze/bigpex::
Completes in > 2 minutes. It seems like it is doing a lot of work but nothing out of the ordinary.
loosebigpex
pants --no-pantsd package src/freeze/loosebigpex:: (Like the above, but with layout='loose')
Is all over the place. Sometimes the "dots" will hang for > 30 seconds:
Sometimes for minutes. Sometimes it seems to be indefinite. It does not seem deadlocked as the pants process is chugging away at CPU. When I get a stack trace from either this example or the internal one, it has always looked like:
Idle thought based on the UI dots hanging: I wonder if part of the problem here is some blocking code running within the async/await executor, i.e. if the UI is being managed by an async task (I don't know if this is the case), it is being starved by some unexpectedly-synchronous operation blocking a whole thread.
Describe the bug
I'm a little hand-wavy here on the slow/hang/freeze distinction. Internally I have a case that exhausts the patience of humans and hits a one hour CI timeout. I've tried to extract that and have something that for reasons that are unclear to me is a little less consistently bad but I think demonstrates a problem. Or rather a pair of real problems: something slow, and said slow thing hanging the spinner/UI for a long time.
Demonstration repo at https://github.com/cburroughs/example-docker/commits/csb/freeze-example/
/tmp/psutil
The basic setup is a chain of dependent docker files with some Pexs. I'm using https://pypi.org/project/acryl-datahub/ to represent a "big pex" with lots of dependencies and https://pypi.org/project/cowsay/ to represent a more reasonable one.
cowsay
pants --no-pantsd package src/freeze/cowsay::
This completes in about 30 seconds on my workstation and seems fine.
bigpex
pants --no-pantsd package src/freeze/bigpex::
Completes in > 2 minutes. It seems like it is doing a lot of work but nothing out of the ordinary.
loosebigpex
pants --no-pantsd package src/freeze/loosebigpex::
(Like the above, but withlayout='loose'
)Is all over the place. Sometimes the "dots" will hang for > 30 seconds:
Sometimes for minutes. Sometimes it seems to be indefinite. It does not seem deadlocked as the pants process is chugging away at CPU. When I get a stack trace from either this example or the internal one, it has always looked like:
or
Which points to https://github.com/pantsbuild/pants/blob/release_2.20.0/src/python/pants/backend/docker/utils.py#L111
Version
Pants: 2.19 / 2.20
The text was updated successfully, but these errors were encountered: