Closed Bug 1019868 Opened 10 years ago Closed 9 years ago

Intermittent test_bug391728.html,test_bug455213.js | test failed | "Plug-in for testing purposes ...

Categories

(Core :: XPCOM, defect)

x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: RyanVM, Unassigned)

References

Details

(Keywords: intermittent-failure)

https://tbpl.mozilla.org/php/getParsedLog.php?id=40963309&tree=Mozilla-Inbound Ubuntu VM 12.04 x64 mozilla-inbound debug test xpcshell on 2014-06-03 07:54:17 PDT for push d6dc9b7afda4 slave: tst-linux64-spot-1099 08:44:31 INFO - TEST-INFO | /builds/slave/test/build/tests/xpcshell/tests/dom/plugins/test/unit/test_bug455213.js | running test ... 08:44:32 WARNING - TEST-UNEXPECTED-FAIL | /builds/slave/test/build/tests/xpcshell/tests/dom/plugins/test/unit/test_bug455213.js | test failed (with xpcshell return code: 0), see following log: 08:44:32 INFO - >>>>>>> 08:44:32 INFO - DMD[28960] $DMD = '(null)' 08:44:32 INFO - DMD[28960] DMD is not enabled 08:44:32 INFO - [28960] WARNING: Couldn't get the user appdata directory. Crash events may not be produced.: file /builds/slave/m-in-l64-d-0000000000000000000/build/toolkit/crashreporter/nsExceptionHandler.cpp, line 2158 08:44:32 INFO - System JS : WARNING /builds/slave/test/build/tests/xpcshell/tests/dom/plugins/test/unit/test_bug455213.js:29 - octal literals and octal escape sequences are deprecated 08:44:32 INFO - System JS : WARNING /builds/slave/test/build/tests/xpcshell/tests/dom/plugins/test/unit/test_bug455213.js:15 - "gDirSvc" is read-only 08:44:32 INFO - TEST-INFO | (xpcshell/head.js) | test MAIN run_test pending (1) 08:44:32 INFO - System JS : ERROR (null):0 - uncaught exception: 2147500037 08:44:32 INFO - TEST-PASS | /builds/slave/test/build/tests/xpcshell/head.js | [do_check_true : 773] true == true 08:44:32 INFO - System JS : ERROR (null):0 - uncaught exception: 2147500037 08:44:32 INFO - System JS : ERROR (null):0 - uncaught exception: 2147500037 08:44:32 INFO - LoadPlugin() /tmp/tmpuAvXJw/libnptestjava.so returned 7f08cf2abdf0 08:44:32 INFO - System JS : ERROR resource://gre/components/nsBlocklistService.js:76 - NS_ERROR_XPC_GS_RETURNED_FAILURE: Component returned failure code: 0x80570016 (NS_ERROR_XPC_GS_RETURNED_FAILURE) [nsIJSCID.getService] 08:44:32 INFO - System JS : ERROR resource://gre/components/nsBlocklistService.js:928 - ReferenceError: gApp is not defined 08:44:32 INFO - LoadPlugin() /tmp/tmpuAvXJw/libnptest.so returned 7f08ce629d30 08:44:32 INFO - System JS : ERROR resource://gre/components/nsBlocklistService.js:928 - ReferenceError: gApp is not defined 08:44:32 INFO - LoadPlugin() /tmp/tmpuAvXJw/libnpsecondtest.so returned 7f08ce629e20 08:44:32 INFO - System JS : ERROR resource://gre/components/nsBlocklistService.js:928 - ReferenceError: gApp is not defined 08:44:32 INFO - System JS : ERROR resource://gre/components/nsBlocklistService.js:928 - ReferenceError: gApp is not defined 08:44:32 INFO - System JS : ERROR resource://gre/components/nsBlocklistService.js:928 - ReferenceError: gApp is not defined 08:44:32 INFO - System JS : ERROR resource://gre/components/nsBlocklistService.js:928 - ReferenceError: gApp is not defined 08:44:32 INFO - LoadPlugin() /tmp/tmpuAvXJw/libnptestjava.so returned 7f08cf2abdf0 08:44:32 INFO - System JS : ERROR resource://gre/components/nsBlocklistService.js:928 - ReferenceError: gApp is not defined 08:44:32 INFO - LoadPlugin() /tmp/tmpuAvXJw/libnptest.so returned 7f08ce629d30 08:44:32 INFO - System JS : ERROR resource://gre/components/nsBlocklistService.js:928 - ReferenceError: gApp is not defined 08:44:32 INFO - LoadPlugin() /tmp/tmpuAvXJw/libnpsecondtest.so returned 7f08ce629e20 08:44:32 INFO - System JS : ERROR resource://gre/components/nsBlocklistService.js:928 - ReferenceError: gApp is not defined 08:44:32 INFO - TEST-PASS | /builds/slave/test/build/tests/xpcshell/head.js | [do_check_eq : 762] "1.0.0.0" == "1.0.0.0" 08:44:32 WARNING - TEST-UNEXPECTED-FAIL | /builds/slave/test/build/tests/xpcshell/head.js | "Plug-in for testing purposes.â„¢ (हिनà¥\x8Dदी 中文 العربية)" == "Plug-in for testing purposes.™ (हिन्दी 中文 العربية)" - See following stack: 08:44:32 INFO - JS frame :: /builds/slave/test/build/tests/xpcshell/head.js :: do_check_eq :: line 762 08:44:32 INFO - JS frame :: /builds/slave/test/build/tests/xpcshell/tests/dom/plugins/test/unit/test_bug455213.js :: run_test :: line 80 08:44:32 INFO - JS frame :: /builds/slave/test/build/tests/xpcshell/head.js :: _execute_test :: line 403 08:44:32 INFO - JS frame :: -e :: <TOP_LEVEL> :: line 1 08:44:32 INFO - native frame :: <unknown filename> :: <TOP_LEVEL> :: line 0 08:44:32 INFO - TEST-INFO | (xpcshell/head.js) | exiting test 08:44:32 INFO - [28960] WARNING: Leaking the RDF Service.: file /builds/slave/m-in-l64-d-0000000000000000000/build/rdf/build/nsRDFModule.cpp, line 165 08:44:32 INFO - [28960] WARNING: '!compMgr', file /builds/slave/m-in-l64-d-0000000000000000000/build/xpcom/glue/nsComponentManagerUtils.cpp, line 59 08:44:32 INFO - [28960] WARNING: OOPDeinit() without successful OOPInit(): file /builds/slave/m-in-l64-d-0000000000000000000/build/toolkit/crashreporter/nsExceptionHandler.cpp, line 2588 08:44:32 INFO - [28960] WARNING: XPCOM objects created/destroyed from static ctor/dtor: file /builds/slave/m-in-l64-d-0000000000000000000/build/xpcom/base/nsTraceRefcnt.cpp, line 144 08:44:32 INFO - [28960] WARNING: XPCOM objects created/destroyed from static ctor/dtor: file /builds/slave/m-in-l64-d-0000000000000000000/build/xpcom/base/nsTraceRefcnt.cpp, line 144 08:44:32 INFO - nsStringStats 08:44:32 INFO - => mAllocCount: 2796 08:44:32 INFO - => mReallocCount: 306 08:44:32 INFO - => mFreeCount: 2796 08:44:32 INFO - => mShareCount: 8768 08:44:32 INFO - => mAdoptCount: 189 08:44:32 INFO - => mAdoptFreeCount: 189 08:44:32 INFO - => Process ID: 28960, Thread ID: 139676129339840 08:44:32 INFO - <<<<<<< 08:44:32 INFO - TEST-INFO | /builds/slave/test/build/tests/xpcshell/tests/modules/libjar/test/unit/test_umlaute.js | running test ... 08:44:32 WARNING - TEST-UNEXPECTED-FAIL | /builds/slave/test/build/tests/xpcshell/tests/modules/libjar/test/unit/test_umlaute.js | test failed (with xpcshell return code: -11), see following log: 08:44:32 INFO - >>>>>>> 08:44:32 INFO - DMD[28971] $DMD = '(null)' 08:44:32 INFO - DMD[28971] DMD is not enabled 08:44:32 INFO - [28971] WARNING: Couldn't get the user appdata directory. Crash events may not be produced.: file /builds/slave/m-in-l64-d-0000000000000000000/build/toolkit/crashreporter/nsExceptionHandler.cpp, line 2158 08:44:32 INFO - TEST-INFO | (xpcshell/head.js) | test MAIN run_test pending (1) 08:44:32 INFO - \x07[28971] ###!!! ASSERTION: iconv failed: 'Error', file /builds/slave/m-in-l64-d-0000000000000000000/build/xpcom/io/nsNativeCharsetUtils.cpp, line 569 08:44:32 INFO - UNKNOWN [/builds/slave/test/build/application/firefox/libxul.so +0x0096B4F8] 08:44:32 INFO - UNKNOWN [/builds/slave/test/build/application/firefox/libxul.so +0x009646DC] 08:44:32 INFO - NS_InvokeByIndex+0x0000019F [/builds/slave/test/build/application/firefox/libxul.so +0x00992682] 08:44:32 INFO - UNKNOWN [/builds/slave/test/build/application/firefox/libxul.so +0x0152ED42] 08:44:32 INFO - UNKNOWN [/builds/slave/test/build/application/firefox/libxul.so +0x0152FB1F] 08:44:32 INFO - UNKNOWN [/builds/slave/test/build/application/firefox/libxul.so +0x015320DD] 08:44:32 INFO - UNKNOWN [/builds/slave/test/build/application/firefox/libxul.so +0x02A00199] 08:44:32 INFO - UNKNOWN [/builds/slave/test/build/application/firefox/libxul.so +0x02A49FA0] 08:44:32 INFO - UNKNOWN [/builds/slave/test/build/application/firefox/libxul.so +0x02A430FB] 08:44:32 INFO - UNKNOWN [/builds/slave/test/build/application/firefox/libxul.so +0x02A47B7A] 08:44:32 INFO - UNKNOWN [/builds/slave/test/build/application/firefox/libxul.so +0x02A49F2C] 08:44:32 INFO - UNKNOWN [/builds/slave/test/build/application/firefox/libxul.so +0x02A4AF05] 08:44:32 INFO - UNKNOWN [/builds/slave/test/build/application/firefox/libxul.so +0x0277F3BD] 08:44:32 INFO - UNKNOWN 0x7ffc6ab103ab 08:44:32 INFO - [28971] ###!!! ASSERTION: iconv failed: 'Error', file /builds/slave/m-in-l64-d-0000000000000000000/build/xpcom/io/nsNativeCharsetUtils.cpp, line 569 08:44:32 INFO - Hit MOZ_CRASH() at /builds/slave/m-in-l64-d-0000000000000000000/build/memory/mozalloc/mozalloc_abort.cpp:30 08:44:32 INFO - <<<<<<< 08:44:40 WARNING - PROCESS-CRASH | /builds/slave/test/build/tests/xpcshell/tests/modules/libjar/test/unit/test_umlaute.js | application crashed [@ mozalloc_abort(char const*)] 08:44:40 INFO - Crash dump filename: /tmp/tmpxc3yF0/48411dbc-f370-5e25-1b4db4b4-18906da1.dmp 08:44:40 INFO - Operating system: Linux 08:44:40 INFO - 0.0.0 Linux 3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012 x86_64 08:44:40 INFO - CPU: amd64 08:44:40 INFO - family 6 model 45 stepping 7 08:44:40 INFO - 1 CPU 08:44:40 INFO - Crash reason: SIGSEGV 08:44:40 INFO - Crash address: 0x0 08:44:40 INFO - Thread 0 (crashed) 08:44:40 INFO - 0 libmozalloc.so!mozalloc_abort(char const*) [mozalloc_abort.cpp:d6dc9b7afda4 : 30 + 0x0] 08:44:40 INFO - rbx = 0x00007ffc6458c828 r12 = 0x00007ffc6458c828 08:44:40 INFO - r13 = 0x00007ffc683eb15c r14 = 0x00007ffc68ad4ec7 08:44:40 INFO - r15 = 0x00007ffc683f42a6 rip = 0x00007ffc655f65b0 08:44:40 INFO - rsp = 0x00007fff5dc39760 rbp = 0x00007fff5dc39770 08:44:40 INFO - Found by: given as instruction pointer in context 08:44:40 INFO - 1 libxul.so!NS_DebugBreak [nsDebugImpl.cpp:d6dc9b7afda4 : 472 + 0xb] 08:44:40 INFO - rbx = 0x00007fff5dc3fc9c r12 = 0x00007ffc6458c828 08:44:40 INFO - r13 = 0x00007ffc683eb15c r14 = 0x00007ffc68ad4ec7 08:44:40 INFO - r15 = 0x00007ffc683f42a6 rip = 0x00007ffc6612c16e 08:44:40 INFO - rsp = 0x00007fff5dc39780 rbp = 0x00007fff5dc39be0 08:44:40 INFO - Found by: call frame info 08:44:40 INFO - 2 libxul.so!nsNativeCharsetConverter::UnicodeToNative(char16_t const**, unsigned int*, char**, unsigned int*) [nsNativeCharsetUtils.cpp:d6dc9b7afda4 : 569 + 0x24] 08:44:40 INFO - rbx = 0x00007fff5dc39c4c r12 = 0x00007fff5dc39c48 08:44:40 INFO - r13 = 0x00007fff5dc39c58 r14 = 0x00007fff5dc39c50 08:44:40 INFO - r15 = 0x00007ffc58773b50 rip = 0x00007ffc661632ee 08:44:40 INFO - rsp = 0x00007fff5dc39bf0 rbp = 0x00007fff5dc39c20 08:44:40 INFO - Found by: call frame info 08:44:40 INFO - 3 libxul.so!NS_CopyUnicodeToNative(nsAString_internal const&, nsACString_internal&) [nsNativeCharsetUtils.cpp:d6dc9b7afda4 : 860 + 0x4] 08:44:40 INFO - rbx = 0x00007fff5dc39c60 r12 = 0x00007fff5dc3aca0 08:44:40 INFO - r13 = 0x00007ffc5875293c r14 = 0x00007ffc66d29e01 08:44:40 INFO - r15 = 0x00007ffc58773b50 rip = 0x00007ffc661634f8 08:44:40 INFO - rsp = 0x00007fff5dc39c30 rbp = 0x00007fff5dc3ac80 08:44:40 INFO - Found by: call frame info 08:44:40 INFO - 4 libxul.so!nsLocalFile::Append(nsAString_internal const&) [nsLocalFileUnix.cpp:d6dc9b7afda4 : 2128 + 0x10] 08:44:40 INFO - rbx = 0x00007ffc57bbf180 r12 = 0x00007ffc5c6a2af8 08:44:40 INFO - r13 = 0x0000000000000000 r14 = 0x00007ffc66d29e01 08:44:40 INFO - r15 = 0x00007ffc58773b50 rip = 0x00007ffc6615c6dc 08:44:40 INFO - rsp = 0x00007fff5dc3ac90 rbp = 0x00007fff5dc3ad10 08:44:40 INFO - Found by: call frame info
Summary: Intermittent test_bug455213.js | test failed | "Plug-in for testing purposes ... → Intermittent test_bug391728.html,test_bug455213.js | test failed | "Plug-in for testing purposes ...
These all seem to be exploding on nsNativeCharsetConverter::UnicodeToNative at NS_ERROR("iconv failed"). The first test to exercise unicode string encoding is something loading the test plugin, which has lots of unicode fun in its name. In opt builds we don't hit the abort, so we reach: > // fallback: truncate and hope for the best > // XXX This is lame and we have to do better. Which, of course, doesn't do the thing. ಠ_ಠ
Component: Plug-ins → XPCOM
I find it odd that it's happening on trees all the way back to b2g30 as well. It's not entirely out of the realm of possibility that there's a code issue here (and actually, that would give us a reasonably-small list of common changes to look through), but otherwise maybe it's pointing to something changed behind the scenes that we're tripping over now in the code. And even if it's the latter, I'm not sure if it's easier to diagnose what change that would be or just spend the time fixing the code.
The actual issue seems to be the iconv() libc call failing, which it seemingly shouldn't on well formed input. The use of it in this code is not super straight forward, so my best guess is a glibc upgrade on the test machines is exposing either a libc bug or undefined-behavior usage of the API on our part
(In reply to John Schoenick [:johns] from comment #25) > The actual issue seems to be the iconv() libc call failing, which it > seemingly shouldn't on well formed input. The use of it in this code is not > super straight forward, so my best guess is a glibc upgrade on the test > machines is exposing either a libc bug or undefined-behavior usage of the > API on our part I've got RelEng looking into whatever changes might have happened on the AWS test slaves, but even if they find something there, odds are we won't be able to do anything about it. What are our options for handling this assuming glibc can't be changed?
Our test slaves are confirmed to be running 2.15-0ubuntu10.2, which appears to be a rather old release :)
Depends on: 1033627
Turns out iconv() can fail if we re-use converters on multiple threads simultaneously, which may be what's causing this. Filed Bug 1033627
See Also: → 1023171
Inactive; closing (see bug 1180138).
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.