Closed Bug 632025 Opened 13 years ago Closed 7 years ago

intermittent failure of events/test_selection.html on linux

Categories

(Core :: Disability Access APIs, defect)

x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: fherrera, Unassigned)

References

(Blocks 1 open bug)

Details

When running the whole a11y mochitest suite under linux I get timeout failure for events/test_selection.html:

(firefox-bin:2116): Gtk-CRITICAL **: IA__gtk_clipboard_set_with_data: assertion `targets != NULL' failed
527 ERROR TEST-UNEXPECTED-FAIL | chrome://mochitests/content/a11y/accessible/events/test_selection.html | Test timed out.

however if I run that single test it pass ok.
This is the relevant backtrace:

#6  0x02e8189a in gtk_clipboard_set_with_data () from /usr/lib/libgtk-x11-2.0.so.0
#7  0x011d2eb9 in nsClipboard::SetData (this=0xa1f7ff10, aTransferable=0xa22a57a0, aOwner=0x0, aWhichClipboard=0) at /home/fer/code/mozilla/widget/src/gtk2/nsClipboard.cpp:265
#8  0x049f8cce in SelectionCopyHelper (aSel=0xaa1739c0, aDoc=0xa7269000, doPutOnClipboard=1, aClipboardID=0, aFlags=524288, aTransferable=0x0) at /home/fer/code/mozilla/content/base/src/nsCopySupport.cpp:272
#9  0x049f8ddf in nsCopySupport::HTMLCopy (aSel=0xaa1739c0, aDoc=0xa7269000, aClipboardID=0) at /home/fer/code/mozilla/content/base/src/nsCopySupport.cpp:290
#10 0x048464ac in nsAutoCopyListener::NotifySelectionChanged (this=0xb23f3ba0, aDoc=0xa72690f8, aSel=0xaa1739c0, aReason=4) at /home/fer/code/mozilla/layout/generic/nsSelection.cpp:6079
#11 0x048455eb in nsTypedSelection::NotifySelectionListeners (this=0xaa1739c0) at /home/fer/code/mozilla/layout/generic/nsSelection.cpp:5786
#12 0x0483b898 in nsFrameSelection::NotifySelectionListeners (this=0xa71b28a0, aType=1) at /home/fer/code/mozilla/layout/generic/nsSelection.cpp:2299
#13 0x0483aca6 in nsFrameSelection::SetMouseDownState (this=0xa71b28a0, aState=0) at /home/fer/code/mozilla/layout/generic/nsSelection.cpp:1964
#14 0x047d2ff7 in nsFrame::HandleRelease (this=0xa5f656f8, aPresContext=0xa726a400, aEvent=0xbfa1ffa8, aEventStatus=0xbfa1f974) at /home/fer/code/mozilla/layout/generic/nsFrame.cpp:2610
#15 0x047d152b in nsFrame::HandleEvent (this=0xa5f656f8, aPresContext=0xa726a400, aEvent=0xbfa1ffa8, aEventStatus=0xbfa1f974) at /home/fer/code/mozilla/layout/generic/nsFrame.cpp:1856


where:

263	    // Set getcallback and request to store data after an application exit
264	    if (gtk_clipboard_set_with_data(gtkClipboard, gtkTargets, numTargets, 
265	                                    clipboard_get_cb, clipboard_clear_cb, this))


(gdb) p gtkTargets
$1 = (GtkTargetEntry *) 0x0
(gdb) p numTargets
$2 = 0
(gdb) p list
$3 = (GtkTargetList *) 0xa2356ec0
(gdb) p *list
$4 = {
  list = 0x0, 
  ref_count = 1
}
Does accessibility show up further in the stack? This might be a plain old widget bug. If we can get a good reduced test case, let's do that and triage over to widget.
No there is nothing related to a11y here. This is the log when it's run as a single test:

Event queue:
  invoke:  'option@id='onions' node'  added to selection

registered: event type: selection within, target: [ 'select@id='toppings' node' , role: listbox, address: 0xa438dc40]

registered: event type: selection add, target: [ 'option@id='onions' node' , role: listbox option, name: 'onions', address: 0xa8fd8700]

Event type: selection within. Target: [ 'select@id='toppings' node' , role: listbox, address: 0xa438dc40]. Listeners count: 1

*****
EQ matched: selection within
*****

Event type: selection add. Target: [ 'option@id='onions' node' , role: listbox option, name: 'onions', address: 0xa8fd8700]. Listeners count: 1

*****
EQ matched: selection add
*****


and this is when running the whole events/* tests:
Event queue:
  invoke:  'option@id='onions' node'  added to selection

registered: event type: selection within, target: [ 'select@id='toppings' node' , role: listbox, address: 0xa3717830]

registered: event type: selection add, target: [ 'option@id='onions' node' , role: listbox option, name: 'onions', address: 0xb11eed60]
WARNING: IA__gtk_clipboard_set_with_data: assertion `targets != NULL' failed: 'glib warning', file /home/fer/code/mozilla/toolkit/xre/nsSigHandlers.cpp, line
 193

(firefox-bin:4182): Gtk-CRITICAL **: IA__gtk_clipboard_set_with_data: assertion `targets != NULL' failed

Event type: text caret moved. Target: [ 'div node' , role: section, address: 0xa4ddb820]

Event type: text selection changed. Target: [ 'div node' , role: section, address: 0xa4ddb820]

Event type: state change. Target: [ 'toolbarbutton@id='urlbar-reload-button' node' , role: pushbutton, name: 'Location', address: 0xa35f4dd0]
Skipping the gtk_clipboard_set_with_data call when targets is NULL would silence the assertion message, but wouldn't change behavior and so wouldn't help with the timeout.
Depends on: 546387
test is enabled on linux, closing as wfm
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.