GNOME Bugzilla – Bug 768668
atomicqueue: forever busy-waiting
Last modified: 2016-10-11 13:53:28 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
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
+ Trace 236459
$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}
Do you have a way to reproduce it, a standalone testcase? Can you run that in valgrind?
(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?
(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.
Move discussion to https://bugzilla.gnome.org/show_bug.cgi?id=772747
*** This bug has been marked as a duplicate of bug 772747 ***