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 378546 - Crash after exiting slideshow. (I was viewing it over a freenx session, so the fade-in/fade-out effects are disabled.)
Crash after exiting slideshow. (I was viewing it over a freenx session, so th...
Status: RESOLVED FIXED
Product: gthumb
Classification: Other
Component: general
2.9.x
Other other
: High critical
: ---
Assigned To: Paolo Bacchilega
Paolo Bacchilega
: 395483 395925 408361 409600 440480 441330 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2006-11-23 17:37 UTC by Michael Chudobiak
Modified: 2007-05-28 12:23 UTC
See Also:
GNOME target: ---
GNOME version: 2.13/2.14


Attachments
finalize the preloaders when GThumbPreloader finalize is called (366 bytes, patch)
2007-02-20 18:05 UTC, manuel braga
none Details | Review

Description Michael Chudobiak 2006-11-23 17:35:56 UTC
Distribution: Fedora Core release 5 (Bordeaux)
Package: gthumb
Severity: Normal
Version: GNOME2.14.3 2.9.0
Gnome-Distributor: Red Hat, Inc
Synopsis: Crash after exiting slideshow. (I was viewing it over a freenx session, so the fade-in/fade-out effects are disabled.)
Bugzilla-Product: gthumb
Bugzilla-Component: general
Bugzilla-Version: 2.9.0
BugBuddy-GnomeVersion: 2.0 (2.14.1)
Description:
Description of the crash:

The slideshow crashes fairly frequently for me, at least over the freenx
session.

Steps to reproduce the crash:
1. Select all the items in a folder
2. Start a slideshow.
3. End the slide show.

How often does this happen?

Only sometimes. Other times, I just get this error dumped to the
console:

GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast
to `GThumbPreloader'



Debugging Information:

Backtrace was generated from '/usr/local/bin/gthumb'

Using host libthread_db library "/lib/libthread_db.so.1".
`shared object read from target memory' has disappeared; keeping its
symbols.
[Thread debugging using libthread_db enabled]
[New Thread -1208846656 (LWP 21677)]
[New Thread -1560126560 (LWP 21781)]
[New Thread -1530754144 (LWP 21780)]
[New Thread -1490125920 (LWP 21779)]
[New Thread -1441797216 (LWP 21734)]
[New Thread -1431307360 (LWP 21733)]
[New Thread -1418953824 (LWP 21732)]
[New Thread -1407997024 (LWP 21684)]
[New Thread -1397507168 (LWP 21683)]
[New Thread -1387017312 (LWP 21682)]
[New Thread -1376527456 (LWP 21681)]
[New Thread -1272857696 (LWP 21679)]
[New Thread -1210946656 (LWP 21678)]
0x00970402 in __kernel_vsyscall ()

Thread 1 (Thread -1208846656 (LWP 21677))

  • #0 __kernel_vsyscall
  • #1 ??
    from /lib/libpthread.so.0
  • #2 gnome_gtk_module_info_get
    from /usr/lib/libgnomeui-2.so.0
  • #3 <signal handler called>
  • #4 requested_preloader
    at gthumb-preloader.c line 305
  • #5 loader_done_cb
    at gthumb-preloader.c line 103
  • #6 IA__g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77




------- Bug created by bug-buddy at 2006-11-23 17:37 -------


Unknown version 2.9.0 in product gthumb.  Setting version to "2.9.x".

Comment 1 Michael Chudobiak 2006-11-23 17:45:57 UTC
Just a guess...

static PreLoader *
requested_preloader (GThumbPreloader *gploader)
{
        if (gploader->requested == -1)
                return NULL;
        return gploader->loader[gploader->requested];
}

Is gploader->requested = NULL for some reason, and should there be a check for that too (in addition to == -1).


- Mike
Comment 2 Michael Chudobiak 2006-11-23 20:08:42 UTC
From gdb, using --g-fatal-warnings:

GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GThumbPreloader'
aborting...

Program received signal SIGABRT, Aborted.

Thread NaN (LWP 29537)

  • #0 __kernel_vsyscall
  • #1 *__GI_raise
    at ../nptl/sysdeps/unix/sysv/linux/raise.c line 64
  • #2 *__GI_abort
    at abort.c line 88
  • #3 IA__g_logv
    at gmessages.c line 497
  • #4 IA__g_log
    at gmessages.c line 517
  • #5 IA__g_type_check_instance_cast
    at gtype.c line 3133
  • #6 gploader_finalize__step2
    at gthumb-preloader.c line 178
  • #7 start_next_loader
    at gthumb-preloader.c line 515
  • #8 load_next
    at gthumb-preloader.c line 63
  • #9 g_timeout_dispatch
    at gmain.c line 3292
  • #10 IA__g_main_context_dispatch
    at gmain.c line 1916
  • #11 g_main_context_iterate
    at gmain.c line 2547
  • #12 IA__g_main_loop_run
    at gmain.c line 2751
  • #13 IA__gtk_main
    at gtkmain.c line 1003
  • #14 main
    at main.c line 725

Comment 3 Michael Chudobiak 2006-11-23 20:22:15 UTC
Well, there is definitely a problem in gploader_finalize__step2 - a null object is being passed to it, and it isn't testing for it. gthumb_preloader_finalize has some assertions to check for this - I tried copying them to gploader_finalize__step2, but that just results in different assertion errors, like:

gploader_finalize__step2: assertion `GTHUMB_IS_PRELOADER (object)' failed 

Can we just return if the object is null? I don't know what the broader implications are.

Paolo, can you look at this?

- Mike
'
Comment 4 Michael Chudobiak 2007-01-11 18:06:14 UTC
*** Bug 395483 has been marked as a duplicate of this bug. ***
Comment 5 Michael Chudobiak 2007-02-15 19:30:10 UTC
*** Bug 408361 has been marked as a duplicate of this bug. ***
Comment 6 Michael Chudobiak 2007-02-19 13:45:51 UTC
*** Bug 409600 has been marked as a duplicate of this bug. ***
Comment 7 Michael Chudobiak 2007-02-19 13:55:08 UTC
*** Bug 395925 has been marked as a duplicate of this bug. ***
Comment 8 manuel braga 2007-02-20 18:05:40 UTC
Created attachment 82978 [details] [review]
finalize the preloaders when GThumbPreloader finalize is called

I reproduce it, without using in freenx.

The problem is that, a signal is emitted for a preloader, but because of the load, the signal callback is called after the g_object_unref of the GThumbPreloader.
Comment 9 Michael Chudobiak 2007-02-20 18:31:28 UTC
Thanks Manuel! Patch committed.

(Have you seen bug 409799, Manuel? Some sort of memory corruption, that I've bypassed, but the basic problem remains...)

- Mike
Comment 10 Michael Chudobiak 2007-05-28 12:21:00 UTC
*** Bug 441330 has been marked as a duplicate of this bug. ***
Comment 11 Michael Chudobiak 2007-05-28 12:23:30 UTC
*** Bug 440480 has been marked as a duplicate of this bug. ***