Closed Bug 599261 Opened 14 years ago Closed 13 years ago

xpcshell: intermittent "TEST-UNEXPECTED-FAIL | test_dontStatNoSelect.js | 1 == 2 - See following stack:"

Categories

(MailNews Core :: Networking: IMAP, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
Thunderbird 5.0b1

People

(Reporter: standard8, Assigned: Bienvenu)

References

(Depends on 1 open bug)

Details

(Keywords: intermittent-failure)

Attachments

(1 file)

Occasional random orange see on Thunderbird Mac:

TEST-UNEXPECTED-FAIL | /builds/slave/macosx-comm-central-check/build/objdir/mozilla/_tests/xpcshell/mailnews/imap/test/unit/test_dontStatNoSelect.js | test failed (with xpcshell return code: 0), see following log:
  >>>>>>>
  ### XPCOM_MEM_LEAK_LOG defined -- logging leaks to /var/folders/Dy/DycpQaEFGyGNISFo-WG6TE+++TM/-Tmp-/tmpSxOzDd/runxpcshelltests_leaks.log
TEST-INFO | (xpcshell/head.js) | test 1 pending
Directory request for: MailD that we (mailDirService.js) are not handling, leaving it to another handler.
Directory request for: MFCaF that we (mailDirService.js) are not handling, leaving it to another handler.
Directory request for: DefRt that we (mailDirService.js) are not handling, leaving it to another handler.
Directory request for: IMapMD that we (mailDirService.js) are not handling, leaving it to another handler.
AUTH PLAIN line -AHVzZXIAcGFzc3dvcmQ=-
authorize-id: --, username: -user-, password: -password-
TEST-INFO | (xpcshell/head.js) | test 2 pending
TEST-INFO | (xpcshell/head.js) | test 2 finished
TEST-INFO | (xpcshell/head.js) | running event loop
TEST-PASS | /builds/slave/macosx-comm-central-check/build/objdir/mozilla/_tests/xpcshell/mailnews/imap/test/unit/test_dontStatNoSelect.js | [testCheckStatError : 81] 1 == 1
NEXT ERROR TEST-UNEXPECTED-FAIL | /builds/slave/macosx-comm-central-check/build/objdir/mozilla/_tests/xpcshell/mailnews/imap/test/unit/test_dontStatNoSelect.js | 1 == 2 - See following stack:
JS frame :: /builds/slave/macosx-comm-central-check/build/mozilla/testing/xpcshell/head.js :: do_throw :: line 317
JS frame :: /builds/slave/macosx-comm-central-check/build/mozilla/testing/xpcshell/head.js :: do_check_eq :: line 347
JS frame :: /builds/slave/macosx-comm-central-check/build/objdir/mozilla/_tests/xpcshell/mailnews/imap/test/unit/test_dontStatNoSelect.js :: endTest :: line 111
JS frame :: ../../../../mailnews/resources/mailTestUtils.js :: anonymous :: line 450
TEST-INFO | (xpcshell/head.js) | exiting test
TEST-UNEXPECTED-FAIL | ../../../../mailnews/resources/mailTestUtils.js | 2147500036 - See following stack:
JS frame :: /builds/slave/macosx-comm-central-check/build/mozilla/testing/xpcshell/head.js :: do_throw :: line 317
JS frame :: ../../../../mailnews/resources/mailTestUtils.js :: anonymous :: line 455
TEST-INFO | (xpcshell/head.js) | exiting test
before 360448, after 348160, break 07e8f000

  <<<<<<<
Just saw this on SM windows Debug:

TEST-UNEXPECTED-FAIL | e:\builds\slave\comm-central-trunk-win32-debug-unittest-xpcshell\build\xpcshell\tests\mailnews\imap\test\unit\test_dontStatNoSelect.js | test failed (with xpcshell return code: 0), see following log:
  >>>>>>>
  ### XPCOM_MEM_LEAK_LOG defined -- logging leaks to c:\docume~1\seabld\locals~1\temp\tmpyakflb\runxpcshelltests_leaks.log
pldhash: for the table at address 0559A0E0, the given entrySize of 48 probably favors chaining over double hashing.
TEST-INFO | (xpcshell/head.js) | test 1 pending
Directory request for: SysD that we (mailDirService.js) are not handling, leaving it to another handler.
Directory request for: MailD that we (mailDirService.js) are not handling, leaving it to another handler.
Directory request for: MFCaF that we (mailDirService.js) are not handling, leaving it to another handler.
Directory request for: DefRt that we (mailDirService.js) are not handling, leaving it to another handler.
nsNativeModuleLoader::LoadModule("e:\builds\slave\comm-central-trunk-win32-debug-unittest-xpcshell\build\seamonkey\components\xpcomsample.dll") - load FAILED, rv: 80520012, error:
	<unknown; can't get error from NSPR>
WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file e:/builds/slave/comm-central-trunk-win32-debug/build/mailnews/base/src/nsMessengerWinIntegration.cpp, line 1094
WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file e:/builds/slave/comm-central-trunk-win32-debug/build/mailnews/base/src/nsMessengerWinIntegration.cpp, line 805
WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file e:/builds/slave/comm-central-trunk-win32-debug/build/mailnews/base/src/nsMessengerWinIntegration.cpp, line 1094
WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file e:/builds/slave/comm-central-trunk-win32-debug/build/mailnews/base/src/nsMessengerWinIntegration.cpp, line 805
WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file e:/builds/slave/comm-central-trunk-win32-debug/build/mailnews/base/src/nsMessengerWinIntegration.cpp, line 1094
WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file e:/builds/slave/comm-central-trunk-win32-debug/build/mailnews/base/src/nsMessengerWinIntegration.cpp, line 891
WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file e:/builds/slave/comm-central-trunk-win32-debug/build/mailnews/base/src/nsMessengerWinIntegration.cpp, line 1094
WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file e:/builds/slave/comm-central-trunk-win32-debug/build/mailnews/base/src/nsMessengerWinIntegration.cpp, line 891
WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file e:/builds/slave/comm-central-trunk-win32-debug/build/mailnews/base/src/nsMessengerWinIntegration.cpp, line 1094
WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file e:/builds/slave/comm-central-trunk-win32-debug/build/mailnews/base/src/nsMessengerWinIntegration.cpp, line 891
WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file e:/builds/slave/comm-central-trunk-win32-debug/build/mailnews/base/src/nsMessengerWinIntegration.cpp, line 1094
WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file e:/builds/slave/comm-central-trunk-win32-debug/build/mailnews/base/src/nsMessengerWinIntegration.cpp, line 891
Directory request for: IMapMD that we (mailDirService.js) are not handling, leaving it to another handler.
### ERROR: SymGetModuleInfo64: The specified module could not be found.

AUTH PLAIN line -AHVzZXIAcGFzc3dvcmQ=-
authorize-id: --, username: -user-, password: -password-
### ERROR: SymGetModuleInfo64: The specified module could not be found.

TEST-INFO | (xpcshell/head.js) | test 2 pending
### ERROR: SymGetModuleInfo64: The specified module could not be found.

TEST-INFO | (xpcshell/head.js) | test 2 finished
TEST-INFO | (xpcshell/head.js) | running event loop
TEST-PASS | e:/builds/slave/comm-central-trunk-win32-debug-unittest-xpcshell/build/xpcshell/tests/mailnews/imap/test/unit/test_dontStatNoSelect.js | [testCheckStatError : 81] 1 == 1
TEST-UNEXPECTED-FAIL | e:/builds/slave/comm-central-trunk-win32-debug-unittest-xpcshell/build/xpcshell/tests/mailnews/imap/test/unit/test_dontStatNoSelect.js | 1 == 2 - See following stack:
JS frame :: e:\builds\slave\comm-central-trunk-win32-debug-unittest-xpcshell\build\xpcshell\head.js :: do_throw :: line 317
JS frame :: e:\builds\slave\comm-central-trunk-win32-debug-unittest-xpcshell\build\xpcshell\head.js :: do_check_eq :: line 347
JS frame :: e:/builds/slave/comm-central-trunk-win32-debug-unittest-xpcshell/build/xpcshell/tests/mailnews/imap/test/unit/test_dontStatNoSelect.js :: endTest :: line 111
JS frame :: ../../../../mailnews/resources/mailTestUtils.js :: anonymous :: line 450
TEST-INFO | (xpcshell/head.js) | exiting test
TEST-UNEXPECTED-FAIL | ../../../../mailnews/resources/mailTestUtils.js | 2147500036 - See following stack:
JS frame :: e:\builds\slave\comm-central-trunk-win32-debug-unittest-xpcshell\build\xpcshell\head.js :: do_throw :: line 317
JS frame :: ../../../../mailnews/resources/mailTestUtils.js :: anonymous :: line 455
TEST-INFO | (xpcshell/head.js) | exiting test
before 360448, after 348160, break 00000000

GC allocation statistics:

object arenas (thing size 72, 56 things per arena):
           arenas before GC: 27
       new arenas before GC: 27 (100.0%)
            arenas after GC: 26 (96.3%)
                 max arenas: 27
                     things: 854
        GC cell utilization: 56.5%
   average cell utilization: 56.5%
                 max things: 854
             alloc attempts: 1498
        alloc without locks: 1471  (98.2%)

function arenas (thing size 96, 42 things per arena):
           arenas before GC: 38
       new arenas before GC: 38 (100.0%)
            arenas after GC: 37 (97.4%)
                 max arenas: 38
                     things: 1181
        GC cell utilization: 74.0%
   average cell utilization: 74.0%
                 max things: 1181
             alloc attempts: 1580
        alloc without locks: 1542  (97.6%)

short string arenas (thing size 32, 128 things per arena):
           arenas before GC: 13
       new arenas before GC: 13 (100.0%)
            arenas after GC: 13 (100.0%)
                 max arenas: 13
                     things: 1437
        GC cell utilization: 86.4%
   average cell utilization: 86.4%
                 max things: 1437
             alloc attempts: 1654
        alloc without locks: 1641  (99.2%)

string arenas (thing size 16, 256 things per arena):
           arenas before GC: 8
       new arenas before GC: 8 (100.0%)
            arenas after GC: 8 (100.0%)
                 max arenas: 8
                     things: 1250
        GC cell utilization: 61.0%
   average cell utilization: 61.0%
                 max things: 1250
             alloc attempts: 1962
        alloc without locks: 1954  (99.6%)

external_string_0 arenas (thing size 16, 256 things per arena):
           arenas before GC: 1
       new arenas before GC: 1 (100.0%)
            arenas after GC: 1 (100.0%)
                 max arenas: 1
                     things: 2
        GC cell utilization: 0.8%
   average cell utilization: 0.8%
                 max things: 2
             alloc attempts: 10
        alloc without locks: 9  (90.0%)

external_string_1 arenas (thing size 16, 256 things per arena):
           arenas before GC: 1
       new arenas before GC: 1 (100.0%)
            arenas after GC: 0 (0.0%)
                 max arenas: 1
                     things: 0
        GC cell utilization: 0.0%
   average cell utilization: 0.0%
                 max things: 0
             alloc attempts: 1
        alloc without locks: 0  (0.0%)

Never used arenas:
xml (thing size 72, 56 things per arena)
external_string_2 (thing size 16, 256 things per arena)
external_string_3 (thing size 16, 256 things per arena)
external_string_4 (thing size 16, 256 things per arena)
external_string_5 (thing size 16, 256 things per arena)
external_string_6 (thing size 16, 256 things per arena)
external_string_7 (thing size 16, 256 things per arena)

TOTAL STATS:
            bytes allocated: 348160
            total GC arenas: 88
       max allocated arenas: 88
       max allocated chunks: 1
            total GC things: 4724
        max total GC things: 4724
        GC cell utilization: 67.6%
   average cell utilization: 67.6%
allocation retries after GC: 0
             alloc attempts: 6705
        alloc without locks: 6617  (98.7%)
        allocation failures: 0
           valid lock calls: 0
         valid unlock calls: 0
      delayed tracing calls: 0
      max trace later count: 0
potentially useful GC calls: 1
  thing arenas freed so far: 3
CONSERVATIVE STACK SCANNING:
      number of stack words: 4803
      excluded, low bit set: 1108
        not withing a chunk: 3369
     not within arena range: 0
       points to free arena: 0
        excluded, wrong tag: 0
         excluded, not live: 0
            valid GC things: 326
WARNING: nsExceptionService ignoring thread destruction after shutdown: file e:/builds/slave/comm-central-trunk-win32-debug/build/mozilla/xpcom/base/nsExceptionService.cpp, line 197
nsXPConnect::CommenceShutdown()
WARNING: OOPDeinit() without successful OOPInit(): file e:/builds/slave/comm-central-trunk-win32-debug/build/mozilla/toolkit/crashreporter/nsExceptionHandler.cpp, line 1582
nsStringStats
 => mAllocCount:           5565
 => mReallocCount:          864
 => mFreeCount:            5557  --  LEAKED 8 !!!
 => mShareCount:          10035
 => mAdoptCount:            453
 => mAdoptFreeCount:        452  --  LEAKED 1 !!!

  <<<<<<<
The call to updateFolder in that test is essentially a call to UpdateFolderWithListener which already was a problem in bug 584327.

See also bug 599708 which could be a dupe of bug 580179 (just seen the latter bug).
Depends on: 619104
Summary: TEST-UNEXPECTED-FAIL | test_dontStatNoSelect.js | 1 == 2 - See following stack: → xpcshell: intermittent "TEST-UNEXPECTED-FAIL | test_dontStatNoSelect.js | 1 == 2 - See following stack:"
Attached patch proposed fixSplinter Review
I believe the issue was trying to do perform test on STATUS twice in a row, with URL's that ended up getting chained, producing a race condition. Instead of using perform test to see when the STATUS calls are finished, I just wait for us to get notified of new messages. To do this, I switched to using async_driver for the test.
Assignee: nobody → bienvenu
Attachment #520219 - Flags: review?(bugzilla)
Attachment #520219 - Flags: review?(bugzilla) → review+
fixed on trunk.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Target Milestone: --- → Thunderbird 3.3a4
Whiteboard: [orange]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: