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 688116 - Some H.264 MP4 files don't show the video or crash the player
Some H.264 MP4 files don't show the video or crash the player
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-libav
1.0.2
Other Linux
: Normal normal
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-11-11 21:45 UTC by Jean-François Fortin Tam
Modified: 2012-12-19 16:59 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
sample file (710.14 KB, video/mp4)
2012-11-11 21:45 UTC, Jean-François Fortin Tam
Details

Description Jean-François Fortin Tam 2012-11-11 21:45:20 UTC
Created attachment 228737 [details]
sample file

Attached is a sample file. I have many files with the same characteristics (that were grabbed from the web a while ago). These used to play fine with some version of gstreamer 0.10.x, but I recently started noticing (with 0.10.36 and such) that they wouldn't play anymore in totem: they would show a black screen, sometimes wouldn't seek, and their properties would say the resolution is 0x0.

Testing with GStreamer 1.0.2 through pitivi's built-in video player, I get a segfault/crash that takes down pitivi entirely. Here is a backtrace:


(gdb) set pagination 0
(gdb) run bin/pitivi
Starting program: /usr/bin/python bin/pitivi
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".
process 10454 is executing new program: /usr/bin/env
process 10454 is executing new program: /usr/bin/python2.7
Missing separate debuginfos, use: debuginfo-install coreutils-8.15-7.fc17.i686
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".
warning: the debug information found in "/usr/lib/debug//lib/libdbus-1.so.3.5.6.debug" does not match "/lib/libdbus-1.so.3" (CRC mismatch).

warning: the debug information found in "/usr/lib/debug/usr/lib/libfreebl3.so.debug" does not match "/lib/libfreebl3.so" (CRC mismatch).

warning: the debug information found in "/usr/lib/debug//lib/libcom_err.so.2.1.debug" does not match "/lib/libcom_err.so.2" (CRC mismatch).

[New Thread 0xb6472b40 (LWP 10457)]
[New Thread 0xb5ad9b40 (LWP 10458)]
[Thread 0xb5ad9b40 (LWP 10458) exited]
[New Thread 0xb5ad9b40 (LWP 10459)]
[Thread 0xb5ad9b40 (LWP 10459) exited]
Detaching after fork from child process 10460.
[New Thread 0xb5ad9b40 (LWP 10462)]
[New Thread 0xaf311b40 (LWP 10463)]
[New Thread 0xae97ab40 (LWP 10464)]
[New Thread 0xad23cb40 (LWP 10465)]
[New Thread 0xaca3bb40 (LWP 10466)]
[New Thread 0xac23ab40 (LWP 10467)]
[New Thread 0xaba39b40 (LWP 10468)]
[New Thread 0xab0ffb40 (LWP 10469)]
[New Thread 0xaa8feb40 (LWP 10470)]
[Thread 0xaca3bb40 (LWP 10466) exited]
[Thread 0xaba39b40 (LWP 10468) exited]
[Thread 0xac23ab40 (LWP 10467) exited]
[Thread 0xad23cb40 (LWP 10465) exited]
[Thread 0xab0ffb40 (LWP 10469) exited]
[Thread 0xaf311b40 (LWP 10463) exited]
[Thread 0xb6472b40 (LWP 10457) exited]
[Thread 0xae97ab40 (LWP 10464) exited]
[Thread 0xb5ad9b40 (LWP 10462) exited]
[New Thread 0xae97ab40 (LWP 10471)]
[New Thread 0xb5ad9b40 (LWP 10472)]
[New Thread 0xb6472b40 (LWP 10473)]
[New Thread 0xaf311b40 (LWP 10474)]
[New Thread 0xad23cb40 (LWP 10475)]
[New Thread 0xaca3bb40 (LWP 10476)]
[New Thread 0xac23ab40 (LWP 10477)]
[New Thread 0xab0ffb40 (LWP 10478)]
[New Thread 0xa9cffb40 (LWP 10479)]
[Thread 0xad23cb40 (LWP 10475) exited]
[Thread 0xac23ab40 (LWP 10477) exited]
[Thread 0xaf311b40 (LWP 10474) exited]
[Thread 0xaca3bb40 (LWP 10476) exited]
[New Thread 0xac23ab40 (LWP 10480)]
[New Thread 0xaca3bb40 (LWP 10481)]
[New Thread 0xad23cb40 (LWP 10482)]
[New Thread 0xaf311b40 (LWP 10483)]
[New Thread 0xa94feb40 (LWP 10484)]
[New Thread 0xa8cfdb40 (LWP 10485)]
[New Thread 0xa44fbb40 (LWP 10486)]
[New Thread 0xa3cfab40 (LWP 10487)]
[New Thread 0xa34f9b40 (LWP 10488)]
[New Thread 0xa2cf8b40 (LWP 10489)]
[New Thread 0xa24f7b40 (LWP 10490)]
[New Thread 0xa1cf6b40 (LWP 10491)]
[New Thread 0xa14f5b40 (LWP 10492)]
[New Thread 0xa0cf4b40 (LWP 10493)]
[New Thread 0xa04f3b40 (LWP 10494)]
[New Thread 0x9fcf2b40 (LWP 10495)]
[Thread 0xa0cf4b40 (LWP 10493) exited]
[Thread 0xa14f5b40 (LWP 10492) exited]
[Thread 0xa24f7b40 (LWP 10490) exited]
[Thread 0xa1cf6b40 (LWP 10491) exited]
[New Thread 0xa0cf4b40 (LWP 10496)]
[New Thread 0xa14f5b40 (LWP 10497)]
[New Thread 0xa1cf6b40 (LWP 10498)]
[New Thread 0xa24f7b40 (LWP 10499)]
[New Thread 0x9f4f1b40 (LWP 10500)]

Program received signal SIGSEGV, Segmentation fault.

Thread 3058117440 (LWP 10473)

  • #0 magazine_chain_pop_head
    at gslice.c line 532
  • #1 thread_memory_magazine1_alloc
    at gslice.c line 835
  • #2 g_slice_alloc
    at gslice.c line 994
  • #3 g_slice_alloc0
    at gslice.c line 1029
  • #4 gst_iterator_new
    at gstiterator.c line 165
  • #5 gst_iterator_new_single
    at gstiterator.c line 809
  • #6 gst_proxy_pad_iterate_internal_links_default
    at gstghostpad.c line 100
  • #7 gst_pad_iterate_internal_links
    at gstpad.c line 2613
  • #8 gst_pad_forward
    at gstpad.c line 2652
  • #9 gst_pad_event_default
    at gstpad.c line 2770
  • #10 gst_pad_send_event_unchecked
    at gstpad.c line 4821
  • #11 gst_pad_push_event_unchecked
    at gstpad.c line 4514
  • #12 push_sticky
    at gstpad.c line 3285
  • #13 events_foreach
    at gstpad.c line 514
  • #14 check_sticky
    at gstpad.c line 3333
  • #15 gst_pad_push_event
    at gstpad.c line 4635
  • #16 gst_video_decoder_push_event
    at gstvideodecoder.c line 897
  • #17 gst_video_decoder_prepare_finish_frame
    at gstvideodecoder.c line 2119
  • #18 gst_video_decoder_finish_frame
    at gstvideodecoder.c line 2368
  • #19 gst_ffmpegviddec_video_frame
    at gstavviddec.c line 1205
  • #20 gst_ffmpegviddec_frame
    at gstavviddec.c line 1262
  • #21 gst_ffmpegviddec_handle_frame
    at gstavviddec.c line 1379
  • #22 gst_video_decoder_decode_frame
    at gstvideodecoder.c line 2665
  • #23 gst_video_decoder_chain_forward
    at gstvideodecoder.c line 1697
  • #24 gst_video_decoder_chain
    at gstvideodecoder.c line 1957
  • #25 gst_pad_chain_data_unchecked
  • #26 gst_pad_push_data
  • #27 gst_pad_push
    at gstpad.c line 3974
  • #28 gst_base_transform_chain
    at gstbasetransform.c line 2203
  • #29 gst_pad_chain_data_unchecked
  • #30 gst_pad_push_data
  • #31 gst_pad_push
    at gstpad.c line 3974
  • #32 gst_base_parse_push_frame
    at gstbaseparse.c line 2121
  • #33 gst_base_parse_chain
    at gstbaseparse.c line 2593
  • #34 gst_pad_chain_data_unchecked
  • #35 gst_pad_push_data
  • #36 gst_pad_push
    at gstpad.c line 3974
  • #37 gst_single_queue_push_one
    at gstmultiqueue.c line 1057
  • #38 gst_multi_queue_loop
    at gstmultiqueue.c line 1303
  • #39 gst_task_func
    at gsttask.c line 316
  • #40 default_func
    at gsttaskpool.c line 70
  • #41 g_thread_pool_thread_proxy
    at gthreadpool.c line 309
  • #42 g_thread_proxy
    at gthread.c line 797
  • #43 start_thread
    at pthread_create.c line 309
  • #44 clone
    at ../sysdeps/unix/sysv/linux/i386/clone.S line 133
(gdb)
Comment 1 alonivtsan 2012-11-12 09:15:10 UTC
This video doesn't play either anymore (blank white screen appears). Worked fine in previous version of gstreamer.

rtmp://cp100692.edgefcs.net/ondemand/mp4:hd/1112/1111121400_zaitun_live_768Kbps_360p.mp4
Comment 2 Tim-Philipp Müller 2012-11-15 00:15:58 UTC
Jeff: with 0.10.36 I too get a black screen, but I have no problems with it in 1.x whatsoever, not with 1.0.1 nor with git master. Does it crash during normal playback already, or just when you seek/scrub? Can you make i crash with gst-launch-1.0 playbin uri=file:///path/to/foo.mp4 video=sink='navseek ! xvimagesink' and arrows right/left ?

The crash in g_slice* stuff is not a good sign. Perhaps you could run things in valgrind to see what shows up? And/or possibly also with G_SLICE=debug-blocks?
Comment 3 Jean-François Fortin Tam 2012-11-18 16:35:21 UTC
Ah, with the gst-launch command you gave me, it doesn't crash during playback, though it doesn't do anything when I try to use the right/left arrows to seek.

...and of course, now that I retry on pitivi + gst 1.0.2 with the sample I provided, it doesn't crash, it plays and seeks fine, etc. Ugh :)
Comment 4 Tim-Philipp Müller 2012-12-14 00:47:52 UTC
Have you ever got that crash again, or can we close this as obsolete?

I've tried again to reproduce it with git master and can't, not with totem nor with the playback test app.
Comment 5 Tim-Philipp Müller 2012-12-19 16:59:05 UTC
Guess not then. Please re-open or file a new bug if you run into it again, thanks.