GNOME Bugzilla – Bug 733072
camerabin: Taking a picture in cheese leads to all sort of race
Last modified: 2014-07-17 13:38:47 UTC
I have got 3 different race so far when trying to take a picture. One it works but there is warning about oustanding buffers in v4l2 pool on stop. This should never happens in the ready->null state transition. Second it fails, EBUSY, the v4l2 pool never got freed. Third it deadlock, see attached backtrace.
Created attachment 280531 [details] Backtrace of the deadlock
Created attachment 280888 [details] [review] wrappercamerabinsrc: set src to ready when there are no pending buffers Setting to ready will block waiting for buffers to be reclaimed, so flush before setting to null to make sure no buffers are pending
Review of attachment 280888 [details] [review]: That's basically the only solution I could find too, lets do that and we'll revisit in 1.5
commit b39c01baa1f5b40943c7a207833bb581e4530e69 Author: Thiago Santos <ts.santos@sisa.samsung.com> Date: Wed Jul 16 18:27:15 2014 -0300 wrappercamerabinsrc: set src to ready when there are no pending buffers Setting to ready will block waiting for buffers to be reclaimed, so flush before setting to null to make sure no buffers are pending https://bugzilla.gnome.org/show_bug.cgi?id=733072