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 398223 - totem-video-thumbnailer broken in 2.17.5
totem-video-thumbnailer broken in 2.17.5
Status: RESOLVED FIXED
Product: totem
Classification: Core
Component: Thumbnailer
2.17.x
Other Linux
: Normal normal
: ---
Assigned To: General Totem maintainer(s)
General Totem maintainer(s)
: 398534 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2007-01-19 01:49 UTC by Michael Kuhn
Modified: 2007-01-20 00:19 UTC
See Also:
GNOME target: ---
GNOME version: 2.17/2.18


Attachments
Patch to fix this. (575 bytes, patch)
2007-01-19 23:41 UTC, Filip Palm
none Details | Review

Description Michael Kuhn 2007-01-19 01:49:57 UTC
totem-video-thumbnailer crashes as of version 2.17.5:

> (process:21220): GStreamer-WARNING **: The GStreamer function gst_init_get_option_group() was
>         called, but the GLib threading system has not been initialised
>         yet, something that must happen before any other GLib function
>         is called. The application needs to be fixed accordingly, please
>         file a bug against this application.
>
> GThread-ERROR **: GThread system may only be initialized once.
> aborting...
> zsh: abort (core dumped)  totem-video-thumbnailer

The reason is probably that in totem-video-thumbnailer.c some g_* functions are called before g_thread_init(), which was introduced somewhere between 2.17.3 and 2.17.5:

> context = g_option_context_new ("Thumbnail movies");
> options = bacon_video_widget_get_option_group ();
> g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE);
> g_option_context_add_group (context, options);
>
> g_thread_init (NULL);

Since bacon_video_widget_get_option_group() is just a wrapper for gst_init_get_option_group() (which calls g_thread_init() internally) it should be this particular call that causes the second g_thread_init() to crash.

This should be fixed by either moving these g_* function calls below the g_thread_init() (which seems be the correct way) or by replacing the g_thread_init() call by something like the following:

> if (!g_thread_supported ()) g_thread_init (NULL);
Comment 1 Filip Palm 2007-01-19 22:13:07 UTC
*** Bug 398534 has been marked as a duplicate of this bug. ***
Comment 2 Bastien Nocera 2007-01-19 23:18:01 UTC
If anyone has a patch for that, much appreciated.

It might be related to the untested "fix" I did for bug 391263.
Comment 3 Filip Palm 2007-01-19 23:41:12 UTC
Created attachment 80742 [details] [review]
Patch to fix this.
Comment 4 Bastien Nocera 2007-01-20 00:19:52 UTC
2007-01-20  Bastien Nocera  <hadess@hadess.net>

        * src/totem-video-thumbnailer.c: (main): Patch from
        Filip Palm <bugzilla@helmut.se> to call g_thread_init ASAP,
        avoid fatal warnings with glib trunk (Closes: #398223)