Closed Bug 675036 Opened 14 years ago Closed 14 years ago

xpcshell unit_ipc tests hang on Android

Categories

(Core :: Networking, defect)

x86
Android
defect
Not set
normal

Tracking

()

RESOLVED INVALID

People

(Reporter: gbrown, Unassigned)

Details

With patches for bug 668349 and 668351, the network xpcshell tests can be run on an Android device. Most of the /unit tests pass, but all of the /unit_ipc tests hang and must be skipped with "skip-if" entries in xpcshell.ini. Breaking out of a /unit_ipc test provides log info such as: package set: org.mozilla.fennec_unofficial chmod /data/local/tests/xpcshell/profile TEST-INFO | profile dir is /data/local/tests/xpcshell/profile TEST-INFO | /home/geoff/src/mozilla-central/objdir-droid/_tests/xpcshell/netwerk/test/unit_ipc/test_channel_close_wrap.js | running test ... cd /data/local/tests/xpcshell/scripts/unit_ipc; LD_LIBRARY_PATH=/data/local/tests/xpcshell/bin; GRE_HOME=/data/data/org.mozilla.fennec_unofficial; export GRE_HOME; XPCSHELL_TEST_PROFILE_DIR=/data/local/tests/xpcshell/profile; export XPCSHELL_TEST_PROFILE_DIR; /data/local/tests/xpcshell/bin/xpcshell -r /data/local/tests/xpcshell/components/httpd.manifest --greomni /data/local/tests/xpcshell/bin/fennec-8.0a1.en-US.eabi-arm.apk -j -s -e 'const _HTTPD_JS_PATH = "/data/local/tests/xpcshell/components/httpd.js";' -e 'const _HEAD_JS_PATH = "/data/local/tests/xpcshell/scripts/head.js";' -f /data/local/tests/xpcshell/scripts/head.js -e 'const _SERVER_ADDR = "localhost"' -e 'const _HEAD_FILES = ["/data/local/tests/xpcshell/scripts/unit_ipc/head_channels_clone.js"];' -e 'const _TAIL_FILES = [];' -e 'const _TEST_FILE = ["/data/local/tests/xpcshell/scripts/unit_ipc/test_channel_close_wrap.js"];' -e '_execute_test(); quit(0);' ^CTEST-UNEXPECTED-FAIL | /home/geoff/src/mozilla-central/objdir-droid/_tests/xpcshell/netwerk/test/unit_ipc/test_channel_close_wrap.js | test failed (with xpcshell return code: -2), see following log: >>>>>>> WARNING: XPCOM objects created/destroyed from static ctor/dtor: file /home/geoff/src/mozilla-central/xpcom/base/nsTraceRefcntImpl.cpp, line 172 WARNING: No default pref files found.: file /home/geoff/src/mozilla-central/modules/libpref/src/Preferences.cpp, line 923 WARNING: GetIsLinkUp is not supported without a bridge connection: file /home/geoff/src/mozilla-central/netwerk/system/android/nsAndroidNetworkLinkService.cpp, line 61 TEST-INFO | (xpcshell/head.js) | test 1 pending parent: TEST-INFO | (xpcshell/head.js) | test 2 pending WARNING: FAILED TO exec() CHILD PROCESS, path: /data/local/tests/xpcshell/bin/plugin-container: file /home/geoff/src/mozilla-central/ipc/chromium/src/base/process_util_linux.cc, line 82 nsStringStats => mAllocCount: 1454 => mReallocCount: 93 => mFreeCount: 173 -- LEAKED 1281 !!! => mShareCount: 6978 => mAdoptCount: 56 => mAdoptFreeCount: 54 -- LEAKED 2 !!! parent: TEST-INFO | (xpcshell/head.js) | test 2 finished parent: TEST-INFO | (xpcshell/head.js) | running event loop WARNING: pipe error (41): Connection reset by peer: file /home/geoff/src/mozilla-central/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 422 <<<<<<< TEST-UNEXPECTED-FAIL | Received SIGINT (control-C) during test execution INFO | Result summary: INFO | Passed: 0 INFO | Failed: 1 INFO | Todo: 0 Traceback (most recent call last): File "../../../config/pythonpath.py", line 52, in <module> main(sys.argv[1:]) File "../../../config/pythonpath.py", line 44, in main execfile(script, frozenglobals) File "../../../testing/xpcshell/remotexpcshelltests.py", line 293, in <module> main() File "../../../testing/xpcshell/remotexpcshelltests.py", line 288, in main **options.__dict__): File "../../../testing/xpcshell/runxpcshelltests.py", line 582, in runTests log.error("TEST-UNEXPECTED-FAIL | Received SIGINT (control-C), so stopped run. " \ AttributeError: 'str' object has no attribute 'error'
WARNING: FAILED TO exec() CHILD PROCESS, path: /data/local/tests/xpcshell/bin/plugin-container: file /home/geoff/src/mozilla-central/ipc/chromium/src/base/process_util_linux.cc, line 82 That would be the problem.
(In reply to comment #1) > That would be the problem. Thanks so much Josh - I cannot believe I missed that! Unfortunately, after copying plugin-container to the device, these tests still crash, now complaining about libraries. These libraries are in the same location as xpcshell and plugin-container, and that directory is in LD_LIBRARY_PATH, so I'm not sure what the problem is. E/GeckoLibLoad(20429): resolved lib/libmozalloc.so to (null)/libmozalloc.so E/GeckoLibLoad(20429): Couldn't open (null)/libmozalloc.so to decompress library E/GeckoLibLoad(20429): Couldn't load (null)/libmozalloc.so because Cannot load library: load_library[1083]: Library '(null)/libmozalloc.so' not found E/GeckoLibLoad(20429): lib/libmozalloc.so: spent 17064 E/GeckoLibLoad(20429): resolved lib/libnspr4.so to (null)/libnspr4.so E/GeckoLibLoad(20429): Couldn't open (null)/libnspr4.so to decompress library E/GeckoLibLoad(20429): Couldn't load (null)/libnspr4.so because Cannot load library: load_library[1083]: Library '(null)/libnspr4.so' not found E/GeckoLibLoad(20429): lib/libnspr4.so: spent 10450 E/GeckoLibLoad(20429): resolved lib/libplc4.so to (null)/libplc4.so E/GeckoLibLoad(20429): Couldn't open (null)/libplc4.so to decompress library E/GeckoLibLoad(20429): Couldn't load (null)/libplc4.so because Cannot load library: load_library[1083]: Library '(null)/libplc4.so' not found E/GeckoLibLoad(20429): lib/libplc4.so: spent 9713 ...
Found it! I needed to set the CACHE_PATH environment variable.
After setting CACHE_PATH, all the unit_ipc tests pass. I have updated the patch on bug 668349 accordingly.
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.