Closed
Bug 678372
Opened 13 years ago
Closed 12 years ago
reftests run without OpenGL layers even when enabled due to NSPR reaping glxtest before GfxInfo does
Categories
(Core :: Graphics, defect)
Tracking
()
RESOLVED
DUPLICATE
of bug 718629
People
(Reporter: karlt, Unassigned)
References
Details
Reftests are using PR_CreateProcess via #0 PR_CreateProcess (path=0x7fffd340ee58 "/bin/sh", argv=0x7fffbdd65ec0, envp=0x0, attr=0x0) at /home/karl/moz/dev/nsprpub/pr/src/misc/prinit.c:731 #1 0x00007ffff3cb3d5b in nsProcess::RunProcess (this=0x7fffbdf3dca0, blocking=1, my_argv=0x7fffbdd65ec0, observer=0x0, holdWeak=0, argsUTF8=0) at /home/karl/moz/dev/xpcom/threads/nsProcessCommon.cpp:535 #2 0x00007ffff3cb39ef in nsProcess::CopyArgsAndRunProcess (this=0x7fffbdf3dca0, blocking=1, args=0x7fffffff31c0, count=2, observer=0x0, holdWeak=0) at /home/karl/moz/dev/xpcom/threads/nsProcessCommon.cpp:384 #3 0x00007ffff3cb38bd in nsProcess::Run (this=0x7fffbdf3dca0, blocking=1, args=0x7fffffff31c0, count=2) at /home/karl/moz/dev/xpcom/threads/nsProcessCommon.cpp:353 #4 0x00007ffff367059b in nsOSHelperAppService::GetHandlerAndDescriptionFromMailcapFile ( aFilename=..., aMajorType=..., aMinorType=..., aTypeOptions=..., aHandler=..., aDescription=..., aMozillaFlags=...) at /home/karl/moz/dev/uriloader/exthandler/unix/nsOSHelperAppService.cpp:1136 #5 0x00007ffff366f572 in nsOSHelperAppService::DoLookUpHandlerAndDescription (aMajorType=..., aMinorType=..., aTypeOptions=..., aHandler=..., aDescription=..., aMozillaFlags=..., aUserData=0) at /home/karl/moz/dev/uriloader/exthandler/unix/nsOSHelperAppService.cpp:956 #6 0x00007ffff366f2e2 in nsOSHelperAppService::LookUpHandlerAndDescription (aMajorType=..., aMinorType=..., aTypeOptions=..., aHandler=..., aDescription=..., aMozillaFlags=...) at /home/karl/moz/dev/uriloader/exthandler/unix/nsOSHelperAppService.cpp:901 #7 0x00007ffff36712a6 in nsOSHelperAppService::GetFromExtension (this=0x7fffc67acda0, aFileExt=...) at /home/karl/moz/dev/uriloader/exthandler/unix/nsOSHelperAppService.cpp:1347 #8 0x00007ffff3672283 in nsOSHelperAppService::GetMIMEInfoFromOS (this=0x7fffc67acda0, aType=..., aFileExt=..., aFound=0x7fffffff44fc) at /home/karl/moz/dev/uriloader/exthandler/unix/nsOSHelperAppService.cpp:1543 #9 0x00007ffff3665494 in nsExternalHelperAppService::GetTypeFromExtension (this=0x7fffc67acda0, aFileExt=..., aContentType=...) at /home/karl/moz/dev/uriloader/exthandler/nsExternalHelperAppService.cpp:2706 #10 0x00007ffff3665ec3 in nsExternalHelperAppService::GetTypeFromFile (this=0x7fffc67acda0, aFile= 0x7fffbdd3d240, aContentType=...) at /home/karl/moz/dev/uriloader/exthandler/nsExternalHelperAppService.cpp:2845 #11 0x00007ffff267d996 in nsFileChannel::MakeFileInputStream (this=0x7fffbdd54080, file=0x7fffbdd3d240, stream=..., contentType=...) at /home/karl/moz/dev/netwerk/protocol/file/nsFileChannel.cpp:301 #12 0x00007ffff267df81 in nsFileChannel::OpenContentStream (this=0x7fffbdd54080, async=0, result=0x7fffffff4c00, channel=0x7fffffff4950) at /home/karl/moz/dev/netwerk/protocol/file/nsFileChannel.cpp:370 #13 0x00007ffff25ae508 in nsBaseChannel::Open (this=0x7fffbdd54080, result=0x7fffffff4c00) at /home/karl/moz/dev/netwerk/base/src/nsBaseChannel.cpp:548 #14 0x00007ffff3cd06ea in NS_InvokeByIndex_P (that=0x7fffbdd540d0, methodIndex=27, paramCount=1, params=0x7fffffff4c00) at /home/karl/moz/dev/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_x86_64_unix.cpp:195 #15 0x00007ffff35331d2 in CallMethodHelper::Invoke (this=0x7fffffff4bc0) at /home/karl/moz/dev/js/src/xpconnect/src/xpcwrappednative.cpp:3119 #16 0x00007ffff3530df3 in CallMethodHelper::Call (this=0x7fffffff4bc0) at /home/karl/moz/dev/js/src/xpconnect/src/xpcwrappednative.cpp:2373 (gdb) call DumpJSStack() 0 ReadManifest(inherited_status = 0, aURL = [xpconnect wrapped nsIURI @ 0x7fffbdefe0f0 (native @ 0x7fffbdde7108)]) ["chrome://reftest/content/reftest.js":553] refURI = undefined prettyPath = undefined testURI = undefined incURI = undefined httpDepth = undefined runHttp = undefined precondition = undefined preconditions = undefined fallback_action = undefined precondition_str = undefined args = undefined m = undefined cond = undefined stat = undefined item = undefined slow = undefined needs_focus = undefined maxAsserts = undefined minAsserts = undefined allow_silent_fail = undefined expected_status = undefined items = undefined i = undefined str = undefined urlprefix = undefined lineNo = undefined sandbox = undefined lines = undefined streamBuf = undefined inputStream = undefined channel = [xpconnect wrapped nsIChannel @ 0x7fffbdefe2b0 (native @ 0x7fffbdd54080)] listURL = [xpconnect wrapped nsIURI @ 0x7fffbdefe0f0 (native @ 0x7fffbdde7108)] secMan = [xpconnect wrapped nsIScriptSecurityManager @ 0x7fffbdefe240 (native @ 0x7fffd829f040)] this = [object ChromeWindow @ 0x7fffc6621510 (native @ 0x7fffc67e2078)] 1 ReadTopManifest(aFileURL = "file:///home/karl/moz/dev/layout/reftests/svg/as-image/reftest.list") ["chrome://reftest/content/reftest.js":541] url = [xpconnect wrapped nsIURI @ 0x7fffbdefe0f0 (native @ 0x7fffbdde7108)] this = [object ChromeWindow @ 0x7fffc6621510 (native @ 0x7fffc67e2078)] 2 StartTests() ["chrome://reftest/content/reftest.js":361] end = undefined start = undefined testsPerChunk = undefined args = [object Object] this = [object ChromeWindow @ 0x7fffc6621510 (native @ 0x7fffc67e2078)] 3 InitAndStartRefTests() ["chrome://reftest/content/reftest.js":328] windowElem = [object XULElement @ 0x7fffbdf9fdd0 (native @ 0x7fffc67c3790)] mfl = undefined prefs = [xpconnect wrapped nsIPrefBranch2 @ 0x7fffc68c0be0 (native @ 0x7fffe4771740)] this = [object ChromeWindow @ 0x7fffc6621510 (native @ 0x7fffc67e2078)] 4 RecvContentReady() ["chrome://reftest/content/reftest.js":1437] this = [object ChromeWindow @ 0x7fffc6621510 (native @ 0x7fffc67e2078)] 5 anonymous(m = [object Object]) ["chrome://reftest/content/reftest.js":1392] this = [xpconnect wrapped nsIChromeFrameMessageManager @ 0x7fffbdfc0780 (native @ 0x7fffc68c0e80)] Parsing mailcap files involves running some shell test commands, and nsIProcess is used for that. Unfortunately PR_CreateProcess causes all other child processes to be reaped (bug 227246), and so the exit status of glxtest is not caught.
Reporter | ||
Comment 1•13 years ago
|
||
Perhaps something could be hacked up to use GfxInfo before PR_CreateProcess is used or to use NSPR to wait, but bug 678369 would be the preferred solution.
Reporter | ||
Updated•13 years ago
|
Summary: reftests run without OpenGL layers even when enabled due to NSPR reaping glxtest before GfxInfo → reftests run without OpenGL layers even when enabled due to NSPR reaping glxtest before GfxInfo does
Comment 2•12 years ago
|
||
Should I try to port glxtest to use PR_CreateProcess instead of fork?
Reporter | ||
Comment 3•12 years ago
|
||
I think it is best to avoid PR_CreateProcess. Other libraries also use waitpid and don't expect their children to be stolen, so I don't want any further PR_CreateProcess usage. I'll look at Benoit's idea in bug 718629, assuming that's a duplicate of this.
Reporter | ||
Updated•12 years ago
|
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → DUPLICATE
You need to log in
before you can comment on or make changes to this bug.
Description
•