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 331042 - [a11y] Rhythmbox crashes when entering flat review mode in Orca
[a11y] Rhythmbox crashes when entering flat review mode in Orca
Status: RESOLVED FIXED
Product: atk
Classification: Platform
Component: general
git master
Other All
: High critical
: ---
Assigned To: bill.haneman
bill.haneman
Depends on:
Blocks: 353448
 
 
Reported: 2006-02-13 19:54 UTC by Mike Pedersen
Modified: 2006-11-18 04:39 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
patch against gail (392 bytes, patch)
2006-08-07 14:07 UTC, James "Doc" Livingston
committed Details | Review

Description Mike Pedersen 2006-02-13 19:54:30 UTC
Please describe the problem:
After configuring rhythembox I attempt to enter flat review with orca running 
and the desktop completely hangs.  This is similar to the behavior with the pan 
news reader.  

Steps to reproduce:
1. enter and configure rhythembox
2. attempt to enter flat review by trying to read the prior line.
3. 


Actual results:
orca and the desktop hang

Expected results:
flat review should work

Does this happen every time?
yes

Other information:
Comment 1 Rich Burridge 2006-06-27 22:11:20 UTC
Mike, are you still seeing this problem now that Will has
put in several changes to try to resolving hanging issues?
Comment 2 Mike Pedersen 2006-06-28 06:13:46 UTC
Yes, this bug is still reproducible with the latest ubuntu dapper release.  
Comment 3 Joanmarie Diggs (IRC: joanie) 2006-07-21 09:23:01 UTC
I just discovered a similar behavior in Evolution that I can reproduce 100% of the time on all of my machines.  Before I file it as a new bug, I figured I'd comment on this one.

Try this:

1.  Launch Evolution
2.  Leave focus on the Send/Receive button
3.  Attempt to enter flat review
Comment 4 Rich Burridge 2006-07-21 14:31:03 UTC
With regards to Evolution, I have a few questions (as I've just tried
this, and it works fine for me).

* What version of Evolution are you running?
* What version of Orca are you running?
* When you "Attempt to enter flat review", what exactly do you do?

I just tried this with Evolution 2.6.1 and Orca from CVS HEAD and
entered flat review by hitting the 7 key on the numeric keypad.
This was with GNOME 2.14 on Solaris x86 (Nevada build 34).

Thanks.
Comment 5 Joanmarie Diggs (IRC: joanie) 2006-07-21 22:21:44 UTC
In answer to your questions:

* Evolution 2.6.1
* Orca from CVS Head -- just tried it again too.  It still occurs.
* I have tried all NumPad numbers -- just tried it again with NumPad 7. It still occurs.

I have GNOME 2.14 as well.  BUT on my three machines I am running Ubuntu 6.06.


Comment 6 Rich Burridge 2006-07-21 22:28:06 UTC
Okay, thanks. As Will has mentioned elsewhere, the Python threading
module is a challenge. One of the things he's recently introduced is
the ability to "unroll" the main loop. Could you try adding the following
line to your ~/.orca/user-settings.py file:

orca.settings.useBonoboMain=False

Restart Orca and retry the experiement. I'm curious to see if that
solves the problem. 
Comment 7 Joanmarie Diggs (IRC: joanie) 2006-07-21 22:50:54 UTC
I'm afraid it made no difference.  

I also saw Will's ping-orca script.   I wasn't sure if it was relevant, but I figured it couldn't hurt.  I pinged it a few times immediately after the bug occurred and Orca was reportedly alive.  Eventually the system tanked, so I got into GNOME failsafe terminal and tried to ping it.  At that point Orca was dead.

Hope this helps!
Comment 8 Rich Burridge 2006-07-21 23:04:43 UTC
Yes I think it does. Thanks Joanie. One difference is that
you're using Ubuntu (same for Mike with the rhythmbox problem)
and I'm using Solaris. There is something subtlely different
about the two. These problems might need to be investigated further
by us directly with Ubuntu.
Comment 9 Willie Walker 2006-07-21 23:19:52 UTC
I just took a look at this - it looks like it could be any number of things
causing the flat review logic to hang when talking to Evolution-2.8.  In one
instance, I see calls to obj.child(i).  In others, I see wildly bizarre results
from calls to text.getTextAtOffset.  Sigh.

We'll need to spend some time trying to figure out why we're getting this bad
information from Evolution so we can log bugs with them.  But, we'll also need
to figure out some more defensive mechanisms when doing our flat review.
Comment 10 Willie Walker 2006-07-21 23:22:53 UTC
With respect to rhythmbox, what I see is that rhythmbox crashes when you enter flat review with Orca and it pops up a gnome_segv dialog.  Mike, I'm curious if this is what is really happening with your rhythmbox bug?  If so, we need to separate this into two bugs - one for evolution and one for rhythmbox.
Comment 11 Rich Burridge 2006-07-21 23:24:59 UTC
W.r.t Evolution: That also suggests then, that Evolution is built differently on
Solaris. Because I'm just not seeing the same hang that you'll are.
Comment 12 Rich Burridge 2006-07-31 18:30:46 UTC
We have potentially two separate problem here. One in rhythmbox, 
the other in Evolution. I've created a new bug report (bug #349465)
for the Evolution one.

I also now have a PC running Ubuntu Dapper Drake (v6.06) with Orca
from CVS HEAD, and DECtalk 4.64 as my TTS. I just went to try to recreate
the rhythmbox "hang". Using the "7" key on my numeric keypad to
enter flat review, I immediately see that rhythmbox crashes.

The error message on the terminal window where I started it was:

$ rhythmbox
GTK Accessibility Module initialized
Bonobo accessibility support initialized

(rhythmbox:5695): Rhythmbox-WARNING **: Unable to start mDNS browsing

** ERROR **: file gailtreeview.c: line 926 (gail_tree_view_ref_child):
assertion failed: (renderer_list != NULL)
aborting... 

Transferring to the rhythmbox developers for further investigation.
Adjusting the bug summary accordingly.

(For details of how to install Orca on your system, see section 4
of http://live.gnome.org/Orca/ )
Comment 13 James "Doc" Livingston 2006-08-01 06:45:53 UTC
Any chance you could get a backtrace of where Rhythmbox crashes?

See http://live.gnome.org/GettingTraces for more information on how to do so.
Comment 14 Rich Burridge 2006-08-01 14:36:53 UTC
** ERROR **: file gailtreeview.c: line 926 (gail_tree_view_ref_child): assertion failed: (renderer_list != NULL)
aborting...

Program received signal SIGABRT, Aborted.

Thread NaN (LWP 5054)

  • #0 __kernel_vsyscall
  • #1 raise
    from /lib/tls/i686/cmov/libc.so.6
  • #2 abort
    from /lib/tls/i686/cmov/libc.so.6
  • #3 g_logv
    from /usr/lib/libglib-2.0.so.0
  • #4 g_log
    from /usr/lib/libglib-2.0.so.0
  • #5 g_assert_warning
    from /usr/lib/libglib-2.0.so.0
  • #6 gail_tree_view_ref_focus_cell
    from /usr/lib/gtk-2.0/modules/libgail.so
  • #7 atk_object_ref_accessible_child
    from /usr/lib/libatk-1.0.so.0
  • #8 spi_accessible_role_from_atk_role
    from /usr/lib/libspi.so.0
  • #9 _ORBIT_skel_small_Accessibility_Accessible_getChildAtIndex
    from /usr/lib/libspi.so.0
  • #10 ORBit_POA_setup_root
    from /usr/lib/libORBit-2.so.0
  • #11 ORBit_OAObject_invoke
    from /usr/lib/libORBit-2.so.0
  • #12 ORBit_small_invoke_adaptor
    from /usr/lib/libORBit-2.so.0
  • #13 ORBit_POAObject_post_invoke
    from /usr/lib/libORBit-2.so.0
  • #14 ORBit_POAObject_post_invoke
    from /usr/lib/libORBit-2.so.0
  • #15 giop_thread_queue_process
    from /usr/lib/libORBit-2.so.0
  • #16 giop_thread_queue_process
    from /usr/lib/libORBit-2.so.0
  • #17 link_servers_move_io_T
    from /usr/lib/libORBit-2.so.0
  • #18 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #19 g_main_context_check
    from /usr/lib/libglib-2.0.so.0
  • #20 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #21 bonobo_main
    from /usr/lib/libbonobo-2.so.0
  • #22 main

Comment 15 James "Doc" Livingston 2006-08-07 14:07:54 UTC
Created attachment 70391 [details] [review]
patch against gail

If possible, could someone test this patch against GAIL to see if it helps?

It appears that GAIL triggers an assertion if it encounters a treeview column with no renderers packed into it.
Comment 16 Rich Burridge 2006-08-29 18:03:45 UTC
James, I'm going to transfer this to the atk team for further evaluation.
Thanks for the suggested fix.
Comment 17 bill.haneman 2006-08-30 09:32:10 UTC
Hi James and Rich;

Patch looks correct, but I am not in a position to test/verify.  Also the patch is blocked by code freeze.  Rich if you or Mike can verify the fix, I'll petition the release team to have it applied. 

Marking the patch 'accepted_commit-after-freeze' for the time being, but NEEDINFO'ing the bug pending verification.  Thanks!
Comment 18 bill.haneman 2006-09-13 15:11:41 UTC
I've committed the patch; however I am a little leery of it since it basically is returning a NULL for an 'empty' treeview column's AtkObject instances.  Probably it would make more sense to return more or less inert AtkObject instances instead, to correspond to the "nothing rendered in this column" case.