Open Bug 1239896 Opened 9 years ago Updated 2 years ago

ASSERTION: attempted to open a new window with no WindowCreator: 'mWindowCreator', file mozilla/embedding/components/windowwatcher/nsWindowWatcher.cpp, line 740 ( in xpcshell-test that may generate error condition which is reported in a dialog window)

Categories

(Thunderbird :: Mail Window Front End, defect)

defect

Tracking

(Not tracked)

People

(Reporter: ishikawa, Unassigned)

References

Details

This assertion is by C-C TB during xpcshell-tests and result in many failures. (All platforms: linux, OSX and Windows.) I have been my local patches, and I did not get this a few days ago (Jan 11) and so it seems a new regression caused by changes in M-C code (?) One such instance re-created locally is as follows. LANG=C ishikawa@ip030:/NREF-COMM-CENTRAL/objdir-tb3$ LC_ALL=C ishikawa@ip030:/NREF-COMM-CENTRAL/objdir-tb3$ mach xpcshell-test mailnews/compose/test/unit/test_longLines.js make: Circular /NREF-COMM-CENTRAL/comm-central/mozilla/CLOBBER <- /NREF-COMM-CENTRAL/comm-central/mozilla/CLOBBER dependency dropped. From _tests: Kept 38627 existing; Added/updated 0; Removed 0 files and 0 directories. 0:00.36 LOG: MainThread INFO Running tests sequentially. 0:00.36 SUITE_START: MainThread 1 0:00.36 LOG: Thread-1 INFO profile dir is /tmp/firefox/xpcshellprofile 0:00.36 TEST_START: Thread-1 mailnews/compose/test/unit/test_longLines.js 0:01.52 TEST_END: Thread-1 FAIL, expected PASS xpcshell return code: -11 0:01.52 LOG: Thread-1 INFO >>>>>>> 0:01.17 LOG: Thread-1 INFO (xpcshell/head.js) | test MAIN run_test pending (1) 0:01.19 LOG: Thread-1 INFO (xpcshell/head.js) | test run_next_test 0 pending (2) 0:01.20 LOG: Thread-1 INFO (xpcshell/head.js) | test MAIN run_test finished (2) 0:01.20 LOG: Thread-1 INFO running event loop 0:01.21 LOG: Thread-1 INFO mailnews/compose/test/unit/test_longLines.js | Starting testBodyWithLongLine 0:01.21 LOG: Thread-1 INFO (xpcshell/head.js) | test testBodyWithLongLine pending (2) 0:01.52 PROCESS_OUTPUT: Thread-1 (pid:23861) Full command: ['/NREF-COMM-CENTRAL/objdir-tb3/dist/bin/xpcshell', '-g', '/NREF-COMM-CENTRAL/objdir-tb3/dist/bin', '-a', '/NREF-COMM-CENTRAL/objdir-tb3/dist/bin', '-r', '/NREF-COMM-CENTRAL/objdir-tb3/dist/bin/components/httpd.manifest', '-m', '-s', '-e', 'const _HEAD_JS_PATH = "/NREF-COMM-CENTRAL/comm-central/mozilla/testing/xpcshell/head.js";', '-e', 'const _MOZINFO_JS_PATH = "/tmp/firefox/xpcshellprofile/mozinfo.json";', '-e', 'const _TESTING_MODULES_DIR = "/NREF-COMM-CENTRAL/objdir-tb3/_tests/modules/";', '-f', '/NREF-COMM-CENTRAL/comm-central/mozilla/testing/xpcshell/head.js', '-p', '/tmp/xpc-plugins-zudO3M', '-e', 'const _SERVER_ADDR = "localhost"', '-e', 'const _HEAD_FILES = ["/NREF-COMM-CENTRAL/objdir-tb3/_tests/xpcshell/mailnews/compose/test/unit/head_compose.js"];', '-e', 'const _TAIL_FILES = ["/NREF-COMM-CENTRAL/objdir-tb3/_tests/xpcshell/mailnews/compose/test/unit/tail_compose.js"];', '-e', 'const _JSDEBUGGER_PORT = 0;', '-e', 'const _TEST_FILE = ["/NREF-COMM-CENTRAL/objdir-tb3/_tests/xpcshell/mailnews/compose/test/unit/test_longLines.js"];', '-e', 'const _TEST_NAME = "mailnews/compose/test/unit/test_longLines.js"', '-e', '_execute_test(); quit(0);'] (pid:23861) "[23861] WARNING: No valid default account found.: file /NREF-COMM-CENTRAL/comm-central/mailnews/base/src/nsMsgAccountManager.cpp, line 781" 0:01.52 PROCESS_OUTPUT: Thread-1 (pid:23861) "[23861] WARNING: Just using the first one (FIXME).: file /NREF-COMM-CENTRAL/comm-central/mailnews/base/src/nsMsgAccountManager.cpp, line 783" 0:01.52 PROCESS_OUTPUT: Thread-1 (pid:23861) "[23861] WARNING: NS_ENSURE_TRUE(parent) failed: file /NREF-COMM-CENTRAL/comm-central/mailnews/base/src/nsMsgProgress.cpp, line 54" 0:01.52 PROCESS_OUTPUT: Thread-1 (pid:23861) "\x07[23861] ###!!! ASSERTION: attempted to open a new window with no WindowCreator: 'mWindowCreator', file /NREF-COMM-CENTRAL/comm-central/mozilla/embedding/components/windowwatcher/nsWindowWatcher.cpp, line 740" 0:02.42 PROCESS_OUTPUT: Thread-1 (pid:23861) "#01: nsWindowWatcher::OpenWindowInternal(nsIDOMWindow*, char const*, char const*, char const*, bool, bool, bool, nsITabParent*, nsIArray*, nsIDOMWindow**) (/NREF-COMM-CENTRAL/comm-central/mozilla/embedding/components/windowwatcher/nsWindowWatcher.cpp:739 (discriminator 1))" 0:02.44 PROCESS_OUTPUT: Thread-1 (pid:23861) "#02: nsWindowWatcher::OpenWindow(nsIDOMWindow*, char const*, char const*, char const*, nsISupports*, nsIDOMWindow**) (/NREF-COMM-CENTRAL/comm-central/mozilla/embedding/components/windowwatcher/nsWindowWatcher.cpp:369)" 0:02.45 PROCESS_OUTPUT: Thread-1 (pid:23861) "#03: NS_InvokeByIndex (/NREF-COMM-CENTRAL/comm-central/mozilla/xpcom/reflect/xptcall/md/unix/xptcinvoke_x86_64_unix.cpp:176)" 0:02.49 PROCESS_OUTPUT: Thread-1 (pid:23861) "#04: CallMethodHelper::Invoke() (/NREF-COMM-CENTRAL/comm-central/mozilla/js/xpconnect/src/XPCWrappedNative.cpp:2098)" 0:02.50 PROCESS_OUTPUT: Thread-1 (pid:23861) "#05: CallMethodHelper::Call() (/NREF-COMM-CENTRAL/comm-central/mozilla/js/xpconnect/src/XPCWrappedNative.cpp:1414)" 0:02.52 PROCESS_OUTPUT: Thread-1 (pid:23861) "#06: XPCWrappedNative::CallMethod(XPCCallContext&, XPCWrappedNative::CallMode) (/NREF-COMM-CENTRAL/comm-central/mozilla/js/xpconnect/src/XPCWrappedNative.cpp:1381)" 0:02.55 PROCESS_OUTPUT: Thread-1 (pid:23861) "#07: XPC_WN_CallMethod(JSContext*, unsigned int, JS::Value*) (/NREF-COMM-CENTRAL/comm-central/mozilla/js/xpconnect/src/XPCWrappedNativeJSOps.cpp:1115)" 0:02.71 PROCESS_OUTPUT: Thread-1 (pid:23861) "#08: js::CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) (/NREF-COMM-CENTRAL/comm-central/mozilla/js/src/jscntxtinlines.h:235)" 0:02.73 PROCESS_OUTPUT: Thread-1 (pid:23861) "#09: js::Invoke(JSContext*, JS::CallArgs const&, js::MaybeConstruct) (/NREF-COMM-CENTRAL/comm-central/mozilla/js/src/vm/Interpreter.cpp:479)" 0:02.76 PROCESS_OUTPUT: Thread-1 (pid:23861) "#10: Interpret(JSContext*, js::RunState&) (/NREF-COMM-CENTRAL/comm-central/mozilla/js/src/vm/Interpreter.cpp:2802)" 0:02.78 PROCESS_OUTPUT: Thread-1 (pid:23861) "#11: js::RunScript(JSContext*, js::RunState&) (/NREF-COMM-CENTRAL/comm-central/mozilla/js/src/vm/Interpreter.cpp:426)" 0:02.79 PROCESS_OUTPUT: Thread-1 (pid:23861) "#12: js::Invoke(JSContext*, JS::CallArgs const&, js::MaybeConstruct) (/NREF-COMM-CENTRAL/comm-central/mozilla/js/src/vm/Interpreter.cpp:497)" 0:02.81 PROCESS_OUTPUT: Thread-1 (pid:23861) "#13: js::Invoke(JSContext*, JS::Value const&, JS::Value const&, unsigned int, JS::Value const*, JS::MutableHandle<JS::Value>) (/NREF-COMM-CENTRAL/comm-central/mozilla/js/src/vm/Interpreter.cpp:531)" 0:02.87 PROCESS_OUTPUT: Thread-1 (pid:23861) "#14: JS_CallFunctionValue(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) (/NREF-COMM-CENTRAL/comm-central/mozilla/js/src/jsapi.cpp:2845)" 0:02.88 PROCESS_OUTPUT: Thread-1 (pid:23861) "#15: nsXPCWrappedJSClass::CallMethod(nsXPCWrappedJS*, unsigned short, XPTMethodDescriptor const*, nsXPTCMiniVariant*) (/NREF-COMM-CENTRAL/comm-central/mozilla/js/xpconnect/src/XPCWrappedJSClass.cpp:1221)" 0:02.90 PROCESS_OUTPUT: Thread-1 (pid:23861) "#16: nsXPCWrappedJS::CallMethod(unsigned short, XPTMethodDescriptor const*, nsXPTCMiniVariant*) (/NREF-COMM-CENTRAL/comm-central/mozilla/js/xpconnect/src/XPCWrappedJS.cpp:603)" 0:02.91 PROCESS_OUTPUT: Thread-1 (pid:23861) "#17: PrepareAndDispatch (/NREF-COMM-CENTRAL/comm-central/mozilla/xpcom/reflect/xptcall/md/unix/xptcstubs_x86_64_linux.cpp:122)" 0:02.93 PROCESS_OUTPUT: Thread-1 (pid:23861) "#18: SharedStub (/NREF-COMM-CENTRAL/comm-central/mozilla/xpcom/reflect/xptcall/md/unix/xptcstubs_x86_64_linux.cpp:128 (discriminator 1))" 0:02.93 PROCESS_OUTPUT: Thread-1 (pid:23861) "[23861] ###!!! ASSERTION: attempted to open a new window with no WindowCreator: 'mWindowCreator', file /NREF-COMM-CENTRAL/comm-central/mozilla/embedding/components/windowwatcher/nsWindowWatcher.cpp, line 740" 0:02.93 PROCESS_OUTPUT: Thread-1 (pid:23861) "Hit MOZ_CRASH() at /NREF-COMM-CENTRAL/comm-central/mozilla/memory/mozalloc/mozalloc_abort.cpp:33" 0:02.93 LOG: Thread-1 INFO <<<<<<< 0:02.93 LOG: MainThread INFO INFO | Result summary: 0:02.93 LOG: MainThread INFO INFO | Passed: 0 0:02.93 LOG: MainThread INFO INFO | Failed: 1 0:02.93 LOG: MainThread INFO INFO | Todo: 0 0:02.93 LOG: MainThread INFO INFO | Retried: 0 0:02.93 SUITE_END: MainThread Summary ======= Ran 1 tests Expected results: 0 Unexpected results: 1 (FAIL: 1) Unexpected Results ================== FAIL mailnews/compose/test/unit/test_longLines.js ishikawa@ip030:/NREF-COMM-CENTRAL/objdir-tb3$ Just before the assertion, we see WARNING: NS_ENSURE_TRUE(parent) failed: file /NREF-COMM-CENTRAL/comm-central/mailnews/base/src/nsMsgProgress.cpp, line 54 http://mxr.mozilla.org/comm-central/source/mailnews/base/src/nsMsgProgress.cpp#54 52 NS_ENSURE_ARG_POINTER(dialogURL); 53 nsCOMPtr<nsPIDOMWindow> parent(do_QueryInterface(parentDOMWindow)); 54 NS_ENSURE_ARG_POINTER(parent); 55 parent = parent->GetOuterWindow(); 56 NS_ENSURE_ARG_POINTER(parent); I recall reading something about no firefox code tries to open an innerwindow without parent or something like that. Now I recall that it is in Bug 1224840 - mozmill run: Assertion failure: IsOuterWindow(), at /builds/slave/tb-c-cen-lx-d-0000000000000000/build/mozilla/dom/base/nsGlobalWindow.cpp:7678 The code above is fixed in the bug 1224840. That TB is hitting the assertion makes me suspicious that the error has something to do with the similar cause as in bug 1224840? TIA
I am bisecting my patch set which caused the issue on tryserver and found that a few I/O routine changes seem to cause the failure. Maybe the change in I/O caused some error message to be shown in a dialog in a strange situation may be the cause of it. But this assertion did not trigger early this week. So there is something fishy going on. TIA
OK, now I figured out the issue. My local patch set had one logical error which caused a spurious error return value in some cases. This error return value seems to have been ignored at least until several days ago. (The error was generated in nsMsgComposeAndSend::MimeDoFCC() ) Now it seems that this error return value is not ignored and probably an error dialog will be shown during the operation of regular TB. However, somehow during xpshell-tests run, the dialog or something is going to be generated without the so called window creator value. That is why the assertion kicked in. My patch was modified so that the spurious incorrect error is not produced during normal operation. *HOWEVER*, I am not entirely certain what happens *WHEN* a real I/O error occurs where my patch produced bogus error before due to incorrect logic. I was checking the Write() system call's operation and used an incorrect value to compare the number of written octets. That is why the error was produced. But suppose a real I/O occurs there, and only fewer octets were written due to I/O error. Will TB hit the assertion? Again, we did not hit this assertion early this week.
I think I know one cause of the problem. I checked where |mWindowCreator| is set. Using mxr, I got: mWindowCreator mozilla/embedding/components/windowwatcher/nsWindowWatcher.cpp (View Hg log or Hg annotations) line 791 -- rv = mWindowCreator->CreateChromeWindow(parentChrome, chromeFlags, line 1187 -- mWindowCreator = aCreator; line 1194 -- *aResult = mWindowCreator; mozilla/embedding/components/windowwatcher/nsWindowWatcher.h (View Hg log or Hg annotations) line 122 -- nsCOMPtr<nsIWindowCreator> mWindowCreator; Referenced in: mozilla/embedding/components/windowwatcher/nsWindowWatcher.cpp (View Hg log or Hg annotations) line 739 -- NS_ASSERTION(mWindowCreator, line 742 -- if (mWindowCreator) { line 753 -- do_QueryInterface(mWindowCreator)); There is only one place where |mWindowCreator| is set: line 1187 of mozilla/embedding/components/windowwatcher/nsWindowWatcher.cpp. 1184 NS_IMETHODIMP 1185 nsWindowWatcher::SetWindowCreator(nsIWindowCreator* aCreator) 1186 { 1187 mWindowCreator = aCreator; 1188 return NS_OK; 1189 } 1190 So I traced the call of SetWindowCreator by inserting a debug printf in the function body. I found that SetWindowCreator() is called when C-C TB is started normally from a console. However, when TB binary is invoked in xpcshell-tests as in mach xpcshell-test --verbose mailnews/compose/test/unit/test_longLines.js SEtWindowCreator() is not called at all (!). This suggests to me that the assertion() is a little too restrictive. Legitimate xpcshell test programs that want to exercise error generation and error handling may crash if it involves in dialog window generation, etc. Previously, my guess is that the processing would proceeded without creating the window, etc. (if (mWindowCreator) ...). I wonder what the best course of action would be here. TIA
Summary: ASSERTION: attempted to open a new window with no WindowCreator: 'mWindowCreator', file mozilla/embedding/components/windowwatcher/nsWindowWatcher.cpp, line 740 → ASSERTION: attempted to open a new window with no WindowCreator: 'mWindowCreator', file mozilla/embedding/components/windowwatcher/nsWindowWatcher.cpp, line 740 (may occur any xpcshell-test that may generate error condition which is reported in a dialog w
Summary: ASSERTION: attempted to open a new window with no WindowCreator: 'mWindowCreator', file mozilla/embedding/components/windowwatcher/nsWindowWatcher.cpp, line 740 (may occur any xpcshell-test that may generate error condition which is reported in a dialog w → ASSERTION: attempted to open a new window with no WindowCreator: 'mWindowCreator', file mozilla/embedding/components/windowwatcher/nsWindowWatcher.cpp, line 740 (may occur in xpcshell-test that may generate error condition which is reported in a dialog w
Summary: ASSERTION: attempted to open a new window with no WindowCreator: 'mWindowCreator', file mozilla/embedding/components/windowwatcher/nsWindowWatcher.cpp, line 740 (may occur in xpcshell-test that may generate error condition which is reported in a dialog w → ASSERTION: attempted to open a new window with no WindowCreator: 'mWindowCreator', file mozilla/embedding/components/windowwatcher/nsWindowWatcher.cpp, line 740 ( in xpcshell-test that may generate error condition which is reported in a dialog window)
Hmm, still, it's a mystery why this shows up later this week. It was not there earlier.
Somehow I found a similar error as follows. It was not solved back in 2009. Bug 476189 - ###!!! ASSERTION: attempted to open a new window with no WindowCreator: 'mWindowCreator' in xpcshell test 'test_cookies/unit/test_bug468700.js Hmm...
I am afraid that the errors may be intermittent. I changed the list of unit tests to see if strange errors that I observe on C-C tryserver build of Windows debug version may show different symptoms. Well, before the submission, I tried the local xpcshell-test and to my surprise, this error is back in a few tests (!). In the meantime, I found a few others have been hit with the bug in the past. In 2009 Bug 476189 - ###!!! ASSERTION: attempted to open a new window with no WindowCreator: 'mWindowCreator' in xpcshell test 'test_cookies/unit/test_bug468700.js In 2009 Bug 478522 - "ASSERTION: attempted to open a new window with no WindowCreator: 'mWindowCreator', file c:/moz/2/embedding/components/win dowwatcher/src/nsWindowWatcher.cpp, line 668" running xpcshell tests In 2011: Bug 679841 - window.showModalDialog fails in fennec mochitests In 2010: Bug 616395 - test_bug_382825.js | test failed (with xpcshell return code: -2147483645) followed several lines down by ASSERTION: attempted to open a new window with no WindowCreator: 'mWindowCreator' Bug 679841 comment 2 correctly surmized or repeat what I found in my own comment 3. Quote from bug 679841 comment 2: --- begin quote It looks like the main problem here is that we don't initialize the window watcher component at startup by calling SetWindowCreator as it states we need to in the docs. --- end quote So what do we do?
It looks that the local patch set enforces stricter error check and possibly an error dialog during xpcshell-tests. I can probably bisect the patches to see what particular change triggers the problematic behavior. TIA
Due to hiccups of C-C TB tryserver builds over the last few weeks, I could not perform meaningful bisection. At last, yesterday, I could confirm that the test crashes caused by MOZ_CRASH are all related to the assertion caused by this bugzilla isssue. Following is the analysis using gdb. Before delving into the analysis, I wonder what we should do. With the current situation, any future xpcshell unit test that wants to excercise error handling feature of C-C TB may crash the test if such error handling involves error dialog prompt. (Indeed, one local crash was caused by a patch that caused an I/O error by mistake, and I suspect it caused an error prompt to be shown. Subsequently that local bug was fixed.) In my patch, I have added stricter checks of the return values of low-level routines to catch run-time errors early. So the program may encounter errors earlier than before. This is a regression of a sort. From what I recall, the local patches did not cause xpshell test to fail like this before. I think the symptoms I report are observed since Jan 23 in my local logs. An earlier log on Jan 11 does not encountered it. So something changed. Maybe related to Bug 1241764 - Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer? Anyway, the issue is from what I said in my previous post. === Bug 679841 comment 2 correctly surmized or repeat what I found in my own comment 3. Quote from bug 679841 comment 2: --- begin quote It looks like the main problem here is that we don't initialize the window watcher component at startup by calling SetWindowCreator as it states we need to in the docs. --- end quote === Maybe the call was taken out by mistake from xpcshell test harness? Anyway, here is the analysis of failures. These are reproducible under linux on my local machine. All calls are related to invocation from JS code, and thus I used |jsstack| macro to print the JS stack and I think the symptom is clear. Modal prompter is being created and since there is no toplevel window(?) existing, the error occurred. ======================================== Checked TEST-UNEXPECTED-FAIL | mailnews/compose/test/unit/test_attachment.js | xpcshell return code: 1 PROCESS-CRASH | mailnews/compose/test/unit/test_attachment.js | application crashed [@ mozalloc_abort(char const * const)] mach xpcshell-test --debugger=gdb --log-mach-verbose debug mailnews/compose/test/unit/test_attachment.js Encounted SIGSEGV (gdb) jsstack 0 openModalWindow(domWin = null, uri = "chrome://global/content/commonDialog.xul", args = [xpconnect wrapped (nsISupports, nsIWritablePropertyBag2, nsIWritablePropertyBag) @ 0xcfa620 (native @ 0xcf99e0)]) ["file:///home/ishikawa/objdir-tb3/dist/bin/components/nsPrompter.js":360] 1 ModalPrompter.prototype.openPrompt(args = [object Object]) ["file:///home/ishikawa/objdir-tb3/dist/bin/components/nsPrompter.js":550] this = [object Object] 2 ModalPrompter.prototype.alert(title = "Save Draft Error", text = "Unable to save your message as a draft. Unable to open the file /tmp/xpc-profile-hNzXFn/nsmail.tmp.") ["file:///home/ishikawa/objdir-tb3/dist/bin/components/nsPrompter.js":602] this = [object Object] 3 _do_main() ["/new-hd1/extra/ishikawa/TB-3HG/NEW-COMMSRC/mozilla/testing/xpcshell/head.js":208] this = [object BackstagePass @ 0x9c8350 (native @ 0x46cfb0)] 4 _execute_test() ["/new-hd1/extra/ishikawa/TB-3HG/NEW-COMMSRC/mozilla/testing/xpcshell/head.js":541] this = [object BackstagePass @ 0x9c8350 (native @ 0x46cfb0)] 5 <TOP LEVEL> ["-e":1] (gdb) ======================================== checked TEST-UNEXPECTED-FAIL | mailnews/compose/test/unit/test_bug235432.js | xpcshell return code: 1 PROCESS-CRASH | mailnews/compose/test/unit/test_bug235432.js | application crashed [@ mozalloc_abort(char const * const)] /tmp/xpc-profile-XvAbuA: 合計 104 drwx------ 6 ishikawa vboxsf 4096 2月 5 16:05 . drwxrwxrwt 25 root root 12288 2月 5 16:05 .. drwx------ 3 ishikawa vboxsf 4096 2月 5 16:05 Mail drwx------ 4 ishikawa vboxsf 4096 2月 5 16:05 cache2 -rw------- 1 ishikawa vboxsf 65536 2月 5 16:05 cert8.db drwx------ 3 ishikawa vboxsf 4096 2月 5 16:05 crashes -rw------- 1 ishikawa vboxsf 16384 2月 5 16:05 key3.db -rw-r--r-- 1 ishikawa vboxsf 684 2月 5 16:05 mozinfo.json -rw------- 1 ishikawa vboxsf 0 2月 5 16:05 nsemail.eml -rw------- 1 ishikawa vboxsf 329 2月 5 16:05 nsmail-1.tmp -rw------- 1 ishikawa vboxsf 0 2月 5 16:05 nsmail.tmp -rw-r--r-- 1 ishikawa vboxsf 1709 2月 5 16:05 panacea.dat -rw------- 1 ishikawa vboxsf 16384 2月 5 16:05 secmod.db drwxr-xr-x 2 ishikawa vboxsf 4096 2月 5 16:05 startupCache msg=0x7fffffff3030 "[9582] ###!!! ASSERTION: attempted to open a new window with no WindowCreator: 'mWindowCreator', file /new-hd1/extra/ishikawa/TB-3HG/NEW-COMMSRC/mozilla/embedding/components/windowwatcher/nsWindowWatc"...) at /new-hd1/extra/ishikawa/TB-3HG/NEW-COMMSRC/mozilla/memory/mozalloc/mozalloc_abort.cpp:33 33 MOZ_CRASH(); (gdb) jsstack 0 openModalWindow(domWin = null, uri = "chrome://global/content/commonDialog.xul", args = [xpconnect wrapped (nsISupports, nsIWritablePropertyBag2, nsIWritablePropertyBag) @ 0xd10d20 (native @ 0xd100b0)]) ["file:///home/ishikawa/objdir-tb3/dist/bin/components/nsPrompter.js":360] 1 ModalPrompter.prototype.openPrompt(args = [object Object]) ["file:///home/ishikawa/objdir-tb3/dist/bin/components/nsPrompter.js":550] this = [object Object] 2 ModalPrompter.prototype.alert(title = "Send Later Error", text = "Sorry, we were unable to save your message for sending later. Unable to open the file /tmp/xpc-profile-XvAbuA/nsmail-1.tmp.") ["file:///home/ishikawa/objdir-tb3/dist/bin/components/nsPrompter.js":602] this = [object Object] 3 _do_main() ["/new-hd1/extra/ishikawa/TB-3HG/NEW-COMMSRC/mozilla/testing/xpcshell/head.js":208] this = [object BackstagePass @ 0x9c7770 (native @ 0x46cfb0)] 4 _execute_test() ["/new-hd1/extra/ishikawa/TB-3HG/NEW-COMMSRC/mozilla/testing/xpcshell/head.js":541] this = [object BackstagePass @ 0x9c7770 (native @ 0x46cfb0)] 5 <TOP LEVEL> ["-e":1] (gdb) ======================================== checked TEST-UNEXPECTED-FAIL | mailnews/compose/test/unit/test_detectAttachmentCharset.js | xpcshell return code: 1 PROCESS-CRASH | mailnews/compose/test/unit/test_detectAttachmentCharset.js | application crashed [@ mozalloc_abort(char const * const)] jsstack 0 openModalWindow(domWin = null, uri = "chrome://global/content/commonDialog.xul", args = [xpconnect wrapped (nsISupports, nsIWritablePropertyBag2, nsIWritablePropertyBag) @ 0xce6950 (native @ 0xce5ca0)]) ["file:///home/ishikawa/objdir-tb3/dist/bin/components/nsPrompter.js":360] 1 ModalPrompter.prototype.openPrompt(args = [object Object]) ["file:///home/ishikawa/objdir-tb3/dist/bin/components/nsPrompter.js":550] this = [object Object] 2 ModalPrompter.prototype.alert(title = "Save Draft Error", text = "Unable to save your message as a draft. Unable to open the file /home/ishikawa/objdir-tb3/_tests/xpcshell/mailnews/compose/test/unit/data/test-UTF-8.txt.") ["file:///home/ishikawa/objdir-tb3/dist/bin/components/nsPrompter.js":602] this = [object Object] 3 richCreateMessage(fields = [xpconnect wrapped nsIMsgCompFields @ 0xc4d880 (native @ 0xbbd5f0)], attachments = [xpconnect wrapped nsIMsgAttachment @ 0xc4dcb0 (native @ 0xc4dbd0)]) ["/home/ishikawa/objdir-tb3/_tests/xpcshell/mailnews/compose/test/unit/head_compose.js":190] this = [object BackstagePass @ 0x9c7750 (native @ 0x46cfb0)] 4 createMessage(aAttachment = [xpconnect wrapped (nsISupports, nsILocalFile, nsIFile) @ 0xbbd260 (native @ 0xbbd190)]) ["/home/ishikawa/objdir-tb3/_tests/xpcshell/mailnews/compose/test/unit/head_compose.js":148] this = [object BackstagePass @ 0x9c7750 (native @ 0x46cfb0)] 5 testUTF8() ["/home/ishikawa/objdir-tb3/_tests/xpcshell/mailnews/compose/test/unit/test_detectAttachmentCharset.js":27] this = [object BackstagePass @ 0x9c7750 (native @ 0x46cfb0)] 6 next(val = undefined) ["self-hosted":956] this = [object Generator] 7 TaskImpl_run(aSendResolved = true) ["resource://gre/modules/Task.jsm":319] this = [object Object] 8 TaskImpl(iterator = [object Generator]) ["resource://gre/modules/Task.jsm":280] this = [object Object] 9 createAsyncFunction/asyncFunction() ["resource://gre/modules/Task.jsm":254] 10 Task_spawn(aTask = function* testUTF8() { yield createMessage(do_get_file("data/test-UTF-8.txt")); check(gdb) ======================================== checked TEST-UNEXPECTED-FAIL | mailnews/compose/test/unit/test_longLines.js | xpcshell return code: 1 PROCESS-CRASH | mailnews/compose/test/unit/test_longLines.js | application crashed [@ mozalloc_abort(char const * const)] mach xpcshell-test --debugger=gdb --log-mach-verbose debug mailnews/compose/test/unit/test_longLines.js jsstack 0 openModalWindow(domWin = null, uri = "chrome://global/content/commonDialog.xul", args = [xpconnect wrapped (nsISupports, nsIWritablePropertyBag2, nsIWritablePropertyBag) @ 0xb044c0 (native @ 0xd87eb0)]) ["file:///home/ishikawa/objdir-tb3/dist/bin/components/nsPrompter.js":360] 1 ModalPrompter.prototype.openPrompt(args = [object Object]) ["file:///home/ishikawa/objdir-tb3/dist/bin/components/nsPrompter.js":550] this = [object Object] 2 ModalPrompter.prototype.alert(title = "Save Draft Error", text = "Unable to save your message as a draft. Unable to open the file /tmp/xpc-profile-6IOcLl/nsmail.tmp.") ["file:///home/ishikawa/objdir-tb3/dist/bin/components/nsPrompter.js":602] this = [object Object] 3 _do_main() ["/new-hd1/extra/ishikawa/TB-3HG/NEW-COMMSRC/mozilla/testing/xpcshell/head.js":208] this = [object BackstagePass @ 0x9c7700 (native @ 0x46cfa0)] 4 _execute_test() ["/new-hd1/extra/ishikawa/TB-3HG/NEW-COMMSRC/mozilla/testing/xpcshell/head.js":541] this = [object BackstagePass @ 0x9c7700 (native @ 0x46cfa0)] 5 <TOP LEVEL> ["-e":1] ======================================== checked TEST-UNEXPECTED-FAIL | mailnews/compose/test/unit/test_messageHeaders.js | xpcshell return code: 1 PROCESS-CRASH | mailnews/compose/test/unit/test_messageHeaders.js | application crashed [@ mozalloc_abort(char const * const)] jsstack 0 openModalWindow(domWin = null, uri = "chrome://global/content/commonDialog.xul", args = [xpconnect wrapped (nsISupports, nsIWritablePropertyBag2, nsIWritablePropertyBag) @ 0x1037030 (native @ 0x10353f0)]) ["file:///home/ishikawa/objdir-tb3/dist/bin/components/nsPrompter.js":360] 1 ModalPrompter.prototype.openPrompt(args = [object Object]) ["file:///home/ishikawa/objdir-tb3/dist/bin/components/nsPrompter.js":550] this = [object Object] 2 ModalPrompter.prototype.alert(title = "Save Draft Error", text = "Unable to save your message as a draft. Unable to open the file /tmp/xpc-profile-CfY1Dl/nsmail.tmp.") ["file:///home/ishikawa/objdir-tb3/dist/bin/components/nsPrompter.js":602] this = [object Object] 3 _do_main() ["/new-hd1/extra/ishikawa/TB-3HG/NEW-COMMSRC/mozilla/testing/xpcshell/head.js":208] this = [object BackstagePass @ 0x9c7750 (native @ 0x46cfb0)] 4 _execute_test() ["/new-hd1/extra/ishikawa/TB-3HG/NEW-COMMSRC/mozilla/testing/xpcshell/head.js":541] this = [object BackstagePass @ 0x9c7750 (native @ 0x46cfb0)] 5 <TOP LEVEL> ["-e":1] (gdb) /tmp/xpc-profile-CfY1Dl: 合計 112 drwx------ 7 ishikawa vboxsf 4096 2月 5 16:12 . drwxrwxrwt 25 root root 12288 2月 5 16:13 .. drwx------ 3 ishikawa vboxsf 4096 2月 5 16:12 Mail drwx------ 3 ishikawa vboxsf 4096 2月 5 16:12 News drwx------ 4 ishikawa vboxsf 4096 2月 5 16:12 cache2 -rw------- 1 ishikawa vboxsf 65536 2月 5 16:12 cert8.db drwx------ 3 ishikawa vboxsf 4096 2月 5 16:12 crashes -rw------- 1 ishikawa vboxsf 16384 2月 5 16:12 key3.db -rw-r--r-- 1 ishikawa vboxsf 684 2月 5 16:12 mozinfo.json -rw------- 1 ishikawa vboxsf 0 2月 5 16:12 nsemail.eml -rw------- 1 ishikawa vboxsf 4 2月 5 16:12 nsmail.tmp -rw-r--r-- 1 ishikawa vboxsf 6339 2月 5 16:12 panacea.dat -rw------- 1 ishikawa vboxsf 16384 2月 5 16:12 secmod.db drwxr-xr-x 2 ishikawa vboxsf 4096 2月 5 16:12 startupCache Something is still reading/writing when open is attempted? ======================================== checked TEST-UNEXPECTED-FAIL | mailnews/compose/test/unit/test_temporaryFilesRemoved.js | xpcshell return code: 1 PROCESS-CRASH | mailnews/compose/test/unit/test_temporaryFilesRemoved.js | application crashed [@ mozalloc_abort(char const * const)] jsstack 0 openModalWindow(domWin = null, uri = "chrome://global/content/commonDialog.xul", args = [xpconnect wrapped (nsISupports, nsIWritablePropertyBag2, nsIWritablePropertyBag) @ 0xcfb590 (native @ 0xcfa950)]) ["file:///home/ishikawa/objdir-tb3/dist/bin/components/nsPrompter.js":360] 1 ModalPrompter.prototype.openPrompt(args = [object Object]) ["file:///home/ishikawa/objdir-tb3/dist/bin/components/nsPrompter.js":550] this = [object Object] 2 ModalPrompter.prototype.alert(title = "Save Draft Error", text = "Unable to save your message as a draft. Unable to open the file /tmp/xpc-profile-QlXO7x/nsmail.tmp.") ["file:///home/ishikawa/objdir-tb3/dist/bin/components/nsPrompter.js":602] this = [object Object] 3 _do_main() ["/new-hd1/extra/ishikawa/TB-3HG/NEW-COMMSRC/mozilla/testing/xpcshell/head.js":208] this = [object BackstagePass @ 0x9c7740 (native @ 0x46cfb0)] 4 _execute_test() ["/new-hd1/extra/ishikawa/TB-3HG/NEW-COMMSRC/mozilla/testing/xpcshell/head.js":541] this = [object BackstagePass @ 0x9c7740 (native @ 0x46cfb0)] 5 <TOP LEVEL> ["-e":1] (gdb) ??? /tmp/xpc-profile-QlXO7x: 合計 108 drwx------ 6 ishikawa vboxsf 4096 2月 5 16:15 . drwxrwxrwt 25 root root 12288 2月 5 16:15 .. drwx------ 3 ishikawa vboxsf 4096 2月 5 16:15 Mail drwx------ 4 ishikawa vboxsf 4096 2月 5 16:15 cache2 -rw------- 1 ishikawa vboxsf 65536 2月 5 16:15 cert8.db drwx------ 3 ishikawa vboxsf 4096 2月 5 16:15 crashes -rw------- 1 ishikawa vboxsf 16384 2月 5 16:15 key3.db -rw-r--r-- 1 ishikawa vboxsf 684 2月 5 16:15 mozinfo.json -rw------- 1 ishikawa vboxsf 0 2月 5 16:15 nsemail.eml -rw------- 1 ishikawa vboxsf 9 2月 5 16:15 nsemail.html -rw------- 1 ishikawa vboxsf 10 2月 5 16:15 nsmail.tmp -rw-r--r-- 1 ishikawa vboxsf 1667 2月 5 16:15 panacea.dat -rw------- 1 ishikawa vboxsf 16384 2月 5 16:15 secmod.db drwxr-xr-x 2 ishikawa vboxsf 4096 2月 5 16:15 startupCache ======================================== PS: Some errors being reported by modal prompt do not make sense since the message says something about a file under /tmp directory not being written into, etc. But clearly the /tmp directory is writable and the file in question is there (albet 0 size in a case, or two). I suspect another ASYNC issue: maybe another process has still not closed it after it writes into it, etc.
Dumps from two different PCs are quoted. So the file paths are different in the first dump. Sorry if this causes any confusion on readers' part.
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.