Bug 625921 - With a11y enabled, gnome-terminal exits suddenly (dbus disconnect)
Summary: With a11y enabled, gnome-terminal exits suddenly (dbus disconnect)
Alias: None
Product: Fedora
Classification: Fedora
Component: gnome-terminal   
(Show other bugs)
Version: 14
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Behdad Esfahbod
QA Contact: Fedora Extras Quality Assurance
Depends On:
TreeView+ depends on / blocked
Reported: 2010-08-20 19:45 UTC by Will Woods
Modified: 2012-08-16 17:16 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2012-08-16 17:16:50 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

Description Will Woods 2010-08-20 19:45:29 UTC

If you have Assistive Technologies (accessibility/a11y) enabled, certain conditions will cause gnome-terminal to suddenly exit(1). For example, hitting 'Tab' after running 'alsamixer -c0' will cause gnome-terminal to suddenly exit.

A much simpler reproducer: type (or cut-and-paste) ♥ into a gnome-terminal window, then hit backspace. 

A little debugging shows that gnome-terminal is being forcibly disconnected from dbus - at the time of the crash, gnome-terminal still has its end of the socket open, but dbus is closing its end of the socket as a result of getting DBUS_WATCH_ERROR|DBUS_WATCH_HANGUP from dbus_watch_handle.

Further messing around with dbus-monitor --session shows that, under normal circumstances (like backspacing over the letter 'f'), pressing backspace results in (among other things) the following two signals:

signal sender=:1.144 -> dest=(null destination) serial=369 path=/org/a11y/atspi/accessible/90; interface=org.a11y.atspi.Event.Object; member=TextCaretMoved
   [some data here]

signal sender=:1.144 -> dest=(null destination) serial=370 path=/org/a11y/atspi/accessible/90; interface=org.a11y.atspi.Event.Object; member=TextChanged
   string "delete"
   int32 18
   int32 1
   variant       string "f"
   struct {
      string ":1.144"
      object path "/org/a11y/atspi/accessible/root"

When backspacing over the '♥', the TextCaretMoved signal is sent, but the subsequent TextChange/"delete" signal never happens; instead the following signal is:
signal sender=org.freedesktop.DBus -> dest=(null destination) serial=42 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
   string ":1.144"
   string ":1.144"
   string ""
which indicates gnome-terminal being thrown off the bus, probably for attempting to send malformed utf8. I'm guessing (or, rather, halfline guessed, and it makes sense because he's far more clever than I am) that only the last byte of the '♥' sequence is being sent, which is invalid utf8, which would cause dbus to reject the message.

So.. I guess this might actually be a vte/a11y bug, but I don't know how the gnome-terminal/a11y code is structured, so I'm leaving it here.

Comment 1 Matthias Clasen 2010-08-21 18:42:18 UTC
Filed upstream: https://bugzilla.gnome.org/show_bug.cgi?id=627591

Comment 2 Fedora End Of Life 2012-08-16 17:16:53 UTC
This message is a notice that Fedora 14 is now at end of life. Fedora 
has stopped maintaining and issuing updates for Fedora 14. It is 
Fedora's policy to close all bug reports from releases that are no 
longer maintained.  At this time, all open bugs with a Fedora 'version'
of '14' have been closed as WONTFIX.

(Please note: Our normal process is to give advanced warning of this 
occurring, but we forgot to do that. A thousand apologies.)

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, feel free to reopen 
this bug and simply change the 'version' to a later Fedora version.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we were unable to fix it before Fedora 14 reached end of life. If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora, you are encouraged to click on 
"Clone This Bug" (top right of this page) and open it against that 
version of Fedora.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 

Note You need to log in before you can comment on or make changes to this bug.