avdec_h264 seg fault

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

avdec_h264 seg fault

Gary Metalle

Hi


I am getting a segmentation fault trying to use the avdec_h264 decoder in the libav plugin.


I am running on an ARM platform running Linux with kernel 4.14.78-mx6+ge692c3062368.

Gstreamer 1.14.4

LSB Version:    core-5.0-noarch:core-5.0-arm
Distributor ID: fslc-framebuffer
Description:    FSLC FrameBuffer 2.6
Release:        2.6
Codename:       thud


libavcodec     58. 18.100 / 58. 18.100​


root@var-som-mx6:~# gst-launch-1.0 filesrc location=/home/root/Big_Buck_Bunny_360_10s_10MB.mp4 ! qtdemux ! video/x
x-h264,alignment=au,stream-format=avc ! queue ! h264parse ! avdec_h264 ! imxipuvideosink
Setting pipeline to PAUSED ...
0:00:00.215072334  2126  0x16ded60 WARN                 basesrc gstbasesrc.c:3583:gst_base_src_start_complete:<filesrc0> pad not activated yet
Pipeline is PREROLLING ...
0:00:00.216257001  2126  0x169a400 WARN                 qtdemux qtdemux_types.c:233:qtdemux_type_get: unknown QuickTime node type pasp
0:00:00.216454334  2126  0x169a400 WARN                 qtdemux qtdemux.c:3031:qtdemux_parse_trex:<qtdemux0> failed to find fragment defaults for stream 1
0:00:00.216890334  2126  0x169a400 WARN                 basesrc gstbasesrc.c:2445:gst_base_src_update_length:<filesrc0> processing at or past EOS
Redistribute latency...
Segmentation fault


If I use a Freescale implemented imxvpudec hardware decoder then it works fine (see below).


I appreciate the platform is very specific, I will speak to my boss on Monday who built the distribution and see if he can rebuild it. Just wanted to know if sort of issue anyone has seen or can recommend some further investigation.


gst-launch-1.0 filesrc location=/home/root/Big_Buck_Bunny_360_10s_10MB.mp4 ! qtdemux ! video/x-h264,alignment=au,stream-format=avc ! queue ! h264parse ! imxvpudec ! imxipuvideosink


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: avdec_h264 seg fault

Nicolas Dufresne-5
Le vendredi 14 août 2020 à 11:16 +0000, Gary Metalle a écrit :

> Hi
>
> I am getting a segmentation fault trying to use the avdec_h264 decoder in the libav plugin.
>
> I am running on an ARM platform running Linux with kernel 4.14.78-mx6+ge692c3062368.
> Gstreamer 1.14.4
> LSB Version:    core-5.0-noarch:core-5.0-arm
> Distributor ID: fslc-framebuffer
> Description:    FSLC FrameBuffer 2.6
> Release:        2.6
> Codename:       thud
>
> libavcodec     58. 18.100 / 58. 18.100
>
> root@var-som-mx6:~# gst-launch-1.0 filesrc location=/home/root/Big_Buck_Bunny_360_10s_10MB.mp4 ! qtdemux ! video/x
> x-h264,alignment=au,stream-format=avc ! queue ! h264parse ! avdec_h264 ! imxipuvideosink
> Setting pipeline to PAUSED ...
> 0:00:00.215072334  2126  0x16ded60 WARN                 basesrc gstbasesrc.c:3583:gst_base_src_start_complete:<filesrc0> pad not activated yet
> Pipeline is PREROLLING ...
> 0:00:00.216257001  2126  0x169a400 WARN                 qtdemux qtdemux_types.c:233:qtdemux_type_get: unknown QuickTime node type pasp
> 0:00:00.216454334  2126  0x169a400 WARN                 qtdemux qtdemux.c:3031:qtdemux_parse_trex:<qtdemux0> failed to find fragment defaults for stream 1
> 0:00:00.216890334  2126  0x169a400 WARN                 basesrc gstbasesrc.c:2445:gst_base_src_update_length:<filesrc0> processing at or past EOS
> Redistribute latency...
> Segmentation fault

Perhaps you can run this in gdb and share a backtrace of the crash ?

>
> If I use a Freescale implemented imxvpudec hardware decoder then it works fine (see below).
>
> I appreciate the platform is very specific, I will speak to my boss on Monday who built the distribution and see if he can rebuild it. Just wanted to know if sort of issue anyone has seen or can recommend some further investigation.
>
> gst-launch-1.0 filesrc location=/home/root/Big_Buck_Bunny_360_10s_10MB.mp4 ! qtdemux ! video/x-h264,alignment=au,stream-format=avc ! queue ! h264parse ! imxvpudec ! imxipuvideosink
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: avdec_h264 seg fault

Gary Metalle
Hi Nicolas.

gdb just stops at the point of the illegal instruction in a thread for the 'queue' in the pipeline always at the same location. The disassembly window just shows what appears random ARM instructions. I'll try to see if can get some backtrace but it doesn't look hopeful.
If I take out the queue from the pipeline then the error just moves to another gstreamer thread created by the pipeline.

I briefly saw a couple of frames go through the encoder (it's for a softphone so was waiting for video at a remote phone).

I could try a simple test app I guess that runs the gst-launch command that also fails in the same way but it will probably not give any more backtrace than have seen already. Maybe I'll have to see if can get gstreamer built with debug information for the binaries.

Gary.
________________________________________
From: gstreamer-devel <[hidden email]> on behalf of Nicolas Dufresne <[hidden email]>
Sent: 14 August 2020 15:00
To: Discussion of the development of and with GStreamer
Subject: Re: avdec_h264 seg fault

Le vendredi 14 août 2020 à 11:16 +0000, Gary Metalle a écrit :

> Hi
>
> I am getting a segmentation fault trying to use the avdec_h264 decoder in the libav plugin.
>
> I am running on an ARM platform running Linux with kernel 4.14.78-mx6+ge692c3062368.
> Gstreamer 1.14.4
> LSB Version:    core-5.0-noarch:core-5.0-arm
> Distributor ID: fslc-framebuffer
> Description:    FSLC FrameBuffer 2.6
> Release:        2.6
> Codename:       thud
>
> libavcodec     58. 18.100 / 58. 18.100
>
> root@var-som-mx6:~# gst-launch-1.0 filesrc location=/home/root/Big_Buck_Bunny_360_10s_10MB.mp4 ! qtdemux ! video/x
> x-h264,alignment=au,stream-format=avc ! queue ! h264parse ! avdec_h264 ! imxipuvideosink
> Setting pipeline to PAUSED ...
> 0:00:00.215072334  2126  0x16ded60 WARN                 basesrc gstbasesrc.c:3583:gst_base_src_start_complete:<filesrc0> pad not activated yet
> Pipeline is PREROLLING ...
> 0:00:00.216257001  2126  0x169a400 WARN                 qtdemux qtdemux_types.c:233:qtdemux_type_get: unknown QuickTime node type pasp
> 0:00:00.216454334  2126  0x169a400 WARN                 qtdemux qtdemux.c:3031:qtdemux_parse_trex:<qtdemux0> failed to find fragment defaults for stream 1
> 0:00:00.216890334  2126  0x169a400 WARN                 basesrc gstbasesrc.c:2445:gst_base_src_update_length:<filesrc0> processing at or past EOS
> Redistribute latency...
> Segmentation fault

Perhaps you can run this in gdb and share a backtrace of the crash ?

>
> If I use a Freescale implemented imxvpudec hardware decoder then it works fine (see below).
>
> I appreciate the platform is very specific, I will speak to my boss on Monday who built the distribution and see if he can rebuild it. Just wanted to know if sort of issue anyone has seen or can recommend some further investigation.
>
> gst-launch-1.0 filesrc location=/home/root/Big_Buck_Bunny_360_10s_10MB.mp4 ! qtdemux ! video/x-h264,alignment=au,stream-format=avc ! queue ! h264parse ! imxvpudec ! imxipuvideosink
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: avdec_h264 seg fault

Nicolas Dufresne-5
Le vendredi 14 août 2020 à 16:37 +0000, Gary Metalle a écrit :
> Hi Nicolas.
>
> gdb just stops at the point of the illegal instruction in a thread for the 'queue' in the pipeline always at the same location. The disassembly window just shows what appears random ARM instructions. I'll try to see if can get some backtrace but it doesn't look hopeful.
> If I take out the queue from the pipeline then the error just moves to another gstreamer thread created by the pipeline.

Run "threads apply all bt" in order to get a full backtrace.

>
> I briefly saw a couple of frames go through the encoder (it's for a softphone so was waiting for video at a remote phone).
>
> I could try a simple test app I guess that runs the gst-launch command that also fails in the same way but it will probably not give any more backtrace than have seen already. Maybe I'll have to see if can get gstreamer built with debug information for the binaries.
>
> Gary.
> ________________________________________
> From: gstreamer-devel <[hidden email]> on behalf of Nicolas Dufresne <[hidden email]>
> Sent: 14 August 2020 15:00
> To: Discussion of the development of and with GStreamer
> Subject: Re: avdec_h264 seg fault
>
> Le vendredi 14 août 2020 à 11:16 +0000, Gary Metalle a écrit :
> > Hi
> >
> > I am getting a segmentation fault trying to use the avdec_h264 decoder in the libav plugin.
> >
> > I am running on an ARM platform running Linux with kernel 4.14.78-mx6+ge692c3062368.
> > Gstreamer 1.14.4
> > LSB Version:    core-5.0-noarch:core-5.0-arm
> > Distributor ID: fslc-framebuffer
> > Description:    FSLC FrameBuffer 2.6
> > Release:        2.6
> > Codename:       thud
> >
> > libavcodec     58. 18.100 / 58. 18.100
> >
> > root@var-som-mx6:~# gst-launch-1.0 filesrc location=/home/root/Big_Buck_Bunny_360_10s_10MB.mp4 ! qtdemux ! video/x
> > x-h264,alignment=au,stream-format=avc ! queue ! h264parse ! avdec_h264 ! imxipuvideosink
> > Setting pipeline to PAUSED ...
> > 0:00:00.215072334  2126  0x16ded60 WARN                 basesrc gstbasesrc.c:3583:gst_base_src_start_complete:<filesrc0> pad not activated yet
> > Pipeline is PREROLLING ...
> > 0:00:00.216257001  2126  0x169a400 WARN                 qtdemux qtdemux_types.c:233:qtdemux_type_get: unknown QuickTime node type pasp
> > 0:00:00.216454334  2126  0x169a400 WARN                 qtdemux qtdemux.c:3031:qtdemux_parse_trex:<qtdemux0> failed to find fragment defaults for stream 1
> > 0:00:00.216890334  2126  0x169a400 WARN                 basesrc gstbasesrc.c:2445:gst_base_src_update_length:<filesrc0> processing at or past EOS
> > Redistribute latency...
> > Segmentation fault
>
> Perhaps you can run this in gdb and share a backtrace of the crash ?
>
> > If I use a Freescale implemented imxvpudec hardware decoder then it works fine (see below).
> >
> > I appreciate the platform is very specific, I will speak to my boss on Monday who built the distribution and see if he can rebuild it. Just wanted to know if sort of issue anyone has seen or can recommend some further investigation.
> >
> > gst-launch-1.0 filesrc location=/home/root/Big_Buck_Bunny_360_10s_10MB.mp4 ! qtdemux ! video/x-h264,alignment=au,stream-format=avc ! queue ! h264parse ! imxvpudec ! imxipuvideosink
> > _______________________________________________
> > gstreamer-devel mailing list
> > [hidden email]
> > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel