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 768668 - atomicqueue: forever busy-waiting
atomicqueue: forever busy-waiting
Status: RESOLVED DUPLICATE of bug 772747
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
1.8.2
Other Linux
: Normal normal
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2016-07-11 11:55 UTC by Miguel París Díaz
Modified: 2016-10-11 13:53 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
GDB back trace (5.60 KB, text/plain)
2016-07-11 11:55 UTC, Miguel París Díaz
Details

Description Miguel París Díaz 2016-07-11 11:55:05 UTC
Created attachment 331210 [details]
GDB back trace

Hello,
I have come across a forever busy-waiting in gst_atomic_queue_push, exactly in [1].

In my study case, I have a program where 78 threads are forever busy waiting in the same point.
You can see the back trace of one of these threads in the attached file. Others have the same back trace.

Refs
[1] https://github.com/Kurento/gstreamer/blob/2f41e7bc6a842044cb73bc0470601200575c378a/gst/gstatomicqueue.c#L387
Comment 1 Miguel París Díaz 2016-07-11 13:32:19 UTC
Maybe, it is a memory issue in my program because the "queue pointer" seems to be invalid.
GDB shows the next values:
(gdb) frame 0
  • #0 gst_atomic_queue_push
    at gstatomicqueue.c line 389
  • #1 gst_bus_post
    at gstbus.c line 349
$63 = (GstAtomicQueue *) 0x7fffb808a7f0

In frame-1 the "queue pointer" seems to be valid:
(gdb) p *(bus->priv->queue)
$64 = {refcount = 1, head_mem = 0x7fff802013f0, tail_mem = 0x7fff802013f0, free_list = 0x7fff98334770}
Comment 2 Sebastian Dröge (slomo) 2016-07-11 14:01:53 UTC
Do you have a way to reproduce it, a standalone testcase? Can you run that in valgrind?
Comment 3 Miguel París Díaz 2016-07-12 07:49:17 UTC
(In reply to Sebastian Dröge (slomo) from comment #2)
> Do you have a way to reproduce it, a standalone testcase?

No, I don't because I don't understand why this problem takes place :S
Any idea?

> Can you run that in valgrind?

Do you want to look for a specific thing?
Which steps do you want that I run?
Comment 4 Sebastian Dröge (slomo) 2016-07-12 08:10:05 UTC
(In reply to Miguel París Díaz from comment #3)
> (In reply to Sebastian Dröge (slomo) from comment #2)
> > Do you have a way to reproduce it, a standalone testcase?
> 
> No, I don't because I don't understand why this problem takes place :S
> Any idea?

Not really, sorry. I can't guess either why this happens if you don't have a testcase :)

> > Can you run that in valgrind?
> 
> Do you want to look for a specific thing?
> Which steps do you want that I run?

Whatever is necessary to make this happen again. You said the queue pointer was invalid, so maybe some kind of memory corruption is happening here.
Comment 5 Miguel París Díaz 2016-10-11 12:39:09 UTC
Move discussion to https://bugzilla.gnome.org/show_bug.cgi?id=772747
Comment 6 Tim-Philipp Müller 2016-10-11 13:53:28 UTC

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