[cl-weblocks-ticket] #44: ajax isearch will sometimes drop a callback in Firefox.

cl-weblocks cl-weblocks-devel at common-lisp.net
Wed Aug 1 12:04:54 UTC 2007


#44: ajax isearch will sometimes drop a callback in Firefox.
-------------------------------+--------------------------------------------
 Reporter:  anonymous          |       Owner:  sakhmechet
     Type:  defect             |      Status:  new       
 Priority:  critical           |   Milestone:            
Component:  weblocks           |     Version:            
 Keywords:  prototype firefox  |  
-------------------------------+--------------------------------------------
 Sometimes, at least when a table is populated with more data than in the
 default example (try creating a table with 30 rows), an exception will be
 trown by Firefox because the "status" element in an nsIXMLHttpRequest is
 being accessed.

 How to reproduce:
 Add a longer list of employees to the grid1 in application.lisp:
 {{{
  (list employee1 employee2 employee3 employee1 employee2 ...<30 more>)
 }}}

 Reduce the latency to 0.1 seconds in isearch.lisp, line 31.
 {{{
      (with-javascript "~
 new Form.Element.DelayedObserver('~A', 0.1, function(elem, value) {~
 initiateFormAction('~A', $('~A'), '~A');
 });"
 }}}

 Install firebug, and set a brakepoint at roughly line 1114 in prototype.js
 {{{
  } catch (e) {
 1114 this.dispatchException(e);   <--- breakpoint on this line.
 1115 }
 }}}

 After playing around with the isearch, you will see the following
 exception being thrown (really by the nearby success() function):
 {{{
         [Exception... "Component returned failure code: 0x80040111
 (NS_ERROR_NOT_AVAILABLE) [nsIXMLHttpRequest.status]" nsresult: "0x80040111
 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame ::
 http://foo.org:8090/pub/scripts/prototype.js :: anonymous :: line 1109"
 data: no]
 columnNumber
         0
 data
         null
 filename
         "http://foo.org:8090/pub/scripts/prototype.js"
 inner
         null
 lineNumber
         1109
 location
         JS frame :: http://foo.org:8090/pub/scripts/prototype.js ::
 anonymous :: line 1109 language=2 languageName=JavaScript
 message
         "Component returned failure code: 0x80040111
 (NS_ERROR_NOT_AVAILABLE) [nsIXMLHttpRequest.status]"
 name
         "NS_ERROR_NOT_AVAILABLE"
 result
         2147746065
 QueryInterface
         QueryInterface()
 initialize
         initialize()
 }}}

 From what I understand from random readings on the web, this can be caused
 by reading the nxIXMLHttpRequest.status in an onError handler (which does
 not seem to happen in this case), or it can happen if the ajax request is
 being aborted.

-- 
Ticket URL: <http://trac.common-lisp.net/cl-weblocks/ticket/44>
cl-weblocks <http://common-lisp.net/project/cl-weblocks>
cl-weblocks


More information about the Cl-weblocks-ticket mailing list