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 628568 - Orca won't die, cannot be replaced if the at-spi registry daemon dies
Orca won't die, cannot be replaced if the at-spi registry daemon dies
Status: RESOLVED FIXED
Product: orca
Classification: Applications
Component: general
2.31.x
Other All
: Normal normal
: ---
Assigned To: Joanmarie Diggs (IRC: joanie)
Orca Maintainers
Depends on:
Blocks:
 
 
Reported: 2010-09-01 23:05 UTC by Joanmarie Diggs (IRC: joanie)
Modified: 2010-10-22 12:46 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
proposed patch (1.41 KB, patch)
2010-09-01 23:10 UTC, Joanmarie Diggs (IRC: joanie)
none Details | Review
Proposed patch - for the first issue reported (1.62 KB, patch)
2010-09-02 04:03 UTC, Joanmarie Diggs (IRC: joanie)
none Details | Review
fix (2.17 KB, patch)
2010-09-02 13:10 UTC, Joanmarie Diggs (IRC: joanie)
committed Details | Review
debug output while running Rhythmbox (792.86 KB, application/octet-stream)
2010-09-03 09:23 UTC, Jose Vilmar Estacio de Souza
  Details

Description Joanmarie Diggs (IRC: joanie) 2010-09-01 23:05:49 UTC
From José, master of awesome reproducible test cases:

1. Go to a terminal session.

2. kill at-spi-registryd executing:
killall at-spi-registryd
You'll here good bye.

3. Try to restart orca.
Nothing happens.
Previously orca was restarted normally.

4. If you hav a previous  version of orca installed try to execute that 
version using the --replace flag.
Surprisingly the new version of the orca is initiated.

Resuming:
Step 1:
After kill at-spi-registryd if I call the new version of orca, it does 
not start.

Step 2:
If I call an old version of orca after execute step 1, the new version 
of orca is started.

This is 100% reproducible in my environment.

[edit jd: It's 100% reproducible in my environment as well. Thanks José!]
Comment 1 Joanmarie Diggs (IRC: joanie) 2010-09-01 23:10:56 UTC
Created attachment 169308 [details] [review]
proposed patch
Comment 2 Jose Vilmar Estacio de Souza 2010-09-02 02:11:43 UTC
Works like a charm!
There is a small glitch:
When I kill at-spi-registryd and restart orca, I here good bye two times.
Comment 3 Joanmarie Diggs (IRC: joanie) 2010-09-02 02:53:01 UTC
Yeah, I heard the two goodbyes. And I think I know where to kill that. My main concern was solving the problem of Orca not being killable/restartable. Let me see if my guess about goodbye number two is spot on -- and if stopping doesn't have unexpected side effects.

Stay tuned!
Comment 4 Jose Vilmar Estacio de Souza 2010-09-02 03:29:48 UTC
There is another case in which the problem happens for me.

1. Start rhythmbox.
2. Include a new radio station and use the following url:
http://www.mpbfm.com.br/radinho.asx
This is a Brazilian radio, I didn't try with others.
3. Close and reopen rhythmbox.
4. Try to here the radio included in the step 2.
In 99% of the time the radio starts playing and orca freezes.
This also happens in previous version of orca, so no problems.
5. Try to restart orca.
Nothing happens.
6. Kill at-spi-registryd and restart orca.
Again nothing happens.
7. Call the old orca using the --replace flag.
The new version of the orca is resurrected.

I can reproduce in my environment in 99% of the time I try.
Comment 5 Joanmarie Diggs (IRC: joanie) 2010-09-02 04:03:40 UTC
Created attachment 169319 [details] [review]
Proposed patch - for the first issue reported

(In reply to comment #2)
> Works like a charm!
> There is a small glitch:
> When I kill at-spi-registryd and restart orca, I here good bye two times.

This solves the second good bye for me. Please test. I'll now look at your other issue.

Thanks again!
Comment 6 Joanmarie Diggs (IRC: joanie) 2010-09-02 04:18:35 UTC
José, I am not seeing any hangs with rhythmbox. I even tried with your station. As an aside the DJ sounds *exactly* like this guy I used to work with. Anyhoo... I'm wondering if perhaps this is an issue that got fixed by the Rhythmbox guys. 

So I'm going to switch to an earlier version of GNOME and see if I can reproduce it. In the meantime, would you mind seeing if I happened to luck out and fixed it in the new patch? That change included doing a more forceful die when the shutdown as not "clean". <fingers crossed>
Comment 7 Jose Vilmar Estacio de Souza 2010-09-02 12:58:43 UTC
(In reply to comment #5)
> Created an attachment (id=169319) [details] [review]
> Proposed patch - for the first issue reported
> 
> (In reply to comment #2)
> > Works like a charm!
> > There is a small glitch:
> > When I kill at-spi-registryd and restart orca, I here good bye two times.
> 
> This solves the second good bye for me. Please test. I'll now look at your
> other issue.
> 
> Thanks again!

Great!
Bye bye two good bye messages.
Comment 8 Joanmarie Diggs (IRC: joanie) 2010-09-02 13:10:50 UTC
Created attachment 169363 [details] [review]
fix

This patch is the same as patch 2, but uses constants as per Ale's code review. 

Committed to master:
http://git.gnome.org/browse/orca/commit/?id=09f8b0b7367daf8c9003ceab6df5b9df9597eca3
Comment 9 Joanmarie Diggs (IRC: joanie) 2010-09-02 13:13:28 UTC
(In reply to comment #7)
> Great!
> Bye bye two good bye messages.

Yay! <smile> If you could please let me know if this solves the problem you're seeing with Rhythmbox, that would be awesome. I cannot reproduce it in Maverick or Guadalinex v7 (GNOME 2.30).
Comment 10 Jose Vilmar Estacio de Souza 2010-09-02 13:50:37 UTC
(In reply to comment #9)
> (In reply to comment #7)
> > Great!
> > Bye bye two good bye messages.
> 
> Yay! <smile> If you could please let me know if this solves the problem you're
> seeing with Rhythmbox, that would be awesome. I cannot reproduce it in Maverick
> or Guadalinex v7 (GNOME 2.30).

Unfortunately I still can not say goodbye to my problem with Rhythmbox.
It is present in my ubuntu 10.04 and I can not restart orca, unless I use my old version of orca with the --replace flag.
Thanks.
Comment 11 Joanmarie Diggs (IRC: joanie) 2010-09-02 14:26:52 UTC
José, before I set up a virtualbox install of Ubuntu 10.04, could you please get me a debug.out? I'm hoping that it will shed some light on what event might be triggering the hang.

In addition:
* Are you using gnome-speech or speech-dispatcher?
* When the problem occurs, can you quit Orca via 'orca --forcequit' and then start Orca?

Thanks.
Comment 12 Jose Vilmar Estacio de Souza 2010-09-02 16:42:53 UTC
(In reply to comment #11)
> José, before I set up a virtualbox install of Ubuntu 10.04, could you please
> get me a debug.out? I'm hoping that it will shed some light on what event might
> be triggering the hang.
I'll attach .
> 
> In addition:
> * Are you using gnome-speech or speech-dispatcher?
openTTS and speech-dispatcher
> * When the problem occurs, can you quit Orca via 'orca --forcequit' and then
> start Orca?
I can kkill orca using --force-quit but when I restart orca i here only the wellcome message.

Looking in the debug I found that orca starts to process an event but does not finish the process.

DEQUEUED EVENT object:text-changed:delete <----------

vvvvv PROCESS OBJECT EVENT object:text-changed:delete vvvvv
OBJECT EVENT: object:text-changed:delete               detail=(0,11,Not Playing)
---------> QUEUEING EVENT object:text-changed:insert
---------> QUEUEING EVENT object:property-change:accessible-name
---------> QUEUEING EVENT window:create
---------> QUEUEING EVENT object:children-changed:remove
Looking for script at orca-scripts.main.py...
...could not find orca-scripts.main.py
Looking for script at scripts.main.py...
...could not find scripts.main.py
Looking for script at scripts.apps.main.py...
...could not find scripts.apps.main.py
Looking for script at scripts.toolkits.main.py...
...could not find scripts.toolkits.main.py
NEW SCRIPT: main (module=orca.default)
---------> QUEUEING EVENT window:activate
---------> QUEUEING EVENT object:state-changed:active
---------> QUEUEING EVENT object:property-change:accessible-name
---------> QUEUEING EVENT focus:
---------> QUEUEING EVENT object:text-caret-moved
---------> QUEUEING EVENT object:text-changed:insert

I have not found in the debug file the processing of these events.
A loop in orca?
Thanks.
Comment 13 Joanmarie Diggs (IRC: joanie) 2010-09-03 08:27:31 UTC
(In reply to comment #12)
> (In reply to comment #11)
> > José, before I set up a virtualbox install of Ubuntu 10.04, could you please
> > get me a debug.out? I'm hoping that it will shed some light on what event might
> > be triggering the hang.
> I'll attach .

Please do. Thanks!
 
> Looking in the debug I found that orca starts to process an event but does not
> finish the process.
> 
> DEQUEUED EVENT object:text-changed:delete <----------
> 
> vvvvv PROCESS OBJECT EVENT object:text-changed:delete vvvvv
> OBJECT EVENT: object:text-changed:delete               detail=(0,11,Not
> Playing)
> ---------> QUEUEING EVENT object:text-changed:insert
> ---------> QUEUEING EVENT object:property-change:accessible-name
> ---------> QUEUEING EVENT window:create
> ---------> QUEUEING EVENT object:children-changed:remove
> Looking for script at orca-scripts.main.py...
> ...could not find orca-scripts.main.py
> Looking for script at scripts.main.py...
> ...could not find scripts.main.py
> Looking for script at scripts.apps.main.py...
> ...could not find scripts.apps.main.py
> Looking for script at scripts.toolkits.main.py...
> ...could not find scripts.toolkits.main.py
> NEW SCRIPT: main (module=orca.default)
> ---------> QUEUEING EVENT window:activate
> ---------> QUEUEING EVENT object:state-changed:active
> ---------> QUEUEING EVENT object:property-change:accessible-name
> ---------> QUEUEING EVENT focus:
> ---------> QUEUEING EVENT object:text-caret-moved
> ---------> QUEUEING EVENT object:text-changed:insert
> 
> I have not found in the debug file the processing of these events.
> A loop in orca?

Even if we were looping, we should still be queuing events -- and logging that we had done so. But I won't know until I can reproduce it and/or track it down. Therefore the debug.out would be quite helpful. And if that doesn't do it. I'll install Lucid.
Comment 14 Jose Vilmar Estacio de Souza 2010-09-03 09:23:18 UTC
Created attachment 169411 [details]
debug output while running Rhythmbox

I am sorry, I forgot to send the debug file. I think  I'm getting old.
Comment 15 Joanmarie Diggs (IRC: joanie) 2010-09-06 02:07:31 UTC
(In reply to comment #14)
> Created an attachment (id=169411) [details]
> debug output while running Rhythmbox
> 
> I am sorry, I forgot to send the debug file. I think  I'm getting old.

I know I am. <grin>  So forgive me as I ask what might seem like a senile question.

I'm looking at the traceback that begins with:

  • File "/data/software/orca/dev/lib/python2.6/site-packages/orca/orca.py", line 2236 in main
    start(pyatspi.Registry) # waits until we stop the registry

When there is an exception there, the fix I checked in for this bug should now cause us to do a much more forceful kill, using signal 9 -- and not using signal 15 as your debug.out indicates we are using. Therefore, would you mind verifying with Orca from master this problem is still persists? If so, I will create a debugging patch to see if we can figure out where things are failing. Thanks!
Comment 16 Joanmarie Diggs (IRC: joanie) 2010-10-22 09:39:37 UTC
José, can you still reproduce this problem?
Comment 17 Jose Vilmar Estacio de Souza 2010-10-22 11:58:55 UTC
(In reply to comment #16)
> José, can you still reproduce this problem?

After I installed Maverick, the problem seems to have gone.
Comment 18 Joanmarie Diggs (IRC: joanie) 2010-10-22 12:46:04 UTC
(In reply to comment #17)
> (In reply to comment #16)
> > José, can you still reproduce this problem?
> 
> After I installed Maverick, the problem seems to have gone.

Okie dokie. Based on that, I'm going to go ahead and close this bug. If you later on find another instance where Orca just won't die, please open a new bug.