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 668720 - [0.11] explosion when calling append_structure
[0.11] explosion when calling append_structure
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
0.11.x
Other Linux
: Normal normal
: 0.11.2
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-01-26 09:56 UTC by Christian Fredrik Kalager Schaller
Modified: 2012-02-18 20:16 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Christian Fredrik Kalager Schaller 2012-01-26 09:56:17 UTC
In [10]: remuxcaps = Gst.Caps()

In [11]: remuxcaps.append_structure(Gst.Structure.from_string("video/x-raw"))
*** glibc detected *** /usr/bin/python: free(): invalid pointer: 0x0a3dabfb ***
======= Backtrace: =========
/lib/libc.so.6[0x4e24ad22]
/lib/libglib-2.0.so.0[0x41443e1c]
/lib/libglib-2.0.so.0(g_free+0x28)[0x41443fc8]
/usr/lib/python2.7/site-packages/gi/_gi.so(+0x170cc)[0xbe60cc]
/usr/lib/python2.7/site-packages/gi/_gi.so(+0x16e8c)[0xbe5e8c]
/usr/lib/python2.7/site-packages/gi/_gi.so(+0x112a9)[0xbe02a9]
/usr/lib/libpython2.7.so.1.0(PyCFunction_Call+0x14d)[0x416a8b8d]
/usr/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x5383)[0x417083b3]
/usr/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x862)[0x41709be2]
/usr/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x4bb2)[0x41707be2]
/usr/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x862)[0x41709be2]
/usr/lib/libpython2.7.so.1.0(PyEval_EvalCode+0x64)[0x41709d54]
/usr/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x52aa)[0x417082da]
/usr/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x862)[0x41709be2]
/usr/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x4bb2)[0x41707be2]
/usr/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x862)[0x41709be2]
/usr/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x4bb2)[0x41707be2]
/usr/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x862)[0x41709be2]
/usr/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x4bb2)[0x41707be2]
/usr/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x862)[0x41709be2]
/usr/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x4bb2)[0x41707be2]
/usr/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x862)[0x41709be2]
/usr/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x4bb2)[0x41707be2]
/usr/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x862)[0x41709be2]
/usr/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x4bb2)[0x41707be2]
/usr/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x862)[0x41709be2]
/usr/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x4bb2)[0x41707be2]
/usr/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x862)[0x41709be2]
/usr/lib/libpython2.7.so.1.0(PyEval_EvalCode+0x64)[0x41709d54]
/usr/lib/libpython2.7.so.1.0[0x41723b4d]
/usr/lib/libpython2.7.so.1.0(PyRun_FileExFlags+0x9e)[0x41724b0e]
/usr/lib/libpython2.7.so.1.0(PyRun_SimpleFileExFlags+0xea)[0x417256fa]
/usr/lib/libpython2.7.so.1.0(PyRun_AnyFileExFlags+0x8c)[0x417263cc]
/usr/lib/libpython2.7.so.1.0(Py_Main+0xbe4)[0x417376a4]
/usr/bin/python(main+0x28)[0x8048508]
/lib/libc.so.6(__libc_start_main+0xf3)[0x4e1ee6b3]
/usr/bin/python[0x8048531]
Comment 1 Vincent Penquerc'h 2012-01-26 11:13:53 UTC
That seems very much like memory corruption, so that statement may well be only the victim of a previous one.
Please supply a complete command line, preferably minimal (as it'll need to run on valgrind).
Comment 2 Vincent Penquerc'h 2012-01-26 11:15:15 UTC
And possibly in C, in case it's the Python wrapper that gets the refcounting wrong.
Comment 3 Christian Fredrik Kalager Schaller 2012-01-26 11:36:24 UTC
caps=Gst.Caps.new_empty()
caps.append_structure(Gst.Structure.from_string("video/x-raw"))
Segmentation fault

I don't know how to make a C example, but I tried creating the caps object in what is the more GI way, and it gives a different behaviour as seen above
Comment 4 Vincent Penquerc'h 2012-01-26 12:06:01 UTC
That tidbit alone is enough ? Can't run anything gst python at the moment to test it, but if so it's a good test case, I thought it was a part of transmageddon.
Comment 5 Christian Fredrik Kalager Schaller 2012-01-26 14:29:26 UTC
Yes, that is enough. Just running it in ipython
Comment 6 Christian Fredrik Kalager Schaller 2012-01-27 09:13:53 UTC
Ok, Edward fixed this by an annotation change. Closing as fixed.