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 138653 - crash opening/closing multiple gnome-terminal tabs
crash opening/closing multiple gnome-terminal tabs
Status: RESOLVED OBSOLETE
Product: vte
Classification: Core
Component: general
unspecified
Other Linux
: High normal
: ---
Assigned To: VTE Maintainers
VTE Maintainers
AP3
Depends on: 113590 128049 132548
Blocks:
 
 
Reported: 2004-03-31 15:43 UTC by Patrick Wade
Modified: 2007-01-25 01:01 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Proposed patch (1.42 KB, patch)
2004-04-30 09:54 UTC, padraig.obriain
none Details | Review

Description Patrick Wade 2004-03-31 15:43:43 UTC
Using a GNOME build from 29th of March 2004

-From xterm, launched gnome-terminal
-Opened 4 or 5 tabs
-In one tab, launch 'gnopernicus'
-Closed 2 tabs



(The steps above are an approximation - narrowing the steps
down was difficult)

RESULT:gnome-terminal segmentation faulted.


Here is the stack trace:
------------------------
Program received signal SIGSEGV, Segmentation fault.

Thread 1024 (LWP 3880)

  • #0 vte_terminal_accessible_get_position
    at vteaccess.c line 1522
  • #1 atk_component_get_position
    at atkcomponent.c line 274
  • #2 vte_terminal_accessible_get_character_extents
    at vteaccess.c line 1328
  • #3 atk_text_get_character_extents
    at atktext.c line 554
  • #4 impl_getCharacterExtents
    at text.c line 342
  • #5 _ORBIT_skel_small_Accessibility_Text_getCharacterExtents
    at Accessibility-common.c line 2398
  • #6 ORBit_POAObject_invoke
    at poa.c line 1141
  • #7 ORBit_OAObject_invoke
    at orbit-adaptor.c line 284
  • #8 ORBit_small_invoke_adaptor
    at orbit-small.c line 835
  • #9 ORBit_POAObject_handle_request
    at poa.c line 1350
  • #10 ORBit_POAObject_invoke_incoming_request
    at poa.c line 1418
  • #11 ORBit_POA_handle_request
    at poa.c line 1640
  • #12 ORBit_handle_request
    at orbit-adaptor.c line 244
  • #13 giop_connection_handle_input
    at giop-recv-buffer.c line 1281
  • #14 link_connection_io_handler
    at linc-connection.c line 1267
  • #15 link_source_dispatch
    at linc-source.c line 53
  • #16 g_main_dispatch
    at gmain.c line 1948
  • #17 g_main_context_dispatch
    at gmain.c line 2498
  • #18 g_main_context_iterate
    at gmain.c line 2579
  • #19 g_main_context_iteration
    at gmain.c line 2638
  • #20 link_main_iteration
    at linc.c line 232
  • #21 giop_recv_buffer_get
    at giop-recv-buffer.c line 717
  • #22 ORBit_small_invoke_stub
    at orbit-small.c line 657
  • #23 ORBit_small_invoke_stub_n
    at orbit-small.c line 575
  • #24 ORBit_c_stub_invoke
    at poa.c line 2640
  • #25 Accessibility_EventListener_notifyEvent
    at Accessibility-stubs.c line 754
  • #26 spi_atk_emit_eventv
    at bridge.c line 581
  • #27 spi_atk_bridge_state_event_listener
    at bridge.c line 761
  • #28 signal_emit_unlocked_R
    at gsignal.c line 2402
  • #29 g_signal_emit_valist
    at gsignal.c line 2195
  • #30 g_signal_emit
    at gsignal.c line 2239
  • #31 atk_object_notify_state_change
    at atkobject.c line 933
  • #32 vte_terminal_accessible_visibility_notify
    at vteaccess.c line 732
  • #33 _gtk_marshal_BOOLEAN__BOXED
    at gtkmarshalers.c line 82
  • #34 g_closure_invoke
    at gclosure.c line 437
  • #35 signal_emit_unlocked_R
    at gsignal.c line 2436
  • #36 g_signal_emit_valist
    at gsignal.c line 2205
  • #37 g_signal_emit
    at gsignal.c line 2239
  • #38 gtk_widget_event_internal
    at gtkwidget.c line 3563
  • #39 gtk_widget_event
    at gtkwidget.c line 3369
  • #40 gtk_main_do_event
    at gtkmain.c line 1560
  • #41 gdk_event_dispatch
    at gdkevents-x11.c line 2133
  • #42 g_main_dispatch
    at gmain.c line 1948
  • #43 g_main_context_dispatch
    at gmain.c line 2498
  • #44 g_main_context_iterate
    at gmain.c line 2579
  • #45 g_main_loop_run
    at gmain.c line 2783
  • #46 gtk_main
    at gtkmain.c line 1172
  • #47 main
    at terminal.c line 1669
  • #48 __libc_start_main
    from /lib/i686/libc.so.6

Comment 1 padraig.obriain 2004-03-31 16:03:35 UTC
There are patches in other vte bugs which I would like applied before lookinmg
this too closely. It suspect the variable widget has value NULL and is being
dereferenced.
Comment 2 Mariano Suárez-Alvarez 2004-04-06 09:45:01 UTC
I don't get a crash, but each time I close a tab, on stderr I get something
similar to:

(gnome-terminal:898): GLib-GObject-WARNING **: g_object_weak_unref: couldn't
find weak ref 0x40d3e690(0x8271174)
 
(gnome-terminal:898): GLib-GObject-WARNING **: invalid uninstantiatable type
`<unknown>' in cast to `AtkObject'
 
(gnome-terminal:898): GLib-GObject-WARNING **: instance of invalid
non-instantiatable type `<unknown>'
 
(gnome-terminal:898): GLib-GObject-CRITICAL **: file gsignal.c: line 2122
(g_signal_emit_valist): assertion `G_TYPE_CHECK_INSTANCE (instance)' failed
Comment 3 Mariano Suárez-Alvarez 2004-04-18 02:23:56 UTC
Padraig: can you add the bug numbers you wait upon to the blocking list?
Comment 4 padraig.obriain 2004-04-30 09:54:09 UTC
Created attachment 27226 [details] [review]
Proposed patch

I am unable to reproduce this crash but the attached patch should be applied as
it prevents an attempt to get accessibility information about a widget which
has been destroyed.
Comment 5 Kjartan Maraas 2004-10-18 10:15:58 UTC
Please review and commit if it's ok.
Comment 6 Calum Benson 2004-10-21 16:41:00 UTC
Apologies for spam-- ensuring Sun a11y team are cc'ed on all current a11y bugs.
 Filter on "SUN A11Y SPAM" to ignore.
Comment 7 Kjartan Maraas 2005-08-10 13:31:17 UTC
Padraig, is this also part of the patch for bug #113590? It looked very similar
to some of the hunks in there.
Comment 8 Kjartan Maraas 2005-08-29 10:20:37 UTC
This should be fixed by this commit I guess:

2005-07-07  Matthias Clasen  <mclasen@redhat.com>

        * src/vte.c (vte_terminal_unrealize): Unset the user data
        on the gdk window.
Comment 9 Chris Wilson 2007-01-25 01:01:32 UTC
At some point the proposed patch was applied, possibly as part of bug 113590 and all dependencies have been resolved.