GNOME Bugzilla – Bug 668720
[0.11] explosion when calling append_structure
Last modified: 2012-02-18 20:16:23 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]
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).
And possibly in C, in case it's the Python wrapper that gets the refcounting wrong.
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
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.
Yes, that is enough. Just running it in ipython
Ok, Edward fixed this by an annotation change. Closing as fixed.