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 116693 - Automatic crash with gdialog
Automatic crash with gdialog
Status: VERIFIED INCOMPLETE
Product: gnome-themes
Classification: Deprecated
Component: theme-crux
2.2.x
Other other
: High critical
: ---
Assigned To: Seth Nickell
gnome-utils Maintainers
Depends on:
Blocks:
 
 
Reported: 2003-05-05 12:54 UTC by ricardo.gladwell
Modified: 2009-08-15 18:40 UTC
See Also:
GNOME target: ---
GNOME version: 2.1/2.2


Attachments
Patch to avoid name space conflicts in Crux (against gnome-themes 2.2) (17.21 KB, patch)
2003-09-16 17:38 UTC, Robert Basch
none Details | Review

Description ricardo.gladwell 2003-07-04 10:52:30 UTC
Package: gnome-utils
Severity: normal
Version: 2.2.0.3
Synopsis: Automatic crash with gdialog
Bugzilla-Product: gnome-utils
Bugzilla-Component: gdialog
BugBuddy-GnomeVersion: 2.0 (2.2.0.1)

Description:
Description of Problem: Whenever gdialog is executed it automatically
crashes with a seg fault. The error message is as follows:

"** (bug-buddy:1363): CRITICAL **: file crux-draw.c: line 1020
(draw_box): assertion `height >= -1' failed"

This only appears to happen on my install of RedHat 9.

Steps to reproduce the problem:
1. Execute 'gdialog --yesno "Hello" 80 80' from the command-line or
otherwise call gdialog

Actual Results:

Dialog box appears then disappears straightaway to be displayed with
gnome crash dialog.

Expected Results:

Gdialog should run as normal

How often does this happen?

Everytime gdialog is executed

Additional Information:
Normal RedHat 9 install.



Debugging Information:

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

(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...[New Thread 1086372640 (LWP 1398)]
(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...0xffffe002 in ?? ()

Thread 1 (Thread 1086372640 (LWP 1398))

  • #0 ??
  • #1 libgnomeui_module_info_get
    from /usr/lib/libgnomeui-2.so.0
  • #2 <signal handler called>
  • #3 wechochar
    from /usr/lib/libncurses.so.5
  • #4 waddch
    from /usr/lib/libncurses.so.5
  • #5 draw_box
  • #6 gtk_paint_box
    from /usr/lib/libgtk-x11-2.0.so.0
  • #7 _gtk_button_paint
    from /usr/lib/libgtk-x11-2.0.so.0
  • #8 _gtk_button_paint
    from /usr/lib/libgtk-x11-2.0.so.0
  • #9 _gtk_marshal_BOOLEAN__BOXED
    from /usr/lib/libgtk-x11-2.0.so.0
  • #10 g_cclosure_new_swap
    from /usr/lib/libgobject-2.0.so.0
  • #11 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #12 g_signal_emit_by_name
    from /usr/lib/libgobject-2.0.so.0
  • #13 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #14 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #15 gtk_widget_send_expose
    from /usr/lib/libgtk-x11-2.0.so.0
  • #16 gtk_container_propagate_expose
    from /usr/lib/libgtk-x11-2.0.so.0
  • #17 gtk_container_get_focus_hadjustment
    from /usr/lib/libgtk-x11-2.0.so.0
  • #18 gtk_box_set_child_packing
    from /usr/lib/libgtk-x11-2.0.so.0
  • #19 gtk_container_forall
    from /usr/lib/libgtk-x11-2.0.so.0
  • #20 gtk_container_get_focus_hadjustment
    from /usr/lib/libgtk-x11-2.0.so.0
  • #21 _gtk_marshal_BOOLEAN__BOXED
    from /usr/lib/libgtk-x11-2.0.so.0
  • #22 g_cclosure_new_swap
    from /usr/lib/libgobject-2.0.so.0
  • #23 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #24 g_signal_emit_by_name
    from /usr/lib/libgobject-2.0.so.0
  • #25 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #26 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #27 gtk_widget_send_expose
    from /usr/lib/libgtk-x11-2.0.so.0
  • #28 gtk_container_propagate_expose
    from /usr/lib/libgtk-x11-2.0.so.0
  • #29 gtk_container_get_focus_hadjustment
    from /usr/lib/libgtk-x11-2.0.so.0
  • #30 gtk_box_set_child_packing
    from /usr/lib/libgtk-x11-2.0.so.0
  • #31 gtk_container_forall
    from /usr/lib/libgtk-x11-2.0.so.0
  • #32 gtk_container_get_focus_hadjustment
    from /usr/lib/libgtk-x11-2.0.so.0
  • #33 _gtk_marshal_BOOLEAN__BOXED
    from /usr/lib/libgtk-x11-2.0.so.0
  • #34 g_cclosure_new_swap
    from /usr/lib/libgobject-2.0.so.0
  • #35 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #36 g_signal_emit_by_name
    from /usr/lib/libgobject-2.0.so.0
  • #37 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #38 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #39 gtk_widget_send_expose
    from /usr/lib/libgtk-x11-2.0.so.0
  • #40 gtk_container_propagate_expose
    from /usr/lib/libgtk-x11-2.0.so.0
  • #41 gtk_container_get_focus_hadjustment
    from /usr/lib/libgtk-x11-2.0.so.0
  • #42 gtk_bin_get_type
    from /usr/lib/libgtk-x11-2.0.so.0
  • #43 gtk_container_forall
    from /usr/lib/libgtk-x11-2.0.so.0
  • #44 gtk_container_get_focus_hadjustment
    from /usr/lib/libgtk-x11-2.0.so.0
  • #45 _gtk_window_constrain_size
    from /usr/lib/libgtk-x11-2.0.so.0
  • #46 _gtk_marshal_BOOLEAN__BOXED
    from /usr/lib/libgtk-x11-2.0.so.0
  • #47 g_cclosure_new_swap
    from /usr/lib/libgobject-2.0.so.0
  • #48 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #49 g_signal_emit_by_name
    from /usr/lib/libgobject-2.0.so.0
  • #50 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #51 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #52 gtk_widget_send_expose
    from /usr/lib/libgtk-x11-2.0.so.0
  • #53 gtk_main_do_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #54 gdk_window_clear_area_e
    from /usr/lib/libgdk-x11-2.0.so.0
  • #55 gdk_window_process_all_updates
    from /usr/lib/libgdk-x11-2.0.so.0
  • #56 gtk_container_set_reallocate_redraws
    from /usr/lib/libgtk-x11-2.0.so.0
  • #57 g_timeout_add
    from /usr/lib/libglib-2.0.so.0
  • #58 g_get_current_time
    from /usr/lib/libglib-2.0.so.0
  • #59 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #60 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #61 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #62 gtk_main
    from /usr/lib/libgtk-x11-2.0.so.0
  • #63 dialog_yesno_with_default
  • #64 j_yesno
  • #65 main
  • #66 __libc_start_main
    from /lib/tls/libc.so.6
  • #0 ??




------- Bug moved to this database by unknown@bugzilla.gnome.org 2003-07-04 06:52 -------

The original reporter (ricardo.gladwell@btintenet.com) of this bug does not have an account here.
Reassigning to the exporter, unknown@bugzilla.gnome.org.
Reassigning to the default owner of the component, gnome-utils-maint@bugzilla.gnome.org.

Comment 1 Elijah Newren 2003-07-04 20:33:04 UTC
Appears to be a unique stack trace, according to the
simple-dup-finder.  Setting version->2.2.x, marking priority->high &
severity->critical (it's a crasher), adding GNOMEVER2.2 and bugsquad
keywords, and marking as new.
Comment 2 Robert Basch 2003-09-16 17:35:52 UTC
I believe we are seeing the same problem, and have traced it to a
name space conflict between the crux engine library and gdialog.
This conflict comes into play when the Crux theme is used.  Note
that the crux library (installed as part of the gnome-themes
package) contains global functions named draw_box() and draw_shadow();
these conflict with global functions in gdialog (located in util.c).
Investigation revealed that crux_style_class_init() is setting
the draw_box and draw_shadow member functions of the GtkStyleClass
to the gdialog functions of the same names, instead of the crux
engine functions.  Gtk later calls these functions with what
amounts to trash arguments, causing the crash.

The only apparent workaround is not to use Crux.

I have devised a patch to the gnome-themes/Crux code which avoids
name space conflicts; I will submit that soon.
Comment 3 Robert Basch 2003-09-16 17:38:48 UTC
Created attachment 19992 [details] [review]
Patch to avoid name space conflicts in Crux (against gnome-themes 2.2)
Comment 4 Robert Basch 2003-09-16 17:45:15 UTC
The submitted patch changes all of the style_class member functions
to static; the structure members are now initialized in a new function
crux_draw_style_class_init(), in crux-draw.c.  crux_style_class_init(),
in crux-style.c, now simply calls the new function.
Comment 5 Kjartan Maraas 2003-09-16 21:02:21 UTC
Hmm. gdialog was replaced by zenity in 2.4.x and I don't think there
will be another 2.2.x release. Does zenity behave correctly in this case?
Comment 6 Robert Basch 2003-09-16 21:56:20 UTC
Yes, zenity does seem to work, but I should have been clearer about
the larger point -- crux (or any well-behaved library) should not be
polluting the name space with generically-named global functions.
Comment 7 Kjartan Maraas 2003-09-17 12:40:08 UTC
Ah, I didn't read this carefully enough. We'll have to move it to
gnome-themes to get this resolved then I guess.
Comment 8 Josselin Mouette 2003-12-07 14:49:11 UTC
glines is also reported to display incorrectly, and it turns out to be
for the same reason, see http://bugs.debian.org/219313
Comment 9 Calum Benson 2004-09-24 14:43:35 UTC
I've just applied this patch to HEAD... if somebody still has a way of testing
it, could they do so?  If it works I'll apply it to gnome-2-8 branch as well.
Comment 10 Calum Benson 2004-10-12 11:41:08 UTC
No respones, so I've applied to 2.8.1 as well.  Please re-open if you're still
seeing this problem with HEAD or the gnome-2-8 branch.