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 499208 - Crash with python support but no python plugins enabled
Crash with python support but no python plugins enabled
Status: RESOLVED FIXED
Product: rhythmbox
Classification: Other
Component: general
0.11.x
Other All
: High critical
: ---
Assigned To: RhythmBox Maintainers
RhythmBox Maintainers
: 497304 504794 505234 509837 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2007-11-23 17:30 UTC by thelema
Modified: 2008-01-16 07:31 UTC
See Also:
GNOME target: ---
GNOME version: 2.21/2.22


Attachments
awful fix (845 bytes, patch)
2007-11-26 14:22 UTC, Jonathan Matthew
none Details | Review

Description thelema 2007-11-23 17:30:50 UTC
Version: 0.11.3

What were you doing when the application crashed?
starting rhythmbox - the window was shown (but no contents).  happens every time.


Distribution: Mandriva Linux release 2008.1 (Cooker) for i586
Gnome Release: 2.21.2 2007-11-13 (Mandriva)
BugBuddy Version: 2.20.1

System: Linux 2.6.17.13-mm-laptop-3mdv #1 Wed Sep 20 00:02:31 EDT 2006 i686
X Vendor: The X.Org Foundation
X Vendor Release: 10400000
Selinux: No
Accessibility: Disabled
GTK+ Theme: GummyGilouche
Icon Theme: GNOME

Memory status: size: 58847232 vsize: 58847232 resident: 22032384 share: 14872576 rss: 22032384 rss_rlim: 4294967295
CPU usage: start_time: 1195838875 rtime: 141 utime: 122 stime: 19 cutime:0 cstime: 1 timeout: 0 it_real_value: 0 frequency: 100

Backtrace was generated from '/usr/bin/rhythmbox'

Using host libthread_db library "/lib/i686/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread -1233058096 (LWP 29219)]
0xffffe410 in __kernel_vsyscall ()

Thread 1 (Thread -1233058096 (LWP 29219))

  • #0 __kernel_vsyscall
  • #1 waitpid
    from /lib/i686/libpthread.so.0
  • #2 IA__g_spawn_sync
    at gspawn.c line 369
  • #3 IA__g_spawn_command_line_sync
    at gspawn.c line 677
  • #4 ??
    from /usr/lib/gtk-2.0/modules/libgnomebreakpad.so
  • #5 ??
    from /usr/lib/gtk-2.0/modules/libgnomebreakpad.so
  • #6 google_breakpad::ExceptionHandler::InternalWriteMinidump
    from /usr/lib/gtk-2.0/modules/libgnomebreakpad.so
  • #7 google_breakpad::ExceptionHandler::HandleException
    from /usr/lib/gtk-2.0/modules/libgnomebreakpad.so
  • #8 <signal handler called>
  • #9 main
    at main.c line 325
  • #0 __kernel_vsyscall


----------- .xsession-errors (65 sec old) ---------------------
** Message: Error: Stream contains no data.
gsttypefindelement.c(742): gst_type_find_element_activate (): /play/decodebin0/typefind:
Can't typefind empty stream
** Message: Error: Could not determine type of stream.
gsttypefindelement.c(757): gst_type_find_element_activate (): /play/decodebin0/typefind
totem-video-thumbnailer couln't open file 'file:///home/thelema/Desktop/nautilus-gio-copy.ogg'
Reason: Stream contains no data..
Flash Player: Warning: environment variable G_FILENAME_ENCODING is set and is not UTF-8
OIL: ERROR liboiltest.c 403: oil_test_check_impl(): function sad8x8_8xn_u8_psadbw in class sad8x8_8xn_u8 failed check (263573 > 0) || (outside=0)
OIL: ERROR liboiltest.c 403: oil_test_check_impl(): function sad8x8_8xn_u8_psadbw in class sad8x8_8xn_u8 failed check (260272 > 0) || (outside=0)
Flash Player: Warning: environment variable G_FILENAME_ENCODING is set and is not UTF-8
Flash Player: Warning: environment variable G_FILENAME_ENCODING is set and is not UTF-8
Flash Player: Warning: environment variable G_FILENAME_ENCODING is set and is not UTF-8
--------------------------------------------------
Comment 1 Bastien Nocera 2007-11-26 13:24:57 UTC
Thanks to Jonathan, found out this was because no Python plugins were loaded (therefore rb_python_module_init_python() was never being called), making pyg_begin_allow_threads() crash.

Enable a python plugin, such as the artdisplay one, to work-around the crash:
gconftool-2 --set --type bool /apps/rhythmbox/plugins/artdisplay/active true
Comment 2 Jonathan Matthew 2007-11-26 14:22:11 UTC
Created attachment 99661 [details] [review]
awful fix

If we create an RBPythonModule unconditionally, we can be sure that pygobject and friends are initialized.
Comment 3 thelema 2007-11-26 15:37:25 UTC
(In reply to comment #1)
> Thanks to Jonathan, found out this was because no Python plugins were loaded
> (therefore rb_python_module_init_python() was never being called), making
> pyg_begin_allow_threads() crash.
> 
> Enable a python plugin, such as the artdisplay one, to work-around the crash:
> gconftool-2 --set --type bool /apps/rhythmbox/plugins/artdisplay/active true
> 

Wow, that fixed it.  Good job finding this bug.
Comment 4 Jonathan Matthew 2007-11-27 11:41:42 UTC
*** Bug 497304 has been marked as a duplicate of this bug. ***
Comment 5 Jonathan Matthew 2007-12-21 02:42:03 UTC
*** Bug 504794 has been marked as a duplicate of this bug. ***
Comment 6 Jonathan Matthew 2007-12-27 08:32:46 UTC
*** Bug 505234 has been marked as a duplicate of this bug. ***
Comment 7 Jonathan Matthew 2008-01-01 10:35:57 UTC
I've committed a less obnoxious fix:

2008-01-01  Jonathan Matthew  <jonathan@d14n.org>

        * plugins/rb-plugins-engine.c: (rb_plugins_engine_init):
        * plugins/rb-python-module.c: (rb_python_module_class_init):
        * plugins/rb-python-module.h:
        Always initialize python if python plugins are enabled.
        Fixes #499208, probably wastes a bit of memory for a few people.
Comment 8 Jonathan Matthew 2008-01-16 07:31:48 UTC
*** Bug 509837 has been marked as a duplicate of this bug. ***