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
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)