Closed
Bug 678372
Opened 13 years ago
Closed 13 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•13 years ago
|
||
Should I try to port glxtest to use PR_CreateProcess instead of fork?
Reporter | ||
Comment 3•13 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•13 years ago
|
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → DUPLICATE
You need to log in
before you can comment on or make changes to this bug.
Description
•