Closed Bug 960589 Opened 10 years ago Closed 4 years ago

Excessive number of windows created during |make mozmill| test run of thunderbird (comm-central)

Categories

(Thunderbird :: Testing Infrastructure, defect)

All
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: ishikawa, Unassigned)

References

Details

Attachments

(1 file)

Problem: I noticed that during the run of |make mozmill| test of DEBUG
BUILD of thunderbird (comm-central), windows seem to be created, but
not destroyed immediately, thus leading to a very large number of live
windows during a particular test.

++DOMWINDOW == 279 ..

(This was under 64-bit Debian GNU/Linux. I have seen larger number
over 300 under 32-bit Debian GNU/Linux. I am not sure of the
difference, but maybe there are timing differences, etc.)

The largest number 279 under 64-bit linux was
observed after the following test was run.

TEST-START | /REF-COMM-CENTRAL/comm-central/mail/test/mozmill/session-store/test-session-store.js | test_restore_single_3pane_persistence_again

I think the windows were created in large numbers before.
I recall there was a post in devel-platform about excessive # of
windows created during other tests, and the eventual culling of unused
left-over windows (they are simply left around since tests did not remove them.)

I am not sure if 279 or 300+ counts as excessive, but thought I would
report this anyway.

I am quoting the relevant log as attachment.

BTW,  the particular test does not seem to close all the windows.
(As a matter of fact, it seems to start with the window # of 60, and
closing the windows down to this initial 60,
suggesting that a previous test somewhere created that many windows
and didn't bother to close them???)

Not sure if the warining/error (?) in the last part of the excerpted log
> "jum.assert", "comment": "saved state is bad so state object should be null", "value": true}
Step Pass: {"function": "jum.assert", "comment": "file should not exist", "value": true}
>

has anything to do with the excessive # of windows. I don't think so.
But, to me, that this warning/error does not seem to trip the test is more worrisome, though.

TIA
I still see some excessive number of windows created during a single test.
From an output of a log summarizer.
 ========================================
 Used DOMWINDOW
 ========================================
      1 ++DOMWINDOW == 362
      1 ++DOMWINDOW == 361
      1 ++DOMWINDOW == 360
      1 ++DOMWINDOW == 359
      1 ++DOMWINDOW == 358
      1 ++DOMWINDOW == 357
      1 ++DOMWINDOW == 356
      1 ++DOMWINDOW == 355
      1 ++DOMWINDOW == 354
      1 ++DOMWINDOW == 353
      1 ++DOMWINDOW == 352
      1 ++DOMWINDOW == 351
      1 ++DOMWINDOW == 350
      1 ++DOMWINDOW == 349
      1 ++DOMWINDOW == 348
      1 ++DOMWINDOW == 347
      1 ++DOMWINDOW == 346
      1 ++DOMWINDOW == 345
      1 ++DOMWINDOW == 344
      1 ++DOMWINDOW == 343
 ========================================

This large number of windows are created by the following test in C-C TB.
TEST-START | /NREF-COMM-CENTRAL/comm-central/mail/test/mozmill/session-store/test-session-store.js | test_clean_shutdown_session_persistence_simple

I think what happens is C-C TB creates some windows, but left them open (and possibly forgets to close?)

TIA
A few permanent errors on my local TEST PC have been eliminated and exposed more issues in hitherto un-executed tests.

There is an worst offender than the one in comment 1.

From the summary file produced by home-brew script from the log:

 ========================================
 Used DOMWINDOW
 ========================================
      1 ++DOMWINDOW == 751
      1 ++DOMWINDOW == 750
      1 ++DOMWINDOW == 749
      1 ++DOMWINDOW == 748
      1 ++DOMWINDOW == 747
      1 ++DOMWINDOW == 746
      1 ++DOMWINDOW == 745
      1 ++DOMWINDOW == 744
      1 ++DOMWINDOW == 743
      1 ++DOMWINDOW == 742
      1 ++DOMWINDOW == 741
      1 ++DOMWINDOW == 740
      1 ++DOMWINDOW == 739
      1 ++DOMWINDOW == 738
      1 ++DOMWINDOW == 737
      1 ++DOMWINDOW == 736
      1 ++DOMWINDOW == 735
      1 ++DOMWINDOW == 734
      1 ++DOMWINDOW == 733
      1 ++DOMWINDOW == 732
 ========================================
 Summary
 ========================================


This many number of windows were created by the following test.

TEST-START | /NREF-COMM-CENTRAL/comm-central/mail/test/mozmill/composition/test-multipart-related.js | test_basic_multipart_related

I think 700 clearly is something we should be able to reduce.

TIA
Still more windows created by 

TEST-START | /NREF-COMM-CENTRAL/comm-central/mail/test/mozmill/composition/test-forward-rfc822-attach.js | test_forwarding_long_html_line_as_attachment

I think the function test_forwarding_long_html_line_as_attachment itself only adds a few windows, but the
test functions WITHIN the file, test-forward-rfc822-attach.js, forgets to close the windows left and right, and we end up with this large number of DOMWINDOWS.


 ========================================
 Used DOMWINDOW
 ========================================
      1 ++DOMWINDOW == 736
      1 ++DOMWINDOW == 735
      1 ++DOMWINDOW == 734
      1 ++DOMWINDOW == 733
      1 ++DOMWINDOW == 732
      1 ++DOMWINDOW == 731
      1 ++DOMWINDOW == 730
      1 ++DOMWINDOW == 729
      2 ++DOMWINDOW == 728
      2 ++DOMWINDOW == 727
      2 ++DOMWINDOW == 726
      2 ++DOMWINDOW == 725
      3 ++DOMWINDOW == 724
      3 ++DOMWINDOW == 723
      3 ++DOMWINDOW == 722
      3 ++DOMWINDOW == 721
      3 ++DOMWINDOW == 720
      4 ++DOMWINDOW == 719
      5 ++DOMWINDOW == 718
      5 ++DOMWINDOW == 717
 ========================================
 Summary
Depends on: 1338674
I couldn't see any leftover windows created by these particular tests, when running them interactively. I also didn't see so large DOMWINDOW numbers. However, I do not think the number means there are so many top-level windows opened. Those seem to indicate some internal windows (we have inner and outer windows nowadays), representing frames or other partial window blocks.
E.g. you can have a test opening a single compose window and the DOMWINDOW numbers still count to e.g. 30. So I do not see how to find problematic tests just by looking at the DOMWINDOW numbers.
Depends on: 1338777

mozmill is gone.

Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: