Skip to content

Progress output is mangled when using async #253

Description

@arnaudh
using ProgressMeter
progress = Progress(10);
asyncmap(1:10) do i
   sleep(i*0.1)
   next!(progress)
end

Output:

Progress:  20%|███████████▍                                             |  ETA: 0:00:04Progress:  30%|█████████████████▏                                       |  ETA: 0:00:03Progress:  40%|██████████████████████▊                                  |  ETA: 0:00:02Progress:  50%|████████████████████████████▌                            |  ETA: 0:00:01Progress:  60%|██████████████████████████████████▎                      |  ETA: 0:00:01Progress:  70%|███████████████████████████████████████▉                 |  ETA: 0:00:01Progress:  80%|███████████████████████████████████████Progress: 100%|█████████████████████████████████████████████████████████| Time: 0:00:01

Seems like the line doesn't get properly cleared/overriden when multiple calls to next!(progress) happen concurrently.

Note if I bump the sleep to a higher value (sleep(i)), the issue goes away:

Progress: 100%|█████████████████████████████████████████████████████████| Time: 0:00:10
  • Julia v1.8
  • ProgressMeter v1.7.2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions