Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • gstreamer-rs gstreamer-rs
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 44
    • Issues 44
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 11
    • Merge requests 11
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GStreamer
  • gstreamer-rsgstreamer-rs
  • Issues
  • #70
Closed
Open
Created Jan 04, 2018 by Sebastian Dröge@slomo🍵Owner

Memory corruption playbin no unsafe

Created by: rikte88

A combination of bus.timed_pop(), msg.get_src(), and playbin.set_state() causes a GStreamer-CRITICAL error which makes no sense when looking at the code. The error is followed by lots of memory corruption (lots of errors in valgrind). No unsafe code is needed. The bug cannot be reliably triggered, but repeatedly changing the state does the trick. The shortest example I could come up with to make it occur is attached, and valgrind output obtained with: valgrind ./target/debug/binary > valgrind-output.txt 2>&1

corruption-example.zip

Tested on latest stable Fedora and Debian, same result. Deleted Cargo.lock, used: "gstreamer 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", Used: stable-x86_64-unknown-linux-gnu (default) rustc 1.23.0 (766bd11c8 2018-01-01)

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking