GNOME Bugzilla – Bug 747285
MEMORY-ERROR is printed and then application abort.
Last modified: 2016-02-28 19:43:53 UTC
Env: linux-kernel: 3.10 cpu: arm cortex-A15 core gstreamer version: 1.2.3 gst-omx version: 1.0 pipeline structure: filesrc ! typefind ! queue ! mpegvparse ! omxmpeg2dec ! (convert and scale) ! waylandsink Operation: 1. Played a short mpeg-2 video, the length is about 6s. 2. Playback completed. 3. Play it a again without terminating the process. After I repeated step 2 and 3 for about 5~10 time, the program was aborted and print out this error message: ========================================================================== ***MEMORY-ERROR***: test_arm[468]: GSlice: assertion failed: sinfo->n_allocated > 0 ========================================================================== Here is the gdb backtrace info: ========================================================================== (gdb) bt
+ Trace 234936
Then set the environment variable G_SLICE=always-malloc. In this situation I could play the same video for about 50 times. No problem happened this time. I'm not quite sure is this a gstreamer bug or a glib bug. This is my first bug. If the info is not enough, please notice me. Thanks,
Additionally, my glib version is 2.38
This might be a parser bug. Could you make the file available somewhere? Have you tried with 1.4 or git master?
@Tim-Philipp Müller -->Could you make the file available somewhere? Does "the file" represent the "mpeg-2 media file" or the parser's source code? -->Have you tried with 1.4 or git master? I have never tried with 1.4. The gstreamer in my enviroment is packaged in a yocto project. And the waylandsink plugin was patched some members in my team to adapt our system. So gstreamer-1.4 can't run on our system now. But I have ever tried to play a h264 media file. In that case, h264parse was used instead of mpegvideoparse. This issue happened too.
The media file, we have the parser source code :) Does the issue also happen with other sinks, e.g. fakesink?
I've uploaded the media file to a cloud drive and will keep it avaliable for two weeks. It can be downloaded from the following site: http://pan.baidu.com/s/1sjLoCTv I'll go back to my office tomorrow. And then I'll test it with fakesink.
I've test my program using fakesink. This issue doesn't happen. But the "use_dmabuf" property of omx plugins must be set to false in order to make them work well with fakesink.
@Tim-Philipp Müller Have you got the media file? If you could not replay this issue, I think it may be our patched plugins' problem. I'll take a further investigation on this issue. And details will be reported here when I have some conclusions. Thanks for your attention.
Closing this bug report as no further information has been provided. Please feel free to reopen this bug report if you can provide the information that was asked for in a previous comment. Thanks! It looks like a refcounting issue "somewhere". The file seems to play fine for me with recent GStreamer. I would suspect your custom/modified code, or the integration layer for your embedded system. In any case, we don't really have enough information to go on.