Gstreamer test run hangs at certain point in debug output

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Gstreamer test run hangs at certain point in debug output

Martin Maurer-2

Hi,

 

here some news after a first analysis:

Problem occurs in 1.12.0 as well as 1.10.4 (both tested on Windows).

 

It is enough to set GST_DEBUG "default" to a value of at least 1 and

"GST_BUFFER" to a value of at least 6.

 

e.g. GST_DEBUG=default:1,GST_BUFFER:6

 

Cyclic call graph? Recursive locking of a mutex?

 

This is the callstack (latest on bottom):

 

gst_event.c: gst_event_new_caps

...

gstinfo.c: gst_debug_print_object (GST_IS_CAPS)

gstcaps.c: gst_caps_to_string

gststructure.c: priv_gst_structure_append_to_gstring

gstvalue.c: gst_value_serialize

gstvalue.c: gst_value_serialize_buffer

gstbuffer.c: gst_buffer_map

gstbuffer.c: gst_buffer_map_range

 

gst_buffer_map_range calls GST_CAT_LOG, where it does not return.

 

This must be continued by someone with more knowledge in this area.

I don't know how to solve it.

 

Best regards,

 

Martin

 

 

**************************

 

Hi,

 

I execute the following commands on Windows and Linux:

 

> set

GST_DEBUG=*:1,GST_META*:9,GST_EVENT*:9,GST_DATAFLOW:9,videoencoder:9,bufferpool:9,videopool:9,basesink:9,fakesink:9,GST_BUFFER:9,qsH264enc:9,GST_TRACER*:7

 

> set GST_TRACERS=leaks

 

> gst-launch-1.0.exe videotestsrc num-buffers=100 !

video/x-raw,format=I420,width=1920,height=1080,framerate=60/1 !

openh264enc ! h264parse ! mp4mux ! filesink location="abc.mov"

 

This test run hangs on Windows with version 1.12, but it works on Linux

with version 1.11.1.

 

But I think I also have seen it in earlier version of Windows (perhaps

already in beginning of 1.10?).

 

On Windows it looks like (last relevant lines):

 

 

0:00:01.129951470 4544 0000000002BCC280 LOG GST_BUFFER

gstbuffer.c:1721:gst_buffer_map_range: buffer 0000000002C49920, idx 0,

length -1, flags 0002

 

0:00:01.135682601 4544 0000000002BCC280 LOG GST_BUFFER

gstbuffer.c:213:_get_merged_memory: buffer 0000000002C49920, idx 0, length 1

 

0:00:01.140517742 4544 0000000002BCC280 LOG GST_BUFFER

gstbuffer.c:1876:gst_buffer_extract: buffer 0000000002C491B0, offset 0,

size 16

 

0:00:01.145276302 4544 0000000002BCC280 LOG GST_BUFFER

gstbuffer.c:1876:gst_buffer_extract: buffer 0000000002C495F0, offset 0,

size 4

 

0:00:01.151505571 4544 0000000002BCC280 ERROR default

gstevent.c:818:gst_event_new_caps:handling interrupt.

 

Interrupt: Stopping pipeline ...

 

ERROR: pipeline doesn't want to preroll.

 

Setting pipeline to NULL ...

 

^CBatchvorgang abbrechen (J/N)? j

 

“handling interrupt” occurs when I press Ctrl-C to abort the test run.

 

(I think when I enable more debug data or reach a certain point of

num-buffers, I am even not more able to stop gst-launch anymore, I must

kill it via task manager.)

 

Added some general debug output in gstevent.c line 818 where debug

output shall be printed.

 

*caps point to address 0x0000000002BD36A0

 

I dumped first 4 bytes on this address: F0 F2 48 00

 

On Linux I see (filtered to file gstevent.c and line 808):

 

# grep gst_event_new_caps abc.log

 

0:00:00.320152667 282 0x1577e00 INFO GST_EVENT

gstevent.c:808:gst_event_new_caps: creating caps event video/x-raw,

format=(string)I420, width=(int)1920, height=(int)1080,

framerate=(fraction)60/1, pixel-aspect-ratio=(fraction)1/1,

interlace-mode=(string)progressive

 

0:00:00.322927333 282 0x1577e00 INFO GST_EVENT

gstevent.c:808:gst_event_new_caps: creating caps event video/x-raw,

format=(string)I420, width=(int)1920, height=(int)1080,

framerate=(fraction)60/1, pixel-aspect-ratio=(fraction)1/1,

interlace-mode=(string)progressive

 

0:00:00.369638667 282 0x1577e00 INFO GST_EVENT

gstevent.c:808:gst_event_new_caps: creating caps event video/x-h264,

stream-format=(string)byte-stream, alignment=(string)au,

profile=(string)baseline, width=(int)1920, height=(int)1080,

pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)60/1,

interlace-mode=(string)progressive, colorimetry=(string)bt709,

chroma-site=(string)mpeg2

 

0:00:00.702754000 282 0x1577e00 INFO GST_EVENT

gstevent.c:808:gst_event_new_caps: creating caps event video/x-h264,

stream-format=(string)avc, alignment=(string)au,

profile=(string)constrained-baseline, width=(int)1920, height=(int)1080,

pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)60/1,

interlace-mode=(string)progressive, colorimetry=(string)bt709,

chroma-site=(string)mpeg2, parsed=(boolean)true, level=(string)4.2,

codec_data=(buffer)0142c02affe100106742c02a8c8d403c0112f2c03c2211a801000468ce3c80

 

0:00:00.707792000 282 0x1577e00 INFO GST_EVENT

gstevent.c:808:gst_event_new_caps: creating caps event video/quicktime,

variant=(string)iso

 

0:00:18.299080335 282 0x1577e00 INFO GST_EVENT

gstevent.c:808:gst_event_new_caps: creating caps event video/quicktime,

variant=(string)iso, streamheader=(buffer)<

000005036d6f6f760000006c6d76686400000000d5325d03d5325d0300001770000027100001000001000000000000000000000000010000000000000000000000000000000100000000000000000000000000004000000000000000000000000000000000000000000000000000000000000002000004527472616b0000005c746b686400000007d5325d03d5325d0300000001000000000000271000000000000000000000000000000000000100000000000000000000000000000001000000000000000000000000000040000000001000000009000000000024656474730000001c656c737400000000000000010000271000000000000100000000038d6d646961000000206d64686400000000d5325d03d5325d030000177000002710000000000000002d68646c72000000000000000076696465000000000000000000000000566964656f48616e646c657200000003386d696e6600000014766d68640000000100000000000000000000002464696e660000001c6472656600000000000000010000000c75726c2000000001000002f87374626c000000c8737473640000000000000001000000b86176633100000000000000010000000000000000000000000000000007800438004800000048000000000000000100000000000000000000000000000000000000000000000000000000000000000018ffff00000027617663430142c02affe100106742c02a8c8d403c0112f2c03c2211a801000468ce3c8000000014627472740000000001b266410184c6b300000013636f6c726e636c7800010001000100000000107061737000000001000000010000000000000018737474730000000000000001000000640000006400000018737473730000000000000002000000010000005b00000028737473630000000000000002000000010000001000000001000000070000000400000001000001a47374737a0000000000000000000000640000e5460000df260000cd680000ccbb0000cc960000cc250000cc260000cbf40000cc380000cc8e0000cc000000cfcb0000cea90000ce210000ce630000cef00000d0c90000cee30000ce630000ce2e0000ce8c0000ce6f0000cec60000cf190000d13f0000ce740000ce950000ce400000ce770000cdbf0000ceef0000cecf0000d3e70000ceb00000ce930000ce610000cea30000ce260000cdef0000ce910000d44d0000ce320000cdef0000ce830000cea30000cdcc0000ce400000cf1e0000d3f70000ce1c0000ce970000ce690000ce490000ce630000ce3c0000ce0e0000d4080000ce100000ce060000ce5b0000ce760000ce690000ce2d0000cdc00000d4160000ce620000cebb0000ce270000ceae0000ce2d0000ce920000ced20000d3bd0000ce880000ce080000ce890000ce920000cee40000cea80000ce620000d43e0000cea10000ce6c0000ceae0000ce7f0000cdd30000ce210000ce720000d4010000ce8a0000e7ae0000cc300000cc010000cbe40000cb5e0000cbf00000cc4e0000cc280000cc4d0000cc420000002c7374636f000000000000000700000030000cfe420019ebd50026dd670033ccb50040bfa4004dbe1e0000003d75647461000000356d657461000000000000002168646c72000000006d686c726d6469720000000000000000000000000000000008696c73740000003d75647461000000356d657461000000000000002168646c72000000006d686c726d6469720000000000000000000000000000000008696c7374

>

 

#

 

#

 

Perhaps something is getting too long (for Windows)? Perhaps some

intermediate buffer with only 256 bytes?

 

Or some decoding is not working?

 

Counting lines of this special output, it seems it has problems in line

with

“codec_data=(buffer)0142c02affe100106742c02a8c8d403c0112f2c03c2211a801000468ce3c80”,

 

but could also be an argument before of this.

 

Where do I find the conversion from *caps to a readable string? Is it

distributed over multiple files or each module decodes its own data?

 

Best regards,

 

Martin

 

 

_______________________________________________

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