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 79413 - spontaneous crash in gnome-terminal with transparent background [zvt_background_set]
spontaneous crash in gnome-terminal with transparent background [zvt_backgrou...
Status: RESOLVED FIXED
Product: libzvt
Classification: Deprecated
Component: general
unspecified
Other other
: Urgent critical
: ---
Assigned To: jacob berkman
Luis Villa
: 79705 79715 79887 80181 80189 80421 81190 81598 81876 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2002-04-21 18:38 UTC by Luis Villa
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: Old
GNOME version: ---


Attachments
Check if the widget is realized in zvt_background_set and zvt_configure_window (786 bytes, patch)
2002-05-18 09:42 UTC, Gustavo Giráldez
none Details | Review

Description Luis Villa 2002-04-21 18:38:39 UTC
Package: gnome-terminal
Severity: critical
Version: 1.9.3
Synopsis: spontaneous crash
Bugzilla-Product: gnome-terminal
Bugzilla-Component: general
BugBuddy-GnomeVersion: 2.0 (1.114.0)

Description:
Description of Problem:
terminal window was behind another window and not focused and it
crashed. The background had not been changed recently either; the
terminal was set to transparency.

This is with a build from the 19th of April. It looks sort of similar to
bug 75340 but isn't the same trace.



Debugging Information:

Backtrace was generated from '/usr/bin/gnome-terminal'

[New Thread 1024 (LWP 20596)]
0x408ce319 in __wait4 () from /lib/libc.so.6

Thread 1 (Thread 1024 (LWP 20596))

  • #0 __wait4
    from /lib/libc.so.6
  • #1 __DTOR_END__
    from /lib/libc.so.6
  • #2 waitpid
    at wrapsyscall.c line 172
  • #3 libgnomeui_segv_handle
    at gnome-ui-init.c line 593
  • #4 pthread_sighandler
    at signals.c line 97
  • #5 <signal handler called>
  • #6 g_type_check_instance_cast
    at gtype.c line 2639
  • #7 zvt_background_set
    at background.c line 638
  • #8 zvt_root_atom_changed
    at background.c line 519
  • #9 zvt_filter_prop_change
    at background.c line 180
  • #10 gdk_event_apply_filters
    at gdkevents-x11.c line 267
  • #11 gdk_event_translate
    at gdkevents-x11.c line 531




------- Bug moved to this database by unknown@bugzilla.gnome.org 2002-04-21 14:38 -------

Reassigning to the default owner of the component, hp@redhat.com.

Comment 1 Luis Villa 2002-04-22 03:55:37 UTC
Saw this again this evening :/
Comment 2 Havoc Pennington 2002-04-24 02:56:53 UTC
Hmm, I think libzvt wins this bug. ;-)
Comment 3 Luis Villa 2002-04-25 05:31:25 UTC
Reassigning.
Comment 4 Heath Harrelson 2002-04-29 09:21:03 UTC
*** Bug 79705 has been marked as a duplicate of this bug. ***
Comment 5 Heath Harrelson 2002-04-29 09:22:36 UTC
*** Bug 79715 has been marked as a duplicate of this bug. ***
Comment 6 Heath Harrelson 2002-04-29 09:23:08 UTC
*** Bug 79887 has been marked as a duplicate of this bug. ***
Comment 7 Heath Harrelson 2002-04-29 09:23:46 UTC
*** Bug 80181 has been marked as a duplicate of this bug. ***
Comment 8 Luis Villa 2002-04-29 14:28:51 UTC
Moving to urgent because of the number of duplicates.
Comment 9 Luis Villa 2002-04-29 14:28:59 UTC
*** Bug 80189 has been marked as a duplicate of this bug. ***
Comment 10 Luis Villa 2002-05-01 09:22:34 UTC
Not puntable.
Comment 11 Luis Villa 2002-05-13 17:01:27 UTC
*** Bug 81598 has been marked as a duplicate of this bug. ***
Comment 12 Luis Villa 2002-05-13 17:02:00 UTC
*** Bug 80421 has been marked as a duplicate of this bug. ***
Comment 13 Luis Villa 2002-05-13 17:02:35 UTC
*** Bug 81190 has been marked as a duplicate of this bug. ***
Comment 14 Luis Villa 2002-05-15 19:28:42 UTC
*** Bug 81876 has been marked as a duplicate of this bug. ***
Comment 15 arunapr 2002-05-16 05:37:03 UTC
I am not able to reproduce the bug with the steps mentioned in the
above dup bugs (ex setting terminal bakcground to transparent ..). But
when I repeatedlly try to drag and drop the files from nautilus to
archive-generator/desktop the whole desktop hangs, once I kill the
nautilus it will be fine. 

I tested with the latest cvs source.
Comment 16 Gustavo Giráldez 2002-05-18 09:41:51 UTC
I think this bug happened because the background was not unloaded when
a ZvtTerm object was destroyed, so the property filter for the root
window pointing to the destroyed object still existed when the
background was changed (by some strange reason when playing around
with nautilus).  Note the crash is at background.c:638, which was
(before last commit):

struct _zvtprivate *zp = _ZVT_PRIVATE(term);

This should not happen again now that the background is unloaded at
destruction time (and del_winwatch is called).

Some of the duplicate bugs had a different backtrace though, related
to resizing the window.  I think those are a different thing: the
ZvtTerm widget is unrealized when the configure event handler (which
is connected to the toplevel) is called, and the handler expects the
widget to have a GdkWindow.  This doesn't happen right now probably
because the handler is correctly destroyed when the widget is
destroyed (zvt_term_update_toplevel_watch is called in
zvt_term_destroy).  But this still is a problem if the widget is
unrealized for some reason.

Also, the widget is assumed to be realized at zvt_background_set.  I
propose the following trivial patch to correct these.
Comment 17 Gustavo Giráldez 2002-05-18 09:42:53 UTC
Created attachment 8560 [details] [review]
Check if the widget is realized in zvt_background_set and zvt_configure_window
Comment 18 Gustavo Giráldez 2002-05-18 09:56:46 UTC
Just for the record, I have just confirmed my suspicion.  I commented
out the code which unloads the background at destruction (lines 788
and 789 from zvtterm.c) and I could reproduce the bug.  Just open a
terminal, open a second tab (or another window), close it and change
the background.  Crashes at background.c:644 (same line as before). 
Again, this is because the property filter handler is not
disconnected, so it points to a destroyed object.
Comment 19 jacob berkman 2002-05-20 20:53:43 UTC
i can't reproduce with these instructions...

1. from one terminal, run 'gnome-terminal --disable-factory'
2. set the profile of this terminal to one which has a transparent
background
3. make a new tab, set this to the trans. profile
4. close 2nd tab
5. change bg

is this exactly what you're doing?
Comment 20 Gustavo Giráldez 2002-05-21 01:17:13 UTC
Did you comment out the code in zvt_term_destroy which unloads the
background?  If the background is unloaded it works fine, but this was
fixed a couple of days ago (patch from #79930, you applied it iirc).

So, this shouldn't happen any more.
Comment 21 jacob berkman 2002-05-21 01:20:23 UTC
ok...

so is this FIXED or not?
Comment 22 Gustavo Giráldez 2002-05-21 01:32:39 UTC
Yes, I think it is.
Comment 23 Luis Villa 2002-05-21 17:51:17 UTC
Marking fixed, then; I'll be switching back to a transparent terminal
and working from there, so we'll see :)