[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: [tor-bugs] #28874 [Applications/Tor Browser]: https://browserleaks.com/webgl crashes tab on 64bit Tor Browser for Windows
#28874: https://browserleaks.com/webgl crashes tab on 64bit Tor Browser for Windows
---------------------------------------------+-----------------------------
Reporter: gk | Owner: tbb-team
Type: defect | Status:
| needs_information
Priority: High | Milestone:
Component: Applications/Tor Browser | Version:
Severity: Normal | Resolution:
Keywords: tbb-crash, TorBrowserTeam201812 | Actual Points:
Parent ID: | Points:
Reviewer: | Sponsor:
---------------------------------------------+-----------------------------
Comment (by gk):
Thanks!
Replying to [comment:6 gl]:
> ERR: ensureInitialized(141): D3D compiler module not found.
I guess that's the reason for the trouble you are seeing. The relevant
code around it is:
{{{
#if !defined(ANGLE_ENABLE_WINDOWS_STORE)
#if defined(ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES)
// Find a D3DCompiler module that had already been loaded based on a
predefined list of versions.
static const char *d3dCompilerNames[] =
ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES;
for (size_t i = 0; i < ArraySize(d3dCompilerNames); ++i)
{
if (GetModuleHandleExA(0, d3dCompilerNames[i],
&mD3DCompilerModule))
{
break;
}
}
#endif // ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES
if (!mD3DCompilerModule)
{
// Load the version of the D3DCompiler DLL associated with the
Direct3D version ANGLE was built with.
mD3DCompilerModule = LoadLibrary(D3DCOMPILER_DLL);
}
if (!mD3DCompilerModule)
{
ERR() << "D3D compiler module not found.";
return gl::OutOfMemory() << "D3D compiler module not found.";
}
mD3DCompileFunc =
reinterpret_cast<pD3DCompile>(GetProcAddress(mD3DCompilerModule,
"D3DCompile"));
ASSERT(mD3DCompileFunc);
mD3DDisassembleFunc =
reinterpret_cast<pD3DDisassemble>(GetProcAddress(mD3DCompilerModule,
"D3DDisassemble"));
ASSERT(mD3DDisassembleFunc);
#else
// D3D Shader compiler is linked already into this module, so the
export
// can be directly assigned.
mD3DCompilerModule = nullptr;
mD3DCompileFunc = reinterpret_cast<pD3DCompile>(D3DCompile);
mD3DDisassembleFunc =
reinterpret_cast<pD3DDisassemble>(D3DDisassemble);
#endif
}}}
in HLSLCompiler.cpp
We are not defining `ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES` in
https://dxr.mozilla.org/mozilla-esr60/source/gfx/angle/update-
angle.py#257. But I wonder where `D3DCOMPILER_DLL` is supposed to come
from in our case. From `d3dcompiler.rs`??
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/28874#comment:7>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
_______________________________________________
tor-bugs mailing list
tor-bugs@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs