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 738078 - Segmentation fault at startup on some systems (0.93 and git version)
Segmentation fault at startup on some systems (0.93 and git version)
Status: RESOLVED FIXED
Product: pitivi
Classification: Other
Component: Build and packaging
0.93
Other Linux
: Normal blocker
: 0.94
Assigned To: Pitivi maintainers
Pitivi maintainers
Depends on:
Blocks:
 
 
Reported: 2014-10-07 12:12 UTC by Mathou
Modified: 2014-10-22 15:37 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
gdb stack trace (15.62 KB, text/plain)
2014-10-10 09:01 UTC, Mathou
  Details
Debug log of the pitivi run (6.30 KB, text/plain)
2014-10-10 09:03 UTC, Mathou
  Details
Fix the segfault (1.09 KB, patch)
2014-10-16 11:39 UTC, Lubosz Sarnecki
none Details | Review
fix segfault (1.09 KB, patch)
2014-10-16 14:24 UTC, Lubosz Sarnecki
committed Details | Review

Description Mathou 2014-10-07 12:12:53 UTC
The software does not launch properly:

$ pitivi 
Missing soft dependency:
- pycanberra not found on the system
    -> active les notifications sonores lorsque le rendu est terminé

(pitivi:6275): Gdk-WARNING **: gdk_window_set_icon_list: icons too large
Erreur de segmentation (core dumped)
Comment 1 Jean-François Fortin Tam 2014-10-07 21:42:32 UTC
Bonjour Mathou,

Is this really the git version or you forgot to specify the version?

How did you build or install it?
Which Linux distribution?

And for a segfault like that, we'll need a gdb trace.
See http://wiki.pitivi.org/wiki/Bug_reporting#Providing_debugging_information
Comment 2 Mathou 2014-10-08 09:30:16 UTC
Hello,

I have the latest version from the repository (0.93-3) and the latest Ubuntu (14.4, 64 bits).

Here the gdb trace. I hope it will help.

(gdb) run /usr/bin/pitivi 
Starting program: /usr/bin/python /usr/bin/pitivi
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffeb4ca700 (LWP 3333)]
[New Thread 0x7fffea65c700 (LWP 3334)]
Missing soft dependency:
- pycanberra not found on the system
    -> active les notifications sonores lorsque le rendu est terminé
[New Thread 0x7fffd63c5700 (LWP 3335)]
[New Thread 0x7fffd5bc4700 (LWP 3336)]
[New Thread 0x7fffc2993700 (LWP 3337)]

(pitivi:3329): Gdk-WARNING **: gdk_window_set_icon_list: icons too large

Program received signal SIGSEGV, Segmentation fault.
__GI___pthread_mutex_lock (mutex=0x7fffffff80a0) at ../nptl/pthread_mutex_lock.c:66
66	../nptl/pthread_mutex_lock.c: Aucun fichier ou dossier de ce type.
Comment 3 Jean-François Fortin Tam 2014-10-10 01:41:21 UTC
Hm that doesn't seem like the complete gdb output at all, it certainly doesn't end there... and I did't see you entering the "bt full" (or similar) command to actually get the trace from that segmentation fault?
Comment 4 Mathou 2014-10-10 09:01:19 UTC
Created attachment 288193 [details]
gdb stack trace

The gdb stack trace or pitivi.

$ gdb python
(gdb) run /usr/bin/python
(gdb) bt full
Comment 5 Mathou 2014-10-10 09:03:52 UTC
Created attachment 288194 [details]
Debug log of the pitivi run

Here the debug trace when the command PITIVI_DEBUG=6 /usr/bin/pitivi is run.
Comment 6 Dominique Leuenberger 2014-10-10 22:08:55 UTC
I see the same crash on openSUSE 13.2 (release candidates) and openSUSE Factory (the rolling release).

A full stack trace (well, almost full.. it manages to crash gdb)

Program received signal SIGSEGV, Segmentation fault.
__GI___pthread_mutex_lock (mutex=0x7fffffff8b20) at ../nptl/pthread_mutex_lock.c:66
66	../nptl/pthread_mutex_lock.c: No such file or directory.
Missing separate debuginfos, use: zypper install libinput5-debuginfo-0.6.0-18.3.x86_64 pitivi-debuginfo-0.93.0.1412973377.7d88434-0.x86_64
(gdb) bt
  • #0 __GI___pthread_mutex_lock
    at ../nptl/pthread_mutex_lock.c line 66
  • #1 XrmQGetResource
    at Xrm.c line 2549
  • #2 XGetDefault
    at GetDflt.c line 231
  • #3 _cairo_xlib_screen_get_font_options
    at cairo-xlib-screen.c line 98
  • #4 _cairo_xlib_screen_get_font_options
    at cairo-xlib-screen.c line 146
  • #5 _cairo_xlib_screen_get_font_options
    at cairo-xlib-screen.c line 455
  • #6 _cairo_xlib_surface_get_font_options
    at cairo-xlib-surface.c line 1533
  • #7 INT_cairo_surface_get_font_options
    at cairo-surface.c line 1473
  • #8 _cairo_gstate_ensure_scaled_font
    at cairo-gstate.c line 1844
  • #9 _cairo_gstate_show_text_glyphs
    at cairo-gstate.c line 1936
  • #10 cairo_show_glyphs
    at cairo.c line 3315
  • #11 pango_cairo_renderer_show_text_glyphs
    at pangocairo-render.c line 500
  • #12 pango_cairo_renderer_draw_glyphs
    at pangocairo-render.c line 516
  • #13 pango_renderer_draw_glyphs
    at pango-renderer.c line 641
  • #14 pango_renderer_draw_layout_line
    at pango-renderer.c line 570
  • #15 pango_renderer_draw_layout
    at pango-renderer.c line 194
  • #16 _pango_cairo_do_layout
    at pangocairo-render.c line 1010
  • #17 pango_cairo_show_layout
    at pangocairo-render.c line 1138
  • #18 gtk_theming_engine_render_layout
    at deprecated/gtkthemingengine.c line 2051
  • #19 gtk_render_layout
    at gtkstylecontext.c line 3900
  • #20 gtk_label_draw
    at gtklabel.c line 4153
  • #21 _gtk_marshal_BOOLEAN__BOXEDv
    at gtkmarshalers.c line 130
  • #22 gtk_widget_draw_marshallerv
    at gtkwidget.c line 1096
  • #23 _g_closure_invoke_va
    at gclosure.c line 831
  • #24 g_signal_emit_valist
    at gsignal.c line 3218
  • #25 g_signal_emit
    at gsignal.c line 3365
  • #26 _gtk_widget_draw_internal
    at gtkwidget.c line 6951
  • #27 _gtk_widget_draw
    at gtkwidget.c line 7115
  • #28 _gtk_widget_draw
    at gtkwidget.c line 7128
  • #29 gtk_container_propagate_draw
    at gtkcontainer.c line 3586
  • #30 gtk_notebook_draw
    at gtknotebook.c line 2617
  • #31 _gtk_marshal_BOOLEAN__BOXEDv
    at gtkmarshalers.c line 130
  • #32 gtk_widget_draw_marshallerv
    at gtkwidget.c line 1096
  • #33 _g_closure_invoke_va
    at gclosure.c line 831
  • #34 g_signal_emit_valist
    at gsignal.c line 3218
  • #35 g_signal_emit
    at gsignal.c line 3365
  • #36 _gtk_widget_draw_internal
    at gtkwidget.c line 6951
  • #37 _gtk_widget_draw
    at gtkwidget.c line 7115
  • #38 _gtk_widget_draw
    at gtkwidget.c line 7128
  • #39 gtk_container_propagate_draw
    at gtkcontainer.c line 3586
  • #40 gtk_container_draw
    at gtkcontainer.c line 3421
  • #41 gtk_paned_draw
    at gtkpaned.c line 1732
  • #42 _gtk_marshal_BOOLEAN__BOXEDv
    at gtkmarshalers.c line 130
  • #43 gtk_widget_draw_marshallerv
    at gtkwidget.c line 1096
  • #44 _g_closure_invoke_va
    at gclosure.c line 831
  • #45 g_signal_emit_valist
    at gsignal.c line 3218
  • #46 g_signal_emit
    at gsignal.c line 3365
  • #47 _gtk_widget_draw_internal
    at gtkwidget.c line 6951
  • #48 _gtk_widget_draw_windows
    at gtkwidget.c line 6931
  • #49 _gtk_widget_draw_windows
    at gtkwidget.c line 7052
  • #50 _gtk_widget_draw
    at gtkwidget.c line 7147
  • #51 gtk_container_propagate_draw
    at gtkcontainer.c line 3586
  • #52 gtk_container_draw
    at gtkcontainer.c line 3421
  • #53 gtk_paned_draw
    at gtkpaned.c line 1732
  • #54 _gtk_marshal_BOOLEAN__BOXEDv
    at gtkmarshalers.c line 130
  • #55 gtk_widget_draw_marshallerv
    at gtkwidget.c line 1096
  • #56 _g_closure_invoke_va
    at gclosure.c line 831
  • #57 g_signal_emit_valist
    at gsignal.c line 3218
  • #58 g_signal_emit
    at gsignal.c line 3365
  • #59 _gtk_widget_draw_internal
    at gtkwidget.c line 6951
  • #60 _gtk_widget_draw_windows
    at gtkwidget.c line 6931

Comment 7 Dominique Leuenberger 2014-10-10 22:10:48 UTC
The stack trace above is done with these versions:

pitivi-0.93.0.1412973377.7d88434 (so git snapshot 7d88434, which was master at the time)
python 3.4.1
cairo 1.12.16
pycairo 1.10
Comment 8 Jean-François Fortin Tam 2014-10-13 18:33:38 UTC
Ok so now we have someone experiencing this on Ubuntu, someone on OpenSuSE, and spstarr (Shawn Starr) on Fedora 21.

And yet I'm not experiencing those issues, either on Fedora 20 or on Fedora 21 (F21 in a virtualbox machine, either with LLVMpipe or the "Guest Additions" graphic drivers)

Dominique further noted that Lubosz' old trick of trying to run as root had a twist: "I don't even have to start it as root; I can simply 'su' to my user and start it. So likely some dbus interaction or so (those are usually the thing not surviving su)"
Comment 9 Lubosz Sarnecki 2014-10-13 19:39:45 UTC
According to the backtrace this seems to be a duplicate of Bug 727851.
Using the git master of Pitivi with the glimagesink or using GNOME Shell with the release version should fix it.
Comment 10 Lubosz Sarnecki 2014-10-13 19:56:33 UTC
Okay since this bug is still existent on git master, it does not seem to involve the clutter sink. Strangely the backtrace is the same.

We need to carefully separate the bug reports still using the cluttersink version of Pitivi, and the ones using the glimagesink.

I would like to be able to reproduce this...

@Dominique @Mathou which distro and graphics driver are you using?
Can you reproduce this in a virtual machine?
Comment 11 Mathou 2014-10-13 21:10:08 UTC
I have the latest Ubuntu (14.4, 64 bits) and a ATI AMD Mobility Radeon HD 5870.

I have try on a virtual machine (an older version of ubuntu : 12.4) and it work fine.
Comment 12 yym 2014-10-14 10:49:05 UTC
(In reply to comment #1)
> Bonjour Mathou,
> 
> Is this really the git version or you forgot to specify the version?
> 
> How did you build or install it?
> Which Linux distribution?
> 
> And for a segfault like that, we'll need a gdb trace.
> See http://wiki.pitivi.org/wiki/Bug_reporting#Providing_debugging_information


I encountered the same situation:

yym@debian:~$ pitivi
Missing soft dependency:
- pycanberra not found on the system
    -> enables sound notifications when rendering is complete

(pitivi:4192): Gdk-WARNING **: gdk_window_set_icon_list: icon too large (512x512)
/usr/lib/x86_64-linux-gnu/pitivi/python/pitivi/project.py:559: TypeError: Passing arguments to gi.types.Boxed.__init__() is deprecated. All arguments passed will be ignored.
  Gst.Caps("application/ogg"),
/usr/lib/x86_64-linux-gnu/pitivi/python/pitivi/project.py:563: TypeError: Passing arguments to gi.types.Boxed.__init__() is deprecated. All arguments passed will be ignored.
  video_profile = GstPbutils.EncodingVideoProfile.new(Gst.Caps("video/x-theora"),
/usr/lib/x86_64-linux-gnu/pitivi/python/pitivi/project.py:565: TypeError: Passing arguments to gi.types.Boxed.__init__() is deprecated. All arguments passed will be ignored.
  Gst.Caps("video/x-raw"),
/usr/lib/x86_64-linux-gnu/pitivi/python/pitivi/project.py:569: TypeError: Passing arguments to gi.types.Boxed.__init__() is deprecated. All arguments passed will be ignored.
  audio_profile = GstPbutils.EncodingAudioProfile.new(Gst.Caps("audio/x-vorbis"),
/usr/lib/x86_64-linux-gnu/pitivi/python/pitivi/project.py:571: TypeError: Passing arguments to gi.types.Boxed.__init__() is deprecated. All arguments passed will be ignored.
  Gst.Caps("audio/x-raw"),
/usr/lib/x86_64-linux-gnu/pitivi/python/pitivi/project.py:791: TypeError: Passing arguments to gi.types.Boxed.__init__() is deprecated. All arguments passed will be ignored.
  self.container_profile.set_format(Gst.Caps(muxertype))
/usr/lib/x86_64-linux-gnu/pitivi/python/pitivi/project.py:770: TypeError: Passing arguments to gi.types.Boxed.__init__() is deprecated. All arguments passed will be ignored.
  self.video_profile.set_format(Gst.Caps(videotype))
/usr/lib/x86_64-linux-gnu/pitivi/python/pitivi/project.py:750: TypeError: Passing arguments to gi.types.Boxed.__init__() is deprecated. All arguments passed will be ignored.
  self.audio_profile.set_format(Gst.Caps(audiotype))
Traceback (most recent call last):
  • File "/usr/bin/pitivi", line 136 in <module>
    _run_pitivi()
  • File "/usr/bin/pitivi", line 123 in _run_pitivi
    sys.exit(ptv.main(sys.argv))
  • File "/usr/lib/x86_64-linux-gnu/pitivi/python/pitivi/application.py", line 416 in main
    ptv = StartupWizardGuiPitivi(debug=options.debug)
  • File "/usr/lib/x86_64-linux-gnu/pitivi/python/pitivi/application.py", line 362 in __init__
    self.projectManager.newBlankProject(emission=False)
  • File "/usr/lib/x86_64-linux-gnu/pitivi/python/pitivi/project.py", line 429 in newBlankProject
    self.emit("new-project-loaded", self.current_project, emission)
  • File "/usr/lib/x86_64-linux-gnu/pitivi/python/pitivi/utils/signal.py", line 212 in emit
    *args, **kwargs)
  • File "/usr/lib/x86_64-linux-gnu/pitivi/python/pitivi/utils/signal.py", line 187 in emit
    res = cb(*ar, **kw)
  • File "/usr/lib/x86_64-linux-gnu/pitivi/python/pitivi/timeline/timeline.py", line 1391 in _projectChangedCb
    self.ruler.setProjectFrameRate(self._project.videorate)
  • File "/usr/lib/x86_64-linux-gnu/pitivi/python/pitivi/timeline/ruler.py", line 244 in setProjectFrameRate
    self.ns_per_frame = float(1 / self.frame_rate) * Gst.SECOND
TypeError: unsupported operand type(s) for /: 'int' and 'NoneType'

My OS is Debian Jessie, but pycanberra can't be find in Jessie's repositories.
Thank you.
Comment 13 Jean-François Fortin Tam 2014-10-14 14:37:27 UTC
yym, your problem is a different one, bug #735529

The bug report here is only about a *segfault* - if you encounter that segfault with the git version, let us know.
Comment 14 Lubosz Sarnecki 2014-10-15 07:31:54 UTC
@yym: You have a totally different problem. Update your gst-python version.
Comment 15 Lubosz Sarnecki 2014-10-16 11:39:33 UTC
Created attachment 288677 [details] [review]
Fix the segfault

Actually the bug was never fixed. Although the cluttersink was replaced by glimagesink, the import causing the segfault was never removed.
Comment 16 Dominique Leuenberger 2014-10-16 13:43:43 UTC
(In reply to comment #15)
> Created an attachment (id=288677) [details] [review]
> Fix the segfault
> 
> Actually the bug was never fixed. Although the cluttersink was replaced by
> glimagesink, the import causing the segfault was never removed.

Lubosz,

Great stuff! I applied that patch on my local installed version of pitivi and I can start it up now; didn't do anything more than that, but it STARTS
Comment 17 Lubosz Sarnecki 2014-10-16 14:24:00 UTC
Created attachment 288689 [details] [review]
fix segfault

updated to current master
Comment 18 Thibault Saunier 2014-10-22 15:37:58 UTC
commit 39d4a56b07d9fe2ca4216e2bea4ed4d7da9950a1
Author: Lubosz Sarnecki <lubosz@gmail.com>
Date:   Thu Oct 16 13:36:39 2014 +0200

    check: remove ClutterGst
    
    https://bugzilla.gnome.org/show_bug.cgi?id=738078