Closed Bug 1148369 Opened 9 years ago Closed 9 years ago

"invalid 'in' operand colState" when switching folders

Categories

(Thunderbird :: Folder and Message Lists, defect)

x86
Windows XP
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
Thunderbird 40.0

People

(Reporter: aceman, Assigned: neil)

References

Details

Attachments

(2 files)

I get this exception when swithing into SOME of my columns on TB trunk.

Error: invalid 'in' operand colState
Source File: chrome://messenger/content/folderDisplay.js
Line: 598

The code is like this:
if (colChild.id in aColumnStates) {
   let colState = aColumnStates[colChild.id];
   if ("visible" in colState)               <--- error
      shouldBeHidden = !colState.visible;

May 'colState' be null or something that can't be queried with "in" operand?
May this be something caused by bug 36489 where a new column ID was added?
I think the problem might be to do with the default column states for a folder.

When you visit a folder for the first time, it inherits its settings from the Inbox. When you visit the folder again with a correspondent column build, the code tries to upgrade the settings. To do this, it checks whether the correspondent column would be shown by default in this folder. However, the default for a folder is to inherit the settings from the Inbox, which fools the upgrade code.

I assume that you don't see this message for:
* The Inbox itself
* The Drafts, Outbox, Sent, or Tamplates folder
* A saved search folder
* A news folder

If you open a folder in which the error occurs, what is the result of this code:
JSON.stringify(top.opener.gFolderDisplay._getDefaultColumnsForCurrentFolder())
Attached patch Proposed patchSplinter Review
Attachment #8584882 - Flags: feedback?(acelists)
Comment on attachment 8584882 [details] [diff] [review]
Proposed patch

Review of attachment 8584882 [details] [diff] [review]:
-----------------------------------------------------------------

When I added the bracket as described below I got no longer the original error into console.

::: mail/base/content/folderDisplay.js
@@ +690,5 @@
>     */
>    _restoreColumnStates: function FolderDisplayWidget__restoreColumnStates() {
>      if (this._savedColumnStates) {
>        // upgrade column states that don't have a correspondent column
> +      if (!("correspondentCol" in this._savedColumnStates))

There probably needs to be a { at the end as otherwise the whole file is hosed syntactically.
Attachment #8584882 - Flags: feedback?(acelists) → feedback+
(In reply to aceman from comment #3)
> There probably needs to be a {

Sorry about that. I forgot to actually try the fix out after updating and fixing the merge conflict.
I was about to post a bug regarding this 
TypeError "invalid 'in' operand colState".

Actually, this bug seems to cause test failures in |make mozmill| test suite run.
I am quoting the memo which I was about to file
in the following so that if Neil can confirm if the proposed patch is likely to solve the issues in |make mozmill| run.

Or should I file a separate bug?

TIA

---

C-C TB: TypeError: invalid 'in' operand colState"

Staring on March 29th (after source refresh), I noticed the following
EXCEPTIONs and new TypeError
during local runs of |make mozmill| test suite.

I excerpt the 6 EXCEPTION lines.

(1)
SUMMARY-UNEXPECTED-FAIL | test-opening-messages-without-a-backing-view.js | test-opening-messages-without-a-backing-view.js::test_open_multiple_messages_without_backing_views_in_tabs
  EXCEPTION: Timeout trying to enter folder mailbox://nobody@Local%20Folders/OpeningMessagesNoBackingViewA

(2)
SUMMARY-UNEXPECTED-FAIL | test-opening-messages-without-a-backing-view.js | test-opening-messages-without-a-backing-view.js::test_open_message_without_backing_view_in_new_window
  EXCEPTION: Timeout trying to enter folder mailbox://nobody@Local%20Folders/OpeningMessagesNoBackingViewA

(3)
SUMMARY-UNEXPECTED-FAIL | test-opening-messages-without-a-backing-view.js | test-opening-messages-without-a-backing-view.js::test_open_message_without_backing_view_in_existing_window
  EXCEPTION: Timeout trying to enter folder mailbox://nobody@Local%20Folders/OpeningMessagesNoBackingViewA

(4)
SUMMARY-UNEXPECTED-FAIL | test-opening-messages-without-a-backing-view.js | test-opening-messages-without-a-backing-view.js::test_open_multiple_messages_without_backing_views_in_tabs_filtered
  EXCEPTION: Timeout trying to enter folder mailbox://nobody@Local%20Folders/OpeningMessagesNoBackingViewA

(5)

SUMMARY-UNEXPECTED-FAIL | test-opening-messages-without-a-backing-view.js | test-opening-messages-without-a-backing-view.js::test_open_message_without_backing_view_in_new_window_filtered
  EXCEPTION: Timeout trying to enter folder mailbox://nobody@Local%20Folders/OpeningMessagesNoBackingViewA


(6)
SUMMARY-UNEXPECTED-FAIL | test-opening-messages-without-a-backing-view.js | test-opening-messages-without-a-backing-view.js::test_open_message_without_backing_view_in_existing_window_filtered
  EXCEPTION: Timeout trying to enter folder mailbox://nobody@Local%20Folders/OpeningMessagesNoBackingViewA


I think at least some of the failures are related to
sytnax/runtime errors reported about "TypeError: invalid 'in' operand
colState" which precedes the tests that caused EXCEPTION.

e.g.: TypeError: This is the first occurence in the log.

--- begin quote ---

TypeError: invalid 'in' operand colState
-- Exception object --
*
-- Stack Trace --
FolderDisplayWidget.prototype.setColumnStates@chrome://messenger/content/folderDisplay.js:598:1
FolderDisplayWidget__restoreColumnStates@chrome://messenger/content/folderDisplay.js:717:7
FolderDisplayWidget_makeActive@chrome://messenger/content/folderDisplay.js:1666:7
mailTabType.modes.message.openTab@chrome://messenger/content/mailTabs.js:380:11
openTab@chrome://messenger/content/tabmail.xml:559:1
MailUtils_displayMessages@resource:///modules/MailUtils.js:194:11
MailUtils_displayMessage@resource:///modules/MailUtils.js:119:5
test_open_single_message_without_backing_view_in_tab@resource://mozmill/modules/frame.js -> file:///REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js:56:3
Runner.prototype.wrapper@resource://mozmill/modules/frame.js:585:9
Runner.prototype._runTestModule@resource://mozmill/modules/frame.js:655:9
Runner.prototype.runTestModule@resource://mozmill/modules/frame.js:701:3
Runner.prototype.runTestDirectory@resource://mozmill/modules/frame.js:525:7
runTestDirectory@resource://mozmill/modules/frame.js:707:3
Bridge.prototype._execFunction@resource://jsbridge/modules/server.js:179:10
Bridge.prototype.execFunction@resource://jsbridge/modules/server.js:183:16
@resource://jsbridge/modules/server.js:283:1
Session.prototype.receive@resource://jsbridge/modules/server.js:283:3
AsyncRead.prototype.onDataAvailable@resource://jsbridge/modules/server.js:88:3
--- end quote ---

I notice that this TypeError occurs twice in a series of tests that are
executed back to back, and after the error occurs, we see the tests that caused
exception above. I put the number (1)-(6) at the beginning of line of
the start of tests that caused the exception as noted above.

The following output is created by
egrep "(TEST-START|TEST-PASS|TEST-UN|TypeError: invalid 'in' operand colState)" log615-mozmill-original-ASAN.txt

--- begin quote ---
    ...

    TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test_open_single_message_without_backing_view_in_tab
(*) TypeError: invalid 'in' operand colState
    TEST-UNEXPECTED-FAIL | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test-opening-messages-without-a-backing-view.js::test_open_single_message_without_backing_view_in_tab
(1) TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test_open_multiple_messages_without_backing_views_in_tabs
    TEST-UNEXPECTED-FAIL | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test-opening-messages-without-a-backing-view.js::test_open_multiple_messages_without_backing_views_in_tabs
(2) TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test_open_message_without_backing_view_in_new_window
    TEST-UNEXPECTED-FAIL | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test-opening-messages-without-a-backing-view.js::test_open_message_without_backing_view_in_new_window
(3) TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test_open_message_without_backing_view_in_existing_window
    TEST-UNEXPECTED-FAIL | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test-opening-messages-without-a-backing-view.js::test_open_message_without_backing_view_in_existing_window
    TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test_filter_out_all_messages
    TEST-UNEXPECTED-FAIL | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test-opening-messages-without-a-backing-view.js::test_filter_out_all_messages
    TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test_open_single_message_without_backing_view_in_tab_filtered
(*) TypeError: invalid 'in' operand colState
    TEST-UNEXPECTED-FAIL | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test-opening-messages-without-a-backing-view.js::test_open_single_message_without_backing_view_in_tab_filtered
(4) TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test_open_multiple_messages_without_backing_views_in_tabs_filtered
    TEST-UNEXPECTED-FAIL | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test-opening-messages-without-a-backing-view.js::test_open_multiple_messages_without_backing_views_in_tabs_filtered
(5) TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test_open_message_without_backing_view_in_new_window_filtered
    TEST-UNEXPECTED-FAIL | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test-opening-messages-without-a-backing-view.js::test_open_message_without_backing_view_in_new_window_filtered
(6) TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test_open_message_without_backing_view_in_existing_window_filtered
    TEST-UNEXPECTED-FAIL | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test-opening-messages-without-a-backing-view.js::test_open_message_without_backing_view_in_existing_window_filtered
    ...
--- end quote

As for
the TypeError:, I see a few more appearances and they seem to cause
failure of tests as in the following.
I wonder if I should file another bug for them.

    TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | test_tab_reorder_window
(*) JavaScript error: chrome://messenger/content/folderDisplay.js, line 598: TypeError: invalid 'in' operand colState
    TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | teardownTest
    TEST-PASS | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | test-tabmail-dragndrop.js::teardownTest
    TEST-UNEXPECTED-FAIL | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | test-tabmail-dragndrop.js::test_tab_reorder_window
    TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | test_tab_reorder_detach
(*) JavaScript error: chrome://messenger/content/folderDisplay.js, line 598: TypeError: invalid 'in' operand colState
    TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | teardownTest
    TEST-PASS | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | test-tabmail-dragndrop.js::teardownTest
    TEST-UNEXPECTED-FAIL | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | test-tabmail-dragndrop.js::test_tab_reorder_detach
    TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | test_tab_undo
(*) JavaScript error: chrome://messenger/content/folderDisplay.js, line 598: TypeError: invalid 'in' operand colState
    TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | teardownTest
    TEST-PASS | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | test-tabmail-dragndrop.js::teardownTest
    TEST-UNEXPECTED-FAIL | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | test-tabmail-dragndrop.js::test_tab_undo
    TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | test_tab_recentlyClosed
(*) JavaScript error: chrome://messenger/content/folderDisplay.js, line 598: TypeError: invalid 'in' operand colState
    TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | teardownTest
    TEST-PASS | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | test-tabmail-dragndrop.js::teardownTest
    TEST-UNEXPECTED-FAIL | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | test-tabmail-dragndrop.js::test_tab_recentlyClosed

I have not seen these errors before.
So this is fairly new.

TIA
Well, I tried to see if other people's tryserver runs show the same issues, but
mozmill has not been run on tryserver due to configuration issues, I think.
Attached patch Proposed patchSplinter Review
Attachment #8589807 - Flags: review?(mkmelin+mozilla)
It seems that even with the patch here, I see additional errors.

I picked up only interesting parts from the output of
egrep "(^TEST-|TypeError: invalid 'in' operand colState)" log629-mozmill-asan.txt


TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test_open_single_message_without_backing_view_in_tab
TypeError: invalid 'in' operand colState
TEST-UNEXPECTED-FAIL | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test-opening-messages-without-a-backing-view.js::test_open_single_message_without_backing_view_in_tab
TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test_open_multiple_messages_without_backing_views_in_tabs
TEST-UNEXPECTED-FAIL | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test-opening-messages-without-a-backing-view.js::test_open_multiple_messages_without_backing_views_in_tabs
TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test_open_message_without_backing_view_in_new_window
TEST-UNEXPECTED-FAIL | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test-opening-messages-without-a-backing-view.js::test_open_message_without_backing_view_in_new_window
TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test_open_message_without_backing_view_in_existing_window
TEST-UNEXPECTED-FAIL | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test-opening-messages-without-a-backing-view.js::test_open_message_without_backing_view_in_existing_window
TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test_filter_out_all_messages
TEST-UNEXPECTED-FAIL | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test-opening-messages-without-a-backing-view.js::test_filter_out_all_messages
TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test_open_single_message_without_backing_view_in_tab_filtered
TypeError: invalid 'in' operand colState
TEST-UNEXPECTED-FAIL | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test-opening-messages-without-a-backing-view.js::test_open_single_message_without_backing_view_in_tab_filtered
TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test_open_multiple_messages_without_backing_views_in_tabs_filtered
TEST-UNEXPECTED-FAIL | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test-opening-messages-without-a-backing-view.js::test_open_multiple_messages_without_backing_views_in_tabs_filtered
TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test_open_message_without_backing_view_in_new_window_filtered
TEST-UNEXPECTED-FAIL | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test-opening-messages-without-a-backing-view.js::test_open_message_without_backing_view_in_new_window_filtered
TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test_open_message_without_backing_view_in_existing_window_filtered
TEST-UNEXPECTED-FAIL | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test-opening-messages-without-a-backing-view.js::test_open_message_without_backing_view_in_existing_window_filtered
TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test_cleanup
TEST-PASS | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test-opening-messages-without-a-backing-view.js::test_cleanup

(note the following TypeError did not cause test failure IMMEDIATELY,
but failure occurs a little later.)

TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | test_tab_reorder_window
JavaScript error: chrome://messenger/content/folderDisplay.js, line 598: TypeError: invalid 'in' operand colState
TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | teardownTest
TEST-PASS | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | test-tabmail-dragndrop.js::teardownTest
TEST-UNEXPECTED-FAIL | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | test-tabmail-dragndrop.js::test_tab_reorder_window
TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | test_tab_reorder_detach
JavaScript error: chrome://messenger/content/folderDisplay.js, line 598: TypeError: invalid 'in' operand colState
TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | teardownTest
TEST-PASS | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | test-tabmail-dragndrop.js::teardownTest
TEST-UNEXPECTED-FAIL | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | test-tabmail-dragndrop.js::test_tab_reorder_detach
TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | test_tab_undo
JavaScript error: chrome://messenger/content/folderDisplay.js, line 598: TypeError: invalid 'in' operand colState
TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | teardownTest
TEST-PASS | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | test-tabmail-dragndrop.js::teardownTest
TEST-UNEXPECTED-FAIL | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | test-tabmail-dragndrop.js::test_tab_undo
TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | test_tab_recentlyClosed
JavaScript error: chrome://messenger/content/folderDisplay.js, line 598: TypeError: invalid 'in' operand colState
TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | teardownTest
TEST-PASS | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | test-tabmail-dragndrop.js::teardownTest
TEST-UNEXPECTED-FAIL | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | test-tabmail-dragndrop.js::test_tab_recentlyClosed
TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | teardownModule
TEST-PASS | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | test-tabmail-dragndrop.js::teardownModule



(Note, though, this patch helps to eliminate some errors I have seen definitely.
For example, the extra/unrelated bugs I mentioned in the following bugzilla entries were gone.
Bug 1150073 - C-C TB: Exception: Found visible column 'correspondentCol' but was expecting 'recipientCol'!)
Ooops, sorry.
Please disregard the message above.
The patch was not properly applied locally: manual 0peration error.
(In reply to ISHIKAWA, Chiaki from comment #20)
> Ooops, sorry.
> Please disregard the message above.
> The patch was not properly applied locally: manual 0peration error.

The patch FIXED the problems. No more TypeError: invalid 'in' operand colState.

TIA
(In reply to ISHIKAWA, Chiaki from comment #21)
> (In reply to ISHIKAWA, Chiaki from comment #20)
> > Ooops, sorry.
> > Please disregard the message above.
> > The patch was not properly applied locally: manual 0peration error.
> 
> The patch FIXED the problems. No more TypeError: invalid 'in' operand
> colState.
> 
> TIA

Except that we now see a different problems of the same type.
I think we hit this as we proceed further.

JavaScript error: chrome://messenger/content/folderDisplay.js, line 697: TypeError: this._savedColumnStates.correspondentCol is undefined


Relevant log lines: I picked up TEST- (TEST-START, TEST-PASS, TEST-UNEXPECTED) and the error lines.
The above error may trigger an avalanche of failures.
(Funny, the file and line # are missing. But they all come from the same place as noted above.)

     TEST-PASS | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test-opening-messages-without-a-backing-view.js::setupModule
    TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test_open_single_message_without_backing_view_in_tab
*   TypeError: this._savedColumnStates.correspondentCol is undefined
*   TEST-UNEXPECTED-FAIL | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test-opening-messages-without-a-backing-view.js::test_open_single_message_without_backing_view_in_tab
    TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test_open_multiple_messages_without_backing_views_in_tabs
*   TEST-UNEXPECTED-FAIL | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test-opening-messages-without-a-backing-view.js::test_open_multiple_messages_without_backing_views_in_tabs
    TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test_open_message_without_backing_view_in_new_window
*   TEST-UNEXPECTED-FAIL | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test-opening-messages-without-a-backing-view.js::test_open_message_without_backing_view_in_new_window
    TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test_open_message_without_backing_view_in_existing_window
*   TEST-UNEXPECTED-FAIL | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test-opening-messages-without-a-backing-view.js::test_open_message_without_backing_view_in_existing_window
    TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test_filter_out_all_messages
*   TEST-UNEXPECTED-FAIL | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test-opening-messages-without-a-backing-view.js::test_filter_out_all_messages
    TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test_open_single_message_without_backing_view_in_tab_filtered
*   TypeError: this._savedColumnStates.correspondentCol is undefined
*   TEST-UNEXPECTED-FAIL | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test-opening-messages-without-a-backing-view.js::test_open_single_message_without_backing_view_in_tab_filtered
    TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test_open_multiple_messages_without_backing_views_in_tabs_filtered
*   TEST-UNEXPECTED-FAIL | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test-opening-messages-without-a-backing-view.js::test_open_multiple_messages_without_backing_views_in_tabs_filtered
    TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test_open_message_without_backing_view_in_new_window_filtered
*   TEST-UNEXPECTED-FAIL | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test-opening-messages-without-a-backing-view.js::test_open_message_without_backing_view_in_new_window_filtered
    TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test_open_message_without_backing_view_in_existing_window_filtered
*   TEST-UNEXPECTED-FAIL | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test-opening-messages-without-a-backing-view.js::test_open_message_without_backing_view_in_existing_window_filtered
    TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test_cleanup
    TEST-PASS | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test-opening-messages-without-a-backing-view.js::test_cleanup
    TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | teardownModule
    TEST-PASS | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-opening-messages-without-a-backing-view.js | test-opening-messages-without-a-backing-view.js::teardownModule
    TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-message-pane-visibility.js | setupModule
    TEST-PASS | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-message-pane-visibility.js | test-message-pane-visibility.js::setupModule


    TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-pane-focus.js | test_between_tab_and_single_message
    TEST-PASS | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-pane-focus.js | test-pane-focus.js::test_between_tab_and_single_message
    TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-pane-focus.js | test_between_tab_and_multi_message
    TEST-PASS | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-pane-focus.js | test-pane-focus.js::test_between_tab_and_multi_message
    TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-pane-focus.js | test_after_delete
    TEST-PASS | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-pane-focus.js | test-pane-focus.js::test_after_delete
    TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-pane-focus.js | teardownModule
    TEST-PASS | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-display/test-pane-focus.js | test-pane-focus.js::teardownModule
*   TEST-UNEXPECTED-FAIL | (runtestlist.py) | Exited with code 1 during directory run
    TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-pane/test-folder-names-in-recent-mode.js | setupModule
    TEST-PASS | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/folder-pane/test-folder-names-in-recent-mode.js | test-folder-names-in-recent-mode.js::setupModule


    TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | test_tab_reorder_tabbar
    TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | teardownTest
    TEST-PASS | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | test-tabmail-dragndrop.js::teardownTest
    TEST-PASS | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | test-tabmail-dragndrop.js::test_tab_reorder_tabbar
    TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | test_tab_reorder_window
*   JavaScript error: chrome://messenger/content/folderDisplay.js, line 697: TypeError: this._savedColumnStates.correspondentCol is undefined
    TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | teardownTest
    TEST-PASS | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | test-tabmail-dragndrop.js::teardownTest
*   TEST-UNEXPECTED-FAIL | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | test-tabmail-dragndrop.js::test_tab_reorder_window
    TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | test_tab_reorder_detach
*   JavaScript error: chrome://messenger/content/folderDisplay.js, line 697: TypeError: this._savedColumnStates.correspondentCol is undefined
    TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | teardownTest
    TEST-PASS | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | test-tabmail-dragndrop.js::teardownTest
*   TEST-UNEXPECTED-FAIL | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | test-tabmail-dragndrop.js::test_tab_reorder_detach
    TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | test_tab_undo
*   JavaScript error: chrome://messenger/content/folderDisplay.js, line 697: TypeError: this._savedColumnStates.correspondentCol is undefined
    TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | teardownTest
    TEST-PASS | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | test-tabmail-dragndrop.js::teardownTest
*   TEST-UNEXPECTED-FAIL | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | test-tabmail-dragndrop.js::test_tab_undo
    TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | test_tab_recentlyClosed
*   JavaScript error: chrome://messenger/content/folderDisplay.js, line 697: TypeError: this._savedColumnStates.correspondentCol is undefined
    TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | teardownTest
    TEST-PASS | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | test-tabmail-dragndrop.js::teardownTest
*   TEST-UNEXPECTED-FAIL | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | test-tabmail-dragndrop.js::test_tab_recentlyClosed
    TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | teardownModule
    TEST-PASS | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-dragndrop.js | test-tabmail-dragndrop.js::teardownModule
    TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-closing.js | setupModule
    TEST-PASS | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/tabmail/test-tabmail-closing.js | test-tabmail-closing.js::setupModule


(Hmm. Strange. It seems as if mozmill sometimes runs two tests at a time? Oh, one of them is alwys teardown module?)

TIA
Ah no, bug 36489 is not in TB38 :)
Assignee: nobody → neil
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
I'd love to fix that error but I have no idea how to reproduce it in the UI.
(In reply to neil@parkwaycc.co.uk from comment #24)
> I'd love to fix that error but I have no idea how to reproduce it in the UI.

I will see if I can.
Blocks: 1152796

(In reply to ISHIKAWA, Chiaki from comment #25)
> (In reply to neil@parkwaycc.co.uk from comment #24)
> > I'd love to fix that error but I have no idea how to reproduce it in the UI.
> 
> I will see if I can.

It is a different bug, and since Neil mentioned it may not be easy to reproduce via UI,
I created a different bugzilla
bug 1152796
Comment on attachment 8589807 [details] [diff] [review]
Proposed patch

Review of attachment 8589807 [details] [diff] [review]:
-----------------------------------------------------------------

::: mail/base/content/folderDisplay.js
@@ +482,5 @@
>     * Either inherit the column state of another folder or use heuristics to
>     *  figure out the best column state for the current folder.
>     */
>    _getDefaultColumnsForCurrentFolder:
> +      function FolderDisplayWidget__getDefaultColumnsForCurrentFolder(doNotInherit) {

nit: we use the "a" naming here, aDoNotInherit
also, we can drop the function naming while you're here... that's not very useful anymore
Attachment #8589807 - Flags: review?(mkmelin+mozilla) → review+
Neil, will you update the patch so it can be checked in?
(In reply to aceman from comment #28)
> Neil, will you update the patch so it can be checked in?

I was waiting for the tree to open (although I was out playing chess last night so I wasn't able to do it then).
Oh, you fix it while pushing :) So the tree is open now.
Pushed comm-central changeset f485c43dcadb.

(In reply to aceman from comment #30)
> Oh, you fix it while pushing :)

Yet another reason not to push my patches for me ;-)
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → Thunderbird 40.0
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: