Skip to content

[BUG] nvmultiurisrcbin file source in uri-list at startup: latency-recalc thread explosion #69

Description

@manuelstein

Describe the bug
When a file URI is present in uri-list at startup (our "idle fill" keep-alive clip),
the pipeline does process frames end-to-end, but worker threads grow without bound until the
process is OOM-killed.

  • Threads named pool-multistream-pipeline grow continuously, mostly parked in
    futex_do_wait (ls /proc/1/task | wc -l, top -H).
  • GST_DEBUG=4 shows nvmultiurisrcbin/multi-uri_creator posting ~172,000 LATENCY
    messages per second
    , each triggering latency recalculation + partial state re-sync, in
    a self-sustaining loop; pending pipeline state never settles.
  • A file with an audio track (sample_1080p_h264.mp4) grows at ~85 threads/s; a
    video-only clip grows at ~7 threads/s — audio aggravates but is not the cause.
  • A live RTSP source in uri-list at startup does not exhibit this — so the trigger
    is specifically a file source at startup.

Steps/Code to reproduce bug

gst-launch-1.0 nvmultiurisrcbin port=9000 ip-address=localhost \
  batched-push-timeout=33333 max-batch-size=4 live-source=1 drop-pipeline-eos=1 \
  width=1920 height=1080 \
  uri-list=file:///opt/nvidia/deepstream/deepstream/samples/streams/sample_1080p_h264.mp4 \
  ! fakesink sync=0
# observe thread count climbing and GST_DEBUG=4 LATENCY message storm

Environment details (please complete the following information):

• Hardware Platform (Jetson / GPU): GPU (x86_64, dGPU)
• DeepStream Version: 9.0
• TensorRT Version: 10.14.x (DS 9.0 default)
• NVIDIA GPU Driver Version: 595.71.05
• CUDA Version: 13.x (DS 9.0 default)
• Issue Type: bug
• Containerized: yes (DeepStream 9.0 base image), Kubernetes

Additional context
Is the latency-recalculation storm with a file source in uri-list a known issue, and is
there a property (e.g. disabling latency renegotiation, or a live-source/sync setting)
that prevents the unbounded thread growth?


By submitting this issue, you agree to follow our code of conduct and our contribution guidelines.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions