After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 687793 - v4l2src: Check for obj->pool == NULL in gst_v4l2src_fill
v4l2src: Check for obj->pool == NULL in gst_v4l2src_fill
Status: RESOLVED DUPLICATE of bug 691986
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
1.0.2
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
: 687668 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2012-11-06 18:48 UTC by Debarshi Ray
Modified: 2013-01-24 03:10 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
v4l2src: Check for obj->pool == NULL (1.11 KB, patch)
2012-11-06 18:50 UTC, Debarshi Ray
none Details | Review
crashing gst-debug log (187.02 KB, application/x-bzip2)
2012-11-07 12:32 UTC, Christian Fredrik Kalager Schaller
  Details

Description Debarshi Ray 2012-11-06 18:48:41 UTC
Not sure how obj->pool can be NULL unless someone called stop and can not reproduce it either, but it did happen once during a VoIP call and the backtrace lays the blame on obj->pool being NULL.

(gdb) bt
  • #0 gst_v4l2_buffer_pool_process
    at gstv4l2bufferpool.c line 1036
  • #1 gst_v4l2src_fill
    at gstv4l2src.c line 771
  • #2 gst_base_src_default_create
    at gstbasesrc.c line 1432
  • #3 gst_base_src_get_range
    at gstbasesrc.c line 2355
  • #4 gst_base_src_loop
    at gstbasesrc.c line 2600
  • #5 gst_task_func
    at gsttask.c line 316
  • #6 g_thread_pool_thread_proxy
    at gthreadpool.c line 309
  • #7 g_thread_proxy
    at gthread.c line 797
  • #8 start_thread
    at pthread_create.c line 308
  • #9 clone
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S line 114

Comment 1 Debarshi Ray 2012-11-06 18:50:40 UTC
Created attachment 228302 [details] [review]
v4l2src: Check for obj->pool == NULL
Comment 2 Tim-Philipp Müller 2012-11-07 10:46:23 UTC
*** Bug 687668 has been marked as a duplicate of this bug. ***
Comment 3 Christian Fredrik Kalager Schaller 2012-11-07 12:26:13 UTC
Added log and fixed pipeline to 687668 by mistake, please get them from there.
Comment 4 Christian Fredrik Kalager Schaller 2012-11-07 12:32:57 UTC
Created attachment 228359 [details]
crashing gst-debug log
Comment 5 Christian Fredrik Kalager Schaller 2012-11-07 13:06:01 UTC
Ok, tested Debarshis patch and it does fix the crash.
Comment 6 Tim-Philipp Müller 2012-11-16 00:25:58 UTC
> Ok, tested Debarshis patch and it does fix the crash.

So it doesn't crash any more, but errors out instead then?
Comment 7 Christian Fredrik Kalager Schaller 2012-11-16 12:45:24 UTC
Yes, it errors out
Comment 8 Olivier Crête 2013-01-24 03:10:35 UTC
Alright, the pool is NULL because it has never been created, because negotiation failed. But for some reason (an asynchronous state change), the task is re-started after it has been paused. But because of bug #691986, the NEED_RECONFIGURE flag is not longer set, and it tries to create the buffer without having caps set, and so it crashes!

*** This bug has been marked as a duplicate of bug 691986 ***