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 509683 - Stack trace when doing flat review on a Java application
Stack trace when doing flat review on a Java application
Status: RESOLVED FIXED
Product: orca
Classification: Applications
Component: general
unspecified
Other opensolaris
: Normal normal
: 2.22.0
Assigned To: Willie Walker
Orca Maintainers
Depends on: 511625
Blocks: orca-java
 
 
Reported: 2008-01-15 16:17 UTC by Willie Walker
Modified: 2008-07-22 19:33 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Willie Walker 2008-01-15 16:17:26 UTC
System:

SunOS nvx79 5.11 snv_79 i86pc i386 i86pc Solaris
GNOME gnome-about 2.20.1
java version "1.6.0_04"
Java(TM) SE Runtime Environment (build 1.6.0_04-b10)
Java HotSpot(TM) Client VM (build 10.0-b19, mixed mode, sharing)
Orca, GAIL, ATK, AT-SPI, and java-access-bridge all from trunk.

Steps to reproduce:

Run java -jar /usr/java/demo/jfc/SwingSet2/SwingSet2.jar and Orca.  Press any of the flat review keys (e.g., KP_2).  The following error is emitted:

vvvvv PROCESS KEY PRESS EVENT KP_Down vvvvv

Traceback (most recent call last):
  • File "/usr/local/lib/python2.4/site-packages/orca/input_event.py", line 182
    n processInputEvent     consumed = self.function(script, inputEvent)
  • File "/usr/local/lib/python2.4/site-packages/orca/default.py", line 4134 in r
    eviewCurrentCharacter     self._reviewCurrentCharacter(inputEvent, clickCount)
  • File "/usr/local/lib/python2.4/site-packages/orca/default.py", line 4147 in _
    reviewCurrentCharacter     context = self.getFlatReviewContext()
  • File "/usr/local/lib/python2.4/site-packages/orca/default.py", line 3653 in g
    etFlatReviewContext     self.flatReviewContext = self.flatReviewContextClass(self)
  • File "/usr/local/lib/python2.4/site-packages/orca/flat_review.py", line 615
    n __init__     self.lines = self.clusterZonesByLine(self.getShowingZones(obj))
  • File "/usr/local/lib/python2.4/site-packages/orca/flat_review.py", line 1291 in getShowingZones
    rootexts = root.queryComponent().getExtents(0)
  • File "/usr/lib/python2.4/site-packages/pyatspi/accessible.py", line 196 in _i
    nner     raise NotImplementedError NotImplementedError

Comment 1 Willie Walker 2008-01-23 20:39:53 UTC
The crux of the problem is this:

  • File "/usr/local/lib/python2.4/site-packages/orca/flat_review.py", line 1291 in getShowingZones
    rootexts = root.queryComponent().getExtents(0)
  • File "/usr/lib/python2.4/site-packages/pyatspi/accessible.py", line 196 in _i
    nner     raise NotImplementedError NotImplementedError
The problem is that we should not be handed an application in the first place in this method. In looking at this, the getRoleName() for the object is 'application', but the getRole() is ROLE_EXTENDED. So, there's a bug in the Java access bridge.

Comment 2 Willie Walker 2008-01-23 20:58:26 UTC
Once the blocking bug is fixed, there's also a problem in flat_review.py where we are running into a LookupError when doing a queryText:

On the Java side we see things like this a lot, not just for this bug:

*** MonkeyBeans  ERROR  ***: org.GNOME.Accessibility.ApplicationImpl@127a49c: Bonobo::UnknownImpl: Negative refcount reached!

On the Orca side, we see a LookupError this when we try to do a flat review (with the patch from bug 511625 applied):

Traceback (most recent call last):
  • File "/usr/lib/python2.4/site-packages/orca/input_event.py", line 182 in processInputEvent
    consumed = self.function(script, inputEvent)
  • File "/usr/lib/python2.4/site-packages/orca/default.py", line 4044 in reviewCurrentItem
    self._reviewCurrentItem(inputEvent, targetCursorCell, clickCount)
  • File "/usr/lib/python2.4/site-packages/orca/default.py", line 4073 in _reviewCurrentItem
    context = self.getFlatReviewContext()
  • File "/usr/lib/python2.4/site-packages/orca/default.py", line 3676 in getFlatReviewContext
    self.flatReviewContext = self.flatReviewContextClass(self)
  • File "/usr/lib/python2.4/site-packages/orca/flat_review.py", line 615 in __init__
    self.lines = self.clusterZonesByLine(self.getShowingZones(obj))
  • File "/usr/lib/python2.4/site-packages/orca/flat_review.py", line 1376 in getShowingZones
    zones.extend(self.getShowingZones(child))
  • File "/usr/lib/python2.4/site-packages/orca/flat_review.py", line 1376 in getShowingZones
    zones.extend(self.getShowingZones(child))
  • File "/usr/lib/python2.4/site-packages/orca/flat_review.py", line 1376 in getShowingZones
    zones.extend(self.getShowingZones(child))
  • File "/usr/lib/python2.4/site-packages/orca/flat_review.py", line 1376 in getShowingZones
    zones.extend(self.getShowingZones(child))
  • File "/usr/lib/python2.4/site-packages/orca/flat_review.py", line 1376 in getShowingZones
    zones.extend(self.getShowingZones(child))
  • File "/usr/lib/python2.4/site-packages/orca/flat_review.py", line 1297 in getShowingZones
    return self.getZonesFromAccessible(root, rootexts)
  • File "/usr/lib/python2.4/site-packages/orca/flat_review.py", line 1084 in getZonesFromAccessible
    accessible.queryText()
  • File "/usr/lib/python2.4/site-packages/pyatspi/accessible.py", line 206 in _inner
    raise LookupError(e) LookupError

A quick hack, which works, is to trap for the LookupError.  But, something else is wrong.  We shouldn't be getting that MonkeyBeans error.
Comment 3 Willie Walker 2008-01-29 18:08:02 UTC
(In reply to comment #2)
> We shouldn't be getting that MonkeyBeans error.

Eitan fixed this with pyatspi bug #512702 (thanks Eitan!)