Bug 351127 - [Table] javascript error this._rows.length is null or not an object
Summary: [Table] javascript error this._rows.length is null or not an object
Status: RESOLVED FIXED
Alias: None
Product: RAP
Classification: RT
Component: RWT (show other bugs)
Version: 1.4   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 1.5 M1   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: needinfo
Depends on:
Blocks:
 
Reported: 2011-07-04 20:29 EDT by Chris Fairhall CLA
Modified: 2011-08-02 09:10 EDT (History)
2 users (show)

See Also:


Attachments
screen shot (19.61 KB, image/jpeg)
2011-07-04 20:31 EDT, Chris Fairhall CLA
no flags Details
line 170 of this file is where the error was (194.17 KB, application/x-gzip)
2011-07-14 17:13 EDT, Chris Fairhall CLA
no flags Details
ss of firefox showing error and line number (23.79 KB, image/png)
2011-07-14 17:13 EDT, Chris Fairhall CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Fairhall CLA 2011-07-04 20:29:38 EDT
Build Identifier: 20110615-0604

At random times my tester is getting the javascript error page
"Javascript error occurred:
'this._rows.length' is null or not an object"

It seems to happen at random times on IE8 and we've found no way to reproduce it.

Our application is a fairly complex UI with many, many tables, most of them wrapped in TableViewer's 

It has only started happening with RAP 1.4 and we never got javascript errors on 1.3.2

I'm putting the blame on the Tables as we don't make much use of Trees and I don't know of any other widgets that would use a _rows property.



Reproducible: Couldn't Reproduce

Steps to Reproduce:
I wish I knew
Comment 1 Chris Fairhall CLA 2011-07-04 20:31:07 EDT
Created attachment 199080 [details]
screen shot

screenshot of IE8
Comment 2 Tim Buschtoens CLA 2011-07-05 04:47:38 EDT
A few questions that might help us isolate the problem:

- Just to make absolutely sure: You are using 1.4, *not* CVS HEAD (because there have been some heavy changes there lately.)

- You say you dont make much use of Trees - so you are still using some?

- Could you say if the error usually occurs on a interacting with a table, on interacting with another widget, or without any immediate user-interaction?

- What theme are you using? Do you use custom themeing?

- Does your application use Drag & Drop?

- Do you only use IE8, or other browser as well (without crashes)? If yes, which ones?

I have to say though that without a way to reproduce it or somehow examine it myself, its going to be very difficult to fix this.
Comment 3 Chris Fairhall CLA 2011-07-05 05:13:12 EDT
(In reply to comment #2)
> A few questions that might help us isolate the problem:
> 
> - Just to make absolutely sure: You are using 1.4, *not* CVS HEAD (because
> there have been some heavy changes there lately.)
The 1.4.0 release 
> 
> - You say you dont make much use of Trees - so you are still using some?
There is a single tree in the application, it is used as a navigator and is not constantly having its items added and removed like the tables.

> 
> - Could you say if the error usually occurs on a interacting with a table, on
> interacting with another widget, or without any immediate user-interaction
The application is basically a FormEditor with many pages, each time certain pages are changed, they have the model object they edit replaced with new ones (There may be 5 "people" objects in the model but only 1 people editor page). So in short, it happens when TableViewers have their input changed and refreshed
> 
> - What theme are you using? Do you use custom themeing?
Classic theme, nothing custom
> 
> - Does your application use Drag & Drop?
No
> 
> - Do you only use IE8, or other browser as well (without crashes)? If yes,
> which ones?
Its a corporate environment, only IE8
> 
> I have to say though that without a way to reproduce it or somehow examine it
> myself, its going to be very difficult to fix this.
I pretty much knew this would be the case but figured its better to log it than not
Comment 4 Chris Fairhall CLA 2011-07-11 18:17:03 EDT
I am no longer convinced it is the table causes this. The majority of the time it happens is when the editor is being closed. So it could be a Tree widget being disposed that's causing the problem.
Comment 5 Ivan Furnadjiev CLA 2011-07-12 01:58:06 EDT
Chris, this bug sounds to me like this one - bug 349649. Do you have a VIRTUAL table? Let as know if the patch attached to the bug 349649 solves the problem.
Comment 6 Chris Fairhall CLA 2011-07-12 02:52:27 EDT
(In reply to comment #5)
> Chris, this bug sounds to me like this one - bug 349649. Do you have a VIRTUAL
> table? Let as know if the patch attached to the bug 349649 solves the problem.

I will check when I get back to the office (my timezone is +12), but from memory we don't use any virtual trees or tables. I'll try and reproduce it in firefox to get an error console output
Comment 7 Chris Fairhall CLA 2011-07-14 17:13:13 EDT
Created attachment 199715 [details]
line 170 of this file is where the error was
Comment 8 Chris Fairhall CLA 2011-07-14 17:13:43 EDT
Created attachment 199716 [details]
ss of firefox showing error and line number
Comment 9 Chris Fairhall CLA 2011-07-14 17:14:49 EDT
Reproduced the issue. Looks to be an issue with the javascript table class. See previous attachments
Comment 10 Ivan Furnadjiev CLA 2011-07-15 01:37:12 EDT
Chris, now it's clear that the error comes from the Table widget. Any chance for a snippet to reproduce it? Could you describe some steps/actions that you perform on table to provoke the error?
Comment 11 Ivan Furnadjiev CLA 2011-07-15 01:40:08 EDT
BTW... Recently we merged Tree and Table client side implementation in CVS HEAD (Table.js no longer exists). Could you test your application against CVS HEAD and try to reproduce the error?
Comment 12 Chris Fairhall CLA 2011-07-18 18:30:50 EDT
(In reply to comment #11)
> BTW... Recently we merged Tree and Table client side implementation in CVS HEAD
> (Table.js no longer exists). Could you test your application against CVS HEAD
> and try to reproduce the error?

This has seemed to fix the problem. I'm using rap-runtime-1.5.0-N-20110716-2110.zip from hudson. 

On an unrelated note, the UICallback mechanism doesn't seem to be working as well as it used to. My ProgressMonitorDialog's aren't progressing until the user moves the window or clicks somewhere to send an event to RAP. 
I use a global UICallback which also updates a "server time" clock every minute. 
If the user doesn't create any events the progress monitor only updates every time the clock does. The clock is updated from the server via a Display.timerExec(int, Runnable).
Comment 13 Chris Fairhall CLA 2011-07-18 19:27:45 EDT
(In reply to comment #12)
> On an unrelated note, the UICallback mechanism doesn't seem to be working as
> well as it used to. My ProgressMonitorDialog's aren't progressing until the
> user moves the window or clicks somewhere to send an event to RAP. 
> I use a global UICallback which also updates a "server time" clock every
> minute. 
> If the user doesn't create any events the progress monitor only updates every
> time the clock does. The clock is updated from the server via a
> Display.timerExec(int, Runnable).

I've done further investigation and mentioned this in bug 344989
Comment 14 Ivan Furnadjiev CLA 2011-07-20 04:19:33 EDT
Chris, could you try the patch attached to the bug 349649 ? attachment 198189 [details] with 1.4? Does it fix your problem?
Comment 15 Ivan Furnadjiev CLA 2011-08-02 09:10:28 EDT
As patch is committed to v14_Maintenance branch and this issue is not reproducible with CVS HEAD I will close it as FIXED. Chris, please reopen if the issue persists.