GNOME Bugzilla – Bug 509683
Stack trace when doing flat review on a Java application
Last modified: 2008-07-22 19:33:33 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):
+ Trace 185452
n processInputEvent consumed = self.function(script, inputEvent)
eviewCurrentCharacter self._reviewCurrentCharacter(inputEvent, clickCount)
reviewCurrentCharacter context = self.getFlatReviewContext()
etFlatReviewContext self.flatReviewContext = self.flatReviewContextClass(self)
n __init__ self.lines = self.clusterZonesByLine(self.getShowingZones(obj))
rootexts = root.queryComponent().getExtents(0)
nner raise NotImplementedError NotImplementedError
The crux of the problem is this:
+ Trace 186539
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):
+ Trace 186541
consumed = self.function(script, inputEvent)
self._reviewCurrentItem(inputEvent, targetCursorCell, clickCount)
context = self.getFlatReviewContext()
self.flatReviewContext = self.flatReviewContextClass(self)
self.lines = self.clusterZonesByLine(self.getShowingZones(obj))
zones.extend(self.getShowingZones(child))
return self.getZonesFromAccessible(root, rootexts)
accessible.queryText()
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.
(In reply to comment #2) > We shouldn't be getting that MonkeyBeans error. Eitan fixed this with pyatspi bug #512702 (thanks Eitan!)