Closed Bug 1329835 Opened 7 years ago Closed 7 years ago

xpcshell tests involving a child process fail when run locally on linux after bug 1309205

Categories

(Core :: Printing: Output, defect)

x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla53
Tracking Status
firefox53 --- fixed

People

(Reporter: keeler, Assigned: lsalzman)

References

Details

(Whiteboard: [tor 23970])

Attachments

(1 file)

In every reversion after 5c25a123203a, ./mach xpcshell-test security/manager/ssl/tests/unit/test_hash_algorithms_wrap.js fails with this output:

 0:00.32 LOG: MainThread INFO Running tests sequentially.
 0:00.32 SUITE_START: MainThread 1
 0:00.33 LOG: Thread-1 INFO profile dir is /tmp/firefox/xpcshellprofile
 0:00.33 TEST_START: Thread-1 security/manager/ssl/tests/unit/test_hash_algorithms_wrap.js
 0:00.33 LOG: Thread-1 INFO security/manager/ssl/tests/unit/test_hash_algorithms_wrap.js | full command: ['/home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/dist/bin/xpcshell', '-g', '/home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/dist/bin', '-a', '/home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/dist/bin', '-r', '/home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/dist/bin/components/httpd.manifest', '-m', '-s', '-e', 'const _HEAD_JS_PATH = "/home/keeler/mozilla-central/testing/xpcshell/head.js";', '-e', 'const _MOZINFO_JS_PATH = "/tmp/firefox/xpcshellprofile/mozinfo.json";', '-e', 'const _TESTING_MODULES_DIR = "/home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/_tests/modules/";', '-f', '/home/keeler/mozilla-central/testing/xpcshell/head.js', '-p', '/home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/temp/xpc-plugins-111DAK', '-e', 'const _SERVER_ADDR = "localhost"', '-e', 'const _HEAD_FILES = ["/home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/_tests/xpcshell/security/manager/ssl/tests/unit/head_psm.js"];', '-e', 'const _TAIL_FILES = [];', '-e', 'const _JSDEBUGGER_PORT = 0;', '-e', 'const _TEST_FILE = ["/home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/_tests/xpcshell/security/manager/ssl/tests/unit/test_hash_algorithms_wrap.js"];', '-e', 'const _TEST_NAME = "security/manager/ssl/tests/unit/test_hash_algorithms_wrap.js"', '-e', '_execute_test(); quit(0);']
 0:00.33 LOG: Thread-1 INFO security/manager/ssl/tests/unit/test_hash_algorithms_wrap.js | current directory: '/home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/_tests/xpcshell/security/manager/ssl/tests/unit'
 0:00.33 LOG: Thread-1 INFO security/manager/ssl/tests/unit/test_hash_algorithms_wrap.js | environment: ['XPCSHELL_TEST_PROFILE_DIR=/tmp/firefox/xpcshellprofile', 'MOZ_CRASHREPORTER=1', 'XPCSHELL_TEST_TEMP_DIR=/home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/temp/xpc-other-VNcYGS', 'MOZ_DISABLE_NONLOCAL_CONNECTIONS=1', 'XPCOM_DEBUG_BREAK=stack-and-abort', 'LD_LIBRARY_PATH=/home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/dist/bin', 'MOZ_CRASHREPORTER_NO_REPORT=1']
 0:00.99 LOG: Thread-1 INFO (xpcshell/head.js) | test MAIN run_test pending (1)
 0:00.99 PROCESS_OUTPUT: Thread-1 (pid:17974) Full command: ['/home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/dist/bin/xpcshell', '-g', '/home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/dist/bin', '-a', '/home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/dist/bin', '-r', '/home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/dist/bin/components/httpd.manifest', '-m', '-s', '-e', 'const _HEAD_JS_PATH = "/home/keeler/mozilla-central/testing/xpcshell/head.js";', '-e', 'const _MOZINFO_JS_PATH = "/tmp/firefox/xpcshellprofile/mozinfo.json";', '-e', 'const _TESTING_MODULES_DIR = "/home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/_tests/modules/";', '-f', '/home/keeler/mozilla-central/testing/xpcshell/head.js', '-p', '/home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/temp/xpc-plugins-111DAK', '-e', 'const _SERVER_ADDR = "localhost"', '-e', 'const _HEAD_FILES = ["/home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/_tests/xpcshell/security/manager/ssl/tests/unit/head_psm.js"];', '-e', 'const _TAIL_FILES = [];', '-e', 'const _JSDEBUGGER_PORT = 0;', '-e', 'const _TEST_FILE = ["/home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/_tests/xpcshell/security/manager/ssl/tests/unit/test_hash_algorithms_wrap.js"];', '-e', 'const _TEST_NAME = "security/manager/ssl/tests/unit/test_hash_algorithms_wrap.js"', '-e', '_execute_test(); quit(0);']
(pid:17974) "JavaScript strict warning: /home/keeler/mozilla-central/testing/xpcshell/head.js, line 1261: ReferenceError: assignment to undeclared variable _XPCSHELL_PROCESS"
 0:01.00 PROCESS_OUTPUT: Thread-1 (pid:17974) "[Parent 17974] WARNING: 'NS_FAILED(rv)', file /home/keeler/mozilla-central/dom/media/gmp/GMPServiceParent.cpp, line 289"
 0:01.00 LOG: Thread-1 parent INFO (xpcshell/head.js) | test run in child pending (2)
 0:01.01 LOG: Thread-1 parent INFO (xpcshell/head.js) | test MAIN run_test finished (2)
 0:01.01 LOG: Thread-1 parent INFO running event loop
 0:01.01 PROCESS_OUTPUT: Thread-1 (pid:17974) "Couldn't convert chrome URL: chrome://branding/locale/brand.properties"
 0:01.01 PROCESS_OUTPUT: Thread-1 (pid:17974) "Couldn't convert chrome URL: chrome://branding/locale/brand.properties"
 0:01.01 PROCESS_OUTPUT: Thread-1 (pid:17974) "[Parent 17974] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80520012: file /home/keeler/mozilla-central/netwerk/base/nsIOService.cpp, line 793"
 0:01.01 PROCESS_OUTPUT: Thread-1 (pid:17974) "[Parent 17974] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80520012: file /home/keeler/mozilla-central/netwerk/base/nsNetUtilInlines.h, line 180"
 0:01.01 PROCESS_OUTPUT: Thread-1 (pid:17974) "[Parent 17974] WARNING: Could not get the program name for a cubeb stream.: 'NS_SUCCEEDED(rv)', file /home/keeler/mozilla-central/dom/media/CubebUtils.cpp, line 203"
 0:01.01 LOG: Thread-1 parent INFO "CONSOLE_MESSAGE: (warn) [JavaScript Warning: "ReferenceError: assignment to undeclared variable _XPCSHELL_PROCESS" {file: "/home/keeler/mozilla-central/testing/xpcshell/head.js" line: 1261}]"
 0:01.01 LOG: Thread-1 parent INFO "CONSOLE_MESSAGE: (info) No chrome package registered for chrome://branding/locale/brand.properties"
 0:01.02 LOG: Thread-1 parent INFO "CONSOLE_MESSAGE: (info) No chrome package registered for chrome://branding/locale/brand.properties"
 0:01.06 PROCESS_OUTPUT: Thread-1 (pid:17974) "[Child 17990] WARNING: '!compMgr', file /home/keeler/mozilla-central/xpcom/glue/nsComponentManagerUtils.cpp, line 63"
 0:01.56 PROCESS_OUTPUT: Thread-1 (pid:17974) "[Child 17990] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file /home/keeler/mozilla-central/toolkit/xre/nsXREDirProvider.cpp, line 1703"
 0:01.93 PROCESS_OUTPUT: Thread-1 (pid:17974) "[Parent 17974] WARNING: 'NS_FAILED(rv)', file /home/keeler/mozilla-central/extensions/spellcheck/src/mozPersonalDictionary.cpp, line 215"
 0:01.97 PROCESS_OUTPUT: Thread-1 (pid:17974) "Hit MOZ_CRASH(Aborting on channel error.) at /home/keeler/mozilla-central/ipc/glue/MessageChannel.cpp:2155"
 0:02.47 PROCESS_OUTPUT: Thread-1 (pid:17974) "#01: mozilla::ipc::MessageChannel::OnChannelErrorFromLink() (/home/keeler/mozilla-central/ipc/glue/MessageChannel.cpp:2155 (discriminator 1))"
 0:02.47 PROCESS_OUTPUT: Thread-1 (pid:17974) "#02: mozilla::ipc::ProcessLink::OnChannelError() (/home/keeler/mozilla-central/ipc/glue/MessageLink.cpp:367)"
 0:02.50 PROCESS_OUTPUT: Thread-1 (pid:17974) "#03: IPC::Channel::ChannelImpl::OnFileCanReadWithoutBlocking(int) (/home/keeler/mozilla-central/ipc/chromium/src/chrome/common/ipc_channel_posix.cc:804)"
 0:02.56 PROCESS_OUTPUT: Thread-1 (pid:17974) "#04: base::MessagePumpLibevent::OnLibeventNotification(int, short, void*) (/home/keeler/mozilla-central/ipc/chromium/src/base/message_pump_libevent.cc:256)"
 0:02.59 PROCESS_OUTPUT: Thread-1 (pid:17974) "#05: event_persist_closure (/home/keeler/mozilla-central/ipc/chromium/src/third_party/libevent/event.c:1302)"
 0:02.59 PROCESS_OUTPUT: Thread-1 (pid:17974) "#06: event_process_active_single_queue (/home/keeler/mozilla-central/ipc/chromium/src/third_party/libevent/event.c:1346)"
 0:02.61 PROCESS_OUTPUT: Thread-1 (pid:17974) "#07: event_process_active (/home/keeler/mozilla-central/ipc/chromium/src/third_party/libevent/event.c:1420)"
 0:02.61 PROCESS_OUTPUT: Thread-1 (pid:17974) "#08: event_base_loop (/home/keeler/mozilla-central/ipc/chromium/src/third_party/libevent/event.c:1621)"
 0:02.61 PROCESS_OUTPUT: Thread-1 (pid:17974) "#09: base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) (/home/keeler/mozilla-central/ipc/chromium/src/base/message_pump_libevent.cc:373)"
 0:02.61 PROCESS_OUTPUT: Thread-1 (pid:17974) "#10: MessageLoop::RunInternal() (/home/keeler/mozilla-central/ipc/chromium/src/base/message_loop.cc:239)"
 0:02.61 PROCESS_OUTPUT: Thread-1 (pid:17974) "#11: MessageLoop::RunHandler() (/home/keeler/mozilla-central/ipc/chromium/src/base/message_loop.cc:232)"
 0:02.62 PROCESS_OUTPUT: Thread-1 (pid:17974) "#12: MessageLoop::Run() (/home/keeler/mozilla-central/ipc/chromium/src/base/message_loop.cc:211)"
 0:02.63 PROCESS_OUTPUT: Thread-1 (pid:17974) "#13: base::Thread::ThreadMain() (/home/keeler/mozilla-central/ipc/chromium/src/base/thread.cc:183)"
 0:02.63 PROCESS_OUTPUT: Thread-1 (pid:17974) "#14: ThreadFunc(void*) (/home/keeler/mozilla-central/ipc/chromium/src/base/platform_thread_posix.cc:38)"
 0:02.67 PROCESS_OUTPUT: Thread-1 (pid:17974) "#15: start_thread (pthread_create.c:?)"
 0:02.68 PROCESS_OUTPUT: Thread-1 (pid:17974) "#16: __GI___clone (:?)"
 0:02.68 PROCESS_OUTPUT: Thread-1 (pid:17974) "#17: ??? (???:???)"
 0:02.68 PROCESS_OUTPUT: Thread-1 (pid:17974) "Program /home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/dist/bin/plugin-container (pid = 17990) received signal 11."
 0:02.68 PROCESS_OUTPUT: Thread-1 (pid:17974) "Stack:"
 0:05.10 PROCESS_OUTPUT: Thread-1 (pid:17974) "#01: js::UnixExceptionHandler(int, siginfo_t*, void*) (/home/keeler/mozilla-central/js/src/ds/MemoryProtectionExceptionHandler.cpp:267)"
 0:05.46 PROCESS_OUTPUT: Thread-1 (pid:17974) "#02: void WasmFaultHandler<(Signal)0>(int, siginfo_t*, void*) (/home/keeler/mozilla-central/js/src/wasm/WasmSignalHandlers.cpp:1211)"
 0:05.46 PROCESS_OUTPUT: Thread-1 (pid:17974) "#03: __restore_rt (sigaction.c:?)"
 0:05.46 PROCESS_OUTPUT: Thread-1 (pid:17974) "#04: mozilla::ipc::MessageChannel::OnChannelErrorFromLink() (/home/keeler/mozilla-central/ipc/glue/MessageChannel.cpp:2155 (discriminator 2))"
 0:05.46 PROCESS_OUTPUT: Thread-1 (pid:17974) "#05: mozilla::ipc::ProcessLink::OnChannelError() (/home/keeler/mozilla-central/ipc/glue/MessageLink.cpp:367)"
 0:05.46 PROCESS_OUTPUT: Thread-1 (pid:17974) "#06: IPC::Channel::ChannelImpl::OnFileCanReadWithoutBlocking(int) (/home/keeler/mozilla-central/ipc/chromium/src/chrome/common/ipc_channel_posix.cc:804)"
 0:05.46 PROCESS_OUTPUT: Thread-1 (pid:17974) "#07: base::MessagePumpLibevent::OnLibeventNotification(int, short, void*) (/home/keeler/mozilla-central/ipc/chromium/src/base/message_pump_libevent.cc:256)"
 0:05.46 PROCESS_OUTPUT: Thread-1 (pid:17974) "#08: event_persist_closure (/home/keeler/mozilla-central/ipc/chromium/src/third_party/libevent/event.c:1302)"
 0:05.46 PROCESS_OUTPUT: Thread-1 (pid:17974) "#09: event_process_active_single_queue (/home/keeler/mozilla-central/ipc/chromium/src/third_party/libevent/event.c:1346)"
 0:05.46 PROCESS_OUTPUT: Thread-1 (pid:17974) "#10: event_process_active (/home/keeler/mozilla-central/ipc/chromium/src/third_party/libevent/event.c:1420)"
 0:05.46 PROCESS_OUTPUT: Thread-1 (pid:17974) "#11: event_base_loop (/home/keeler/mozilla-central/ipc/chromium/src/third_party/libevent/event.c:1621)"
 0:05.46 PROCESS_OUTPUT: Thread-1 (pid:17974) "#12: base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) (/home/keeler/mozilla-central/ipc/chromium/src/base/message_pump_libevent.cc:373)"
 0:05.46 PROCESS_OUTPUT: Thread-1 (pid:17974) "#13: MessageLoop::RunInternal() (/home/keeler/mozilla-central/ipc/chromium/src/base/message_loop.cc:239)"
 0:05.46 PROCESS_OUTPUT: Thread-1 (pid:17974) "#14: MessageLoop::RunHandler() (/home/keeler/mozilla-central/ipc/chromium/src/base/message_loop.cc:232)"
 0:05.46 PROCESS_OUTPUT: Thread-1 (pid:17974) "#15: MessageLoop::Run() (/home/keeler/mozilla-central/ipc/chromium/src/base/message_loop.cc:211)"
 0:05.46 PROCESS_OUTPUT: Thread-1 (pid:17974) "#16: base::Thread::ThreadMain() (/home/keeler/mozilla-central/ipc/chromium/src/base/thread.cc:183)"
 0:05.46 PROCESS_OUTPUT: Thread-1 (pid:17974) "#17: ThreadFunc(void*) (/home/keeler/mozilla-central/ipc/chromium/src/base/platform_thread_posix.cc:38)"
 0:05.46 PROCESS_OUTPUT: Thread-1 (pid:17974) "#18: start_thread (pthread_create.c:?)"
 0:05.46 PROCESS_OUTPUT: Thread-1 (pid:17974) "#19: __GI___clone (:?)"
 0:05.46 PROCESS_OUTPUT: Thread-1 (pid:17974) "#20: ??? (???:???)"
 0:05.46 PROCESS_OUTPUT: Thread-1 (pid:17974) "Sleeping for 300 seconds."
 0:05.46 PROCESS_OUTPUT: Thread-1 (pid:17974) "Type 'gdb /home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/dist/bin/plugin-container 17990' to attach your debugger to this thread."
 5:00.33 TEST_END: Thread-2 TIMEOUT, expected PASS
Test timed out
 5:00.33 LOG: Thread-2 INFO xpcshell return code: None
 5:01.97 PROCESS_OUTPUT: Thread-1 (pid:17974) "Done sleeping..."
 5:01.98 LOG: MainThread INFO INFO | Result summary:
 5:01.98 LOG: MainThread INFO INFO | Passed: 0
 5:01.98 LOG: MainThread INFO INFO | Failed: 1
 5:01.98 LOG: MainThread INFO INFO | Todo: 0
 5:01.98 LOG: MainThread INFO INFO | Retried: 0
 5:01.98 SUITE_END: MainThread 
Summary
=======

Ran 1 tests
Expected results: 0
Unexpected results: 1 (TIMEOUT: 1)

Unexpected Results
==================

TIMEOUT security/manager/ssl/tests/unit/test_hash_algorithms_wrap.js

Other tests that also use run_test_in_child (e.g. netwerk/test/unit_ipc/test_channel_close_wrap.js) fail in the same way.

(This is on Fedora 25)
I can't get any of these tests to fail when running locally on Debian (jessie) Linux. So the question is thus, is there some other settings you have going on that are influencing the result, or what would be significantly different about your runtime environment? The log you pasted there doesn't really hint at anything in particular or even run through the affected code.

Does setting the print.print_via_parent pref to false make the problem go away?
Flags: needinfo?(dkeeler)
Does changing optimization flags (or disabling it) change the outcome?

Anything suspicious when running with export MOZ_SANDBOX_VERBOSE=1?
Doesn't seem to be sandbox-related. print.print_via_parent also didn't help.

Running under gdb results in catching a segfault in the parent:

keeler@x260 ~/mozilla-central $ ./mach xpcshell-test --debugger=gdb security/manager/ssl/tests/unit/test_hash_algorithms_wrap.js 
Elapsed: 1.58s; From _tests: Kept 30288 existing; Added/updated 0; Removed 0 files and 0 directories.
 0:00.35 LOG: MainThread INFO Running tests sequentially.
 0:00.35 SUITE_START: MainThread 1
 0:00.35 LOG: Thread-1 INFO profile dir is /tmp/firefox/xpcshellprofile
 0:00.36 TEST_START: Thread-1 security/manager/ssl/tests/unit/test_hash_algorithms_wrap.js
 0:00.36 LOG: Thread-1 INFO security/manager/ssl/tests/unit/test_hash_algorithms_wrap.js | full command: ['/usr/bin/gdb', '-q', '--args', '/home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/dist/bin/xpcshell', '-g', '/home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/dist/bin', '-a', '/home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/dist/bin', '-r', '/home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/dist/bin/components/httpd.manifest', '-m', '-s', '-e', 'const _HEAD_JS_PATH = "/home/keeler/mozilla-central/testing/xpcshell/head.js";', '-e', 'const _MOZINFO_JS_PATH = "/tmp/firefox/xpcshellprofile/mozinfo.json";', '-e', 'const _TESTING_MODULES_DIR = "/home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/_tests/modules/";', '-f', '/home/keeler/mozilla-central/testing/xpcshell/head.js', '-p', '/home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/temp/xpc-plugins-JeXlth', '-e', 'const _SERVER_ADDR = "localhost"', '-e', 'const _HEAD_FILES = ["/home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/_tests/xpcshell/security/manager/ssl/tests/unit/head_psm.js"];', '-e', 'const _TAIL_FILES = [];', '-e', 'const _JSDEBUGGER_PORT = 0;', '-e', 'const _TEST_FILE = ["/home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/_tests/xpcshell/security/manager/ssl/tests/unit/test_hash_algorithms_wrap.js"];', '-e', 'const _TEST_NAME = "security/manager/ssl/tests/unit/test_hash_algorithms_wrap.js"', '-e', '_execute_test(); quit(0);']
 0:00.36 LOG: Thread-1 INFO security/manager/ssl/tests/unit/test_hash_algorithms_wrap.js | current directory: '/home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/_tests/xpcshell/security/manager/ssl/tests/unit'
 0:00.36 LOG: Thread-1 INFO security/manager/ssl/tests/unit/test_hash_algorithms_wrap.js | environment: ['XPCSHELL_TEST_TEMP_DIR=/home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/temp/xpc-other-3sNNma', 'XPCSHELL_TEST_PROFILE_DIR=/tmp/firefox/xpcshellprofile', 'MOZ_DISABLE_NONLOCAL_CONNECTIONS=1', 'XPCOM_DEBUG_BREAK=stack-and-abort', 'LD_LIBRARY_PATH=/home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/dist/bin', 'MOZ_CRASHREPORTER_NO_REPORT=1']
Reading symbols from /home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/dist/bin/xpcshell...done.
(gdb) r
Starting program: /home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/dist/bin/xpcshell -g /home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/dist/bin -a /home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/dist/bin -r /home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/dist/bin/components/httpd.manifest -m -s -e const\ _HEAD_JS_PATH\ =\ \"/home/keeler/mozilla-central/testing/xpcshell/head.js\"\; -e const\ _MOZINFO_JS_PATH\ =\ \"/tmp/firefox/xpcshellprofile/mozinfo.json\"\; -e const\ _TESTING_MODULES_DIR\ =\ \"/home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/_tests/modules/\"\; -f /home/keeler/mozilla-central/testing/xpcshell/head.js -p /home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/temp/xpc-plugins-JeXlth -e const\ _SERVER_ADDR\ =\ \"localhost\" -e const\ _HEAD_FILES\ =\ \[\"/home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/_tests/xpcshell/security/manager/ssl/tests/unit/head_psm.js\"\]\; -e const\ _TAIL_FILES\ =\ \[\]\; -e const\ _JSDEBUGGER_PORT\ =\ 0\; -e const\ _TEST_FILE\ =\ \[\"/home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/_tests/xpcshell/security/manager/ssl/tests/unit/test_hash_algorithms_wrap.js\"\]\; -e const\ _TEST_NAME\ =\ \"security/manager/ssl/tests/unit/test_hash_algorithms_wrap.js\" -e _execute_test\(\)\;\ quit\(0\)\;
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Loading JavaScript value pretty-printers; see js/src/gdb/README.
If they cause trouble, type: disable pretty-printer .* SpiderMonkey
SpiderMonkey unwinder is disabled by default, to enable it type:
	enable unwinder .* SpiderMonkey
warning: Missing auto-load script at offset 0 in section .debug_gdb_scripts
of file /home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/dist/bin/libxul.so.
Use `info auto-load python-scripts [REGEXP]' to list them.
warning: the debug information found in "/usr/lib/debug//lib64/libwayland-egl.so.1.0.0.debug" does not match "/lib64/libwayland-egl.so.1" (CRC mismatch).

warning: the debug information found in "/usr/lib/debug//usr/lib64/libwayland-egl.so.1.0.0.debug" does not match "/lib64/libwayland-egl.so.1" (CRC mismatch).

warning: the debug information found in "/usr/lib/debug//lib64/libEGL.so.1.0.0.debug" does not match "/lib64/libEGL.so.1" (CRC mismatch).

warning: the debug information found in "/usr/lib/debug//usr/lib64/libEGL.so.1.0.0.debug" does not match "/lib64/libEGL.so.1" (CRC mismatch).

warning: the debug information found in "/usr/lib/debug//lib64/libGL.so.1.2.0.debug" does not match "/lib64/libGL.so.1" (CRC mismatch).

warning: the debug information found in "/usr/lib/debug//usr/lib64/libGL.so.1.2.0.debug" does not match "/lib64/libGL.so.1" (CRC mismatch).

warning: the debug information found in "/usr/lib/debug//lib64/libgbm.so.1.0.0.debug" does not match "/lib64/libgbm.so.1" (CRC mismatch).

warning: the debug information found in "/usr/lib/debug//usr/lib64/libgbm.so.1.0.0.debug" does not match "/lib64/libgbm.so.1" (CRC mismatch).

warning: the debug information found in "/usr/lib/debug//lib64/libglapi.so.0.0.0.debug" does not match "/lib64/libglapi.so.0" (CRC mismatch).

warning: the debug information found in "/usr/lib/debug//usr/lib64/libglapi.so.0.0.0.debug" does not match "/lib64/libglapi.so.0" (CRC mismatch).

Detaching after fork from child process 27453.
[New Thread 0x7fffd9766700 (LWP 27454)]
[Thread 0x7fffd9766700 (LWP 27454) exited]
[New Thread 0x7fffd9766700 (LWP 27455)]
[New Thread 0x7fffd80ff700 (LWP 27456)]
[New Thread 0x7fffd78fe700 (LWP 27457)]
[New Thread 0x7fffd70fd700 (LWP 27458)]
[New Thread 0x7fffd68fc700 (LWP 27459)]
[New Thread 0x7fffd60fb700 (LWP 27460)]
[New Thread 0x7fffd58fa700 (LWP 27461)]
[New Thread 0x7fffd50f9700 (LWP 27462)]
[New Thread 0x7fffd48f8700 (LWP 27463)]
[New Thread 0x7fffd40f7700 (LWP 27464)]
[New Thread 0x7fffd38f6700 (LWP 27465)]
[New Thread 0x7fffd30f5700 (LWP 27466)]
Sandbox: policy for /: 1 -> 35
Sandbox: policy for /dev/shm: 1 -> 47
Sandbox: policy for /tmp: 1 -> 47
Sandbox: policy for /dev/dri: 1 -> 39
[New Thread 0x7fffd21ff700 (LWP 27467)]

{"action":"log","time":1484086371513,"thread":null,"pid":null,"source":"xpcshell/head.js","level":"INFO","message":"(xpcshell/head.js) | test MAIN run_test pending (1)"}
JavaScript strict warning: /home/keeler/mozilla-central/testing/xpcshell/head.js, line 1261: ReferenceError: assignment to undeclared variable _XPCSHELL_PROCESS
Detaching after fork from child process 27468.
[Parent 27445] WARNING: 'NS_FAILED(rv)', file /home/keeler/mozilla-central/dom/media/gmp/GMPServiceParent.cpp, line 289

{"action":"log","time":1484086371522,"thread":null,"pid":null,"source":"xpcshell/head.js","level":"INFO","message":"(xpcshell/head.js) | test run in child pending (2)","xpcshell_process":"parent"}

{"action":"log","time":1484086371528,"thread":null,"pid":null,"source":"xpcshell/head.js","level":"INFO","message":"(xpcshell/head.js) | test MAIN run_test finished (2)","xpcshell_process":"parent"}

{"action":"log","time":1484086371535,"thread":null,"pid":null,"source":"xpcshell/head.js","level":"INFO","message":"running event loop","xpcshell_process":"parent"}
Couldn't convert chrome URL: chrome://branding/locale/brand.properties
Couldn't convert chrome URL: chrome://branding/locale/brand.properties
[Parent 27445] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80520012: file /home/keeler/mozilla-central/netwerk/base/nsIOService.cpp, line 793
[Parent 27445] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80520012: file /home/keeler/mozilla-central/netwerk/base/nsNetUtilInlines.h, line 180
[Parent 27445] WARNING: Could not get the program name for a cubeb stream.: 'NS_SUCCEEDED(rv)', file /home/keeler/mozilla-central/dom/media/CubebUtils.cpp, line 203

{"action":"log","time":1484086371539,"thread":null,"pid":null,"source":"xpcshell/head.js","level":"INFO","message":"\"CONSOLE_MESSAGE: (warn) [JavaScript Warning: \"ReferenceError: assignment to undeclared variable _XPCSHELL_PROCESS\" {file: \"/home/keeler/mozilla-central/testing/xpcshell/head.js\" line: 1261}]\"","xpcshell_process":"parent"}

{"action":"log","time":1484086371540,"thread":null,"pid":null,"source":"xpcshell/head.js","level":"INFO","message":"\"CONSOLE_MESSAGE: (info) No chrome package registered for chrome://branding/locale/brand.properties\"","xpcshell_process":"parent"}

{"action":"log","time":1484086371542,"thread":null,"pid":null,"source":"xpcshell/head.js","level":"INFO","message":"\"CONSOLE_MESSAGE: (info) No chrome package registered for chrome://branding/locale/brand.properties\"","xpcshell_process":"parent"}
[Child 27468] WARNING: '!compMgr', file /home/keeler/mozilla-central/xpcom/glue/nsComponentManagerUtils.cpp, line 63
[Child 27468] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file /home/keeler/mozilla-central/toolkit/xre/nsXREDirProvider.cpp, line 1703
[New Thread 0x7fffd14ff700 (LWP 27485)]
[Parent 27445] WARNING: 'NS_FAILED(rv)', file /home/keeler/mozilla-central/extensions/spellcheck/src/mozPersonalDictionary.cpp, line 215
[New Thread 0x7fffd0af1700 (LWP 27486)]
[New Thread 0x7fffd02f0700 (LWP 27487)]
[New Thread 0x7fffcfaef700 (LWP 27488)]
[New Thread 0x7fffcf1ce700 (LWP 27489)]
[New Thread 0x7fffce9cd700 (LWP 27490)]

Thread 1 "xpcshell" received signal SIGSEGV, Segmentation fault.
XrmQGetResource (db=0x40, names=names@entry=0x7fffffff22d0, classes=classes@entry=0x7fffffff22e0, pType=pType@entry=0x7fffffff22bc, pValue=pValue@entry=0x7fffffff22c0) at Xrm.c:2552
2552		table = db->table;
Missing separate debuginfos, use: dnf debuginfo-install gdk-pixbuf2-2.36.2-1.fc25.x86_64 gtk3-3.22.5-1.fc25.x86_64 lz4-1.7.4.2-1.fc25.x86_64 mesa-libEGL-13.0.2-2.fc25.x86_64 mesa-libGL-13.0.2-2.fc25.x86_64 mesa-libgbm-13.0.2-2.fc25.x86_64 mesa-libglapi-13.0.2-2.fc25.x86_64 mesa-libwayland-egl-13.0.2-2.fc25.x86_64
(gdb) bt
#0  0x00007fffe7afee30 in XrmQGetResource (db=0x40, names=names@entry=0x7fffffff22d0, classes=classes@entry=0x7fffffff22e0, pType=pType@entry=0x7fffffff22bc, pValue=pValue@entry=0x7fffffff22c0) at Xrm.c:2552
#1  0x00007fffe7adb2a6 in XGetDefault (dpy=0x7fffd17a7100, prog=<optimized out>, name=0x7ffff5122e3b "lcdfilter") at GetDflt.c:231
#2  0x00007fffef3ee31c in GetXftInt(_XDisplay*, char const*, int*) (aDisplay=0x7fffd17a7100, aName=0x7ffff5122e3b "lcdfilter", aResult=0x7fffffff2374)
    at /home/keeler/mozilla-central/gfx/thebes/gfxFcPlatformFontList.cpp:732
#3  0x00007fffef3ea52b in PreparePattern(_FcPattern*, bool) (aPattern=0x7fffd15cf040, aIsPrinterFont=false) at /home/keeler/mozilla-central/gfx/thebes/gfxFcPlatformFontList.cpp:782
#4  0x00007fffef3ea30e in gfxFontconfigFontEntry::CreateFontInstance(gfxFontStyle const*, bool) (this=0x7fffd220c800, aFontStyle=0x7fffffff2548, aNeedsBold=false)
    at /home/keeler/mozilla-central/gfx/thebes/gfxFcPlatformFontList.cpp:802
#5  0x00007fffef4645c7 in gfxFontEntry::FindOrMakeFont(gfxFontStyle const*, bool, gfxCharacterMap*) (this=0x7fffd220c800, aStyle=0x7fffffff2548, aNeedsBold=false, aUnicodeRangeMap=0x0)
    at /home/keeler/mozilla-central/gfx/thebes/gfxFontEntry.cpp:284
#6  0x00007fffef3ea85a in gfxFcPlatformFontList::GetFTLibrary() () at /home/keeler/mozilla-central/gfx/thebes/gfxFcPlatformFontList.cpp:1527
#7  0x00007fffef412b6e in gfxPlatformGtk::GetFTLibrary() (this=0x7fffd17fc100) at /home/keeler/mozilla-central/gfx/thebes/gfxPlatformGtk.cpp:355
#8  0x00007fffef406ed7 in gfxPlatform::Init() () at /home/keeler/mozilla-central/gfx/thebes/gfxPlatform.cpp:747
#9  0x00007fffef405cf7 in gfxPlatform::GetPlatform() () at /home/keeler/mozilla-central/gfx/thebes/gfxPlatform.cpp:534
#10 0x00007ffff169804a in mozilla::dom::ContentParent::RecvGetXPCOMProcessAttributes(bool*, bool*, int*, bool*, bool*, nsTArray<nsString>*, mozilla::dom::ClipboardCapabilities*, mozilla::dom::DomainPolicyClone*, mozilla::dom::ipc::StructuredCloneData*, nsTArray<mozilla::dom::FontFamilyListEntry>*, mozilla::ipc::OptionalURIParams*, nsTArray<LookAndFeelInt>*) (
    this=0x7fffd17c0000, aIsOffline=0x7fffffff4617, aIsConnected=0x7fffffff4616, aCaptivePortalState=0x7fffffff4610, aIsLangRTL=0x7fffffff460f, aHaveBidiKeyboards=0x7fffffff460e, dictionaries=0x7fffffff4600, clipboardCaps=0x7fffffff45f8, domainPolicy=0x7fffffff45d0, aInitialData=0x7fffffff4500, fontFamilies=0x7fffffff44f8, aUserContentCSSURL=0x7fffffff44e8, aLookAndFeelIntCache=0x7fffffff44e0)
    at /home/keeler/mozilla-central/dom/ipc/ContentParent.cpp:2578
#11 0x00007fffeebb19d4 in mozilla::dom::PContentParent::OnMessageReceived(IPC::Message const&, IPC::Message*&) (this=0x7fffd17c0000, msg__=..., reply__=@0x7fffffff4838: 0x0)
    at /home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/ipc/ipdl/PContentParent.cpp:6203
#12 0x00007fffee57d161 in mozilla::ipc::MessageChannel::DispatchSyncMessage(IPC::Message const&, IPC::Message*&) (this=0x7fffd17c00f8, aMsg=..., aReply=@0x7fffffff4838: 0x0)
    at /home/keeler/mozilla-central/ipc/glue/MessageChannel.cpp:1721
#13 0x00007fffee57be57 in mozilla::ipc::MessageChannel::DispatchMessage(IPC::Message&&) (this=0x7fffd17c00f8, aMsg=<unknown type in /home/keeler/mozilla-central/obj-x86_64-pc-linux-gnu/dist/bin/libxul.so, CU 0x15a80b3, DIE 0x15f772e>) at /home/keeler/mozilla-central/ipc/glue/MessageChannel.cpp:1684
#14 0x00007fffee57caa3 in mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::MessageChannel::MessageTask&) (this=0x7fffd17c00f8, aTask=...) at /home/keeler/mozilla-central/ipc/glue/MessageChannel.cpp:1572
#15 0x00007fffee57ceb8 in mozilla::ipc::MessageChannel::MessageTask::Run() (this=0x7fffe0372200) at /home/keeler/mozilla-central/ipc/glue/MessageChannel.cpp:1597
#16 0x00007fffedc838e8 in nsThread::ProcessNextEvent(bool, bool*) (this=0x7fffe03a9040, aMayWait=true, aResult=0x7fffffff4bd8) at /home/keeler/mozilla-central/xpcom/threads/nsThread.cpp:1240
#17 0x00007fffedcbafe6 in NS_InvokeByIndex () at /home/keeler/mozilla-central/xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_x86_64_unix.S:115
#18 0x00007fffeedd69c4 in CallMethodHelper::Invoke() (this=0x7fffffff4b78) at /home/keeler/mozilla-central/js/xpconnect/src/XPCWrappedNative.cpp:2049
#19 0x00007fffeedcea3b in CallMethodHelper::Call() (this=0x7fffffff4b78) at /home/keeler/mozilla-central/js/xpconnect/src/XPCWrappedNative.cpp:1368
#20 0x00007fffeedb1922 in XPCWrappedNative::CallMethod(XPCCallContext&, XPCWrappedNative::CallMode) (ccx=..., mode=XPCWrappedNative::CALL_METHOD)
    at /home/keeler/mozilla-central/js/xpconnect/src/XPCWrappedNative.cpp:1335
#21 0x00007fffeedb38f7 in XPC_WN_CallMethod(JSContext*, unsigned int, JS::Value*) (cx=0x7fffd814f000, argc=1, vp=0x7fffffff4ed0) at /home/keeler/mozilla-central/js/xpconnect/src/XPCWrappedNativeJSOps.cpp:996
#22 0x00007fffe05e1a15 in  ()
#23 0x00007fffd814f000 in  ()
#24 0x00007fffffff4ea8 in  ()
#25 0x00007fffffff4f08 in  ()
#26 0x0000000000000000 in  ()
(gdb) 

The db argument that appears to be the bogus pointer 0x40 comes from the db field of the result of calling DefaultXDisplay().
Flags: needinfo?(dkeeler)
That backtrace makes a lot more sense. It looks like GetFTLibrary is getting called with some bogus X display. I'll look into a fix for this tonight.
Wait, you're using Wayland instead of X11?
Flags: needinfo?(dkeeler)
So, apparently, if you build with gtk2/3 toolkits, it will automatically force building in of X11 support. Because of query of the default FT library, we accidentally now make a blind call to DefaultXDisplay, which is blindly casting the GdkDisplay to an X11 Display even though it is not... Simplest fix here seems to be to simply check if it is actually an X11 display before we do that.
Assignee: nobody → lsalzman
Status: NEW → ASSIGNED
Attachment #8825647 - Flags: review?(karlt)
Comment on attachment 8825647 [details] [diff] [review]
don't query Xft for default lcdfilter when using Wayland

Patch looks good thanks.

The problem may result from taking this path to opening a default display, which does not prefer an X11 display.

http://searchfox.org/mozilla-central/rev/225ab0637ed51b8b3f9f4ee2f9c339a37a65b626/gfx/thebes/gfxPlatformGtk.cpp#80

So there may be other similar situations lurking, but perhaps not so many if this worked before 5c25a123203a.  Perhaps consider DefaultXDisplay() returning null when the default display is not an X11 display, if this comes up again.
Attachment #8825647 - Flags: review?(karlt) → review+
Pushed by lsalzman@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/997c6b961cd0
don't query Xft for default lcdfilter when using Wayland. r=karlt
(In reply to Lee Salzman [:lsalzman] from comment #5)
> Wait, you're using Wayland instead of X11?

I guess? I think it's whatever the default is in Fedora 25. Anyway, thanks for looking into this!
Flags: needinfo?(dkeeler)
(In reply to David Keeler [:keeler] (use needinfo?) from comment #9)
> (In reply to Lee Salzman [:lsalzman] from comment #5)
> > Wait, you're using Wayland instead of X11?
> 
> I guess? I think it's whatever the default is in Fedora 25. Anyway, thanks
> for looking into this!

Yeah, that's why I guessed you're on Wayland, since that is now apparently Fedora 25's default... Probably confusing many other users. :(
https://hg.mozilla.org/mozilla-central/rev/997c6b961cd0
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla53
Whiteboard: [tor 23970]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: